]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/6.6.26/i40e-split-i40e_osdep.h.patch
Linux 6.6.26
[thirdparty/kernel/stable-queue.git] / releases / 6.6.26 / i40e-split-i40e_osdep.h.patch
1 From 5577b3fca6c290696106f13776e8f8ce550f35b2 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Wed, 27 Sep 2023 10:31:33 +0200
4 Subject: i40e: Split i40e_osdep.h
5
6 From: Ivan Vecera <ivecera@redhat.com>
7
8 [ Upstream commit 5dfd37c37a44ba47c35ff8e6eaff14c226141111 ]
9
10 Header i40e_osdep.h contains only IO primitives and couple of debug
11 printing macros. Split this header file to i40e_io.h and i40e_debug.h
12 and move i40e_debug_mask enum to i40e_debug.h
13
14 Signed-off-by: Ivan Vecera <ivecera@redhat.com>
15 Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
16 Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
17 Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
18 Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
19 Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
20 Stable-dep-of: 6dbdd4de0362 ("e1000e: Workaround for sporadic MDI error on Meteor Lake systems")
21 Signed-off-by: Sasha Levin <sashal@kernel.org>
22 ---
23 drivers/net/ethernet/intel/i40e/i40e_adminq.h | 2 +-
24 drivers/net/ethernet/intel/i40e/i40e_debug.h | 47 +++++++++++++++++++
25 drivers/net/ethernet/intel/i40e/i40e_hmc.c | 1 -
26 drivers/net/ethernet/intel/i40e/i40e_io.h | 16 +++++++
27 .../net/ethernet/intel/i40e/i40e_lan_hmc.c | 1 -
28 drivers/net/ethernet/intel/i40e/i40e_osdep.h | 40 ----------------
29 .../net/ethernet/intel/i40e/i40e_prototype.h | 1 +
30 drivers/net/ethernet/intel/i40e/i40e_type.h | 31 ++----------
31 8 files changed, 68 insertions(+), 71 deletions(-)
32 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_debug.h
33 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_io.h
34 delete mode 100644 drivers/net/ethernet/intel/i40e/i40e_osdep.h
35
36 diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.h b/drivers/net/ethernet/intel/i40e/i40e_adminq.h
37 index 1c3d2bc5c3f79..80125bea80a2a 100644
38 --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.h
39 +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.h
40 @@ -4,8 +4,8 @@
41 #ifndef _I40E_ADMINQ_H_
42 #define _I40E_ADMINQ_H_
43
44 +#include <linux/mutex.h>
45 #include "i40e_alloc.h"
46 -#include "i40e_osdep.h"
47 #include "i40e_adminq_cmd.h"
48
49 #define I40E_ADMINQ_DESC(R, i) \
50 diff --git a/drivers/net/ethernet/intel/i40e/i40e_debug.h b/drivers/net/ethernet/intel/i40e/i40e_debug.h
51 new file mode 100644
52 index 0000000000000..27ebc72d8bfe5
53 --- /dev/null
54 +++ b/drivers/net/ethernet/intel/i40e/i40e_debug.h
55 @@ -0,0 +1,47 @@
56 +/* SPDX-License-Identifier: GPL-2.0 */
57 +/* Copyright(c) 2023 Intel Corporation. */
58 +
59 +#ifndef _I40E_DEBUG_H_
60 +#define _I40E_DEBUG_H_
61 +
62 +#include <linux/dev_printk.h>
63 +
64 +/* debug masks - set these bits in hw->debug_mask to control output */
65 +enum i40e_debug_mask {
66 + I40E_DEBUG_INIT = 0x00000001,
67 + I40E_DEBUG_RELEASE = 0x00000002,
68 +
69 + I40E_DEBUG_LINK = 0x00000010,
70 + I40E_DEBUG_PHY = 0x00000020,
71 + I40E_DEBUG_HMC = 0x00000040,
72 + I40E_DEBUG_NVM = 0x00000080,
73 + I40E_DEBUG_LAN = 0x00000100,
74 + I40E_DEBUG_FLOW = 0x00000200,
75 + I40E_DEBUG_DCB = 0x00000400,
76 + I40E_DEBUG_DIAG = 0x00000800,
77 + I40E_DEBUG_FD = 0x00001000,
78 + I40E_DEBUG_PACKAGE = 0x00002000,
79 + I40E_DEBUG_IWARP = 0x00F00000,
80 + I40E_DEBUG_AQ_MESSAGE = 0x01000000,
81 + I40E_DEBUG_AQ_DESCRIPTOR = 0x02000000,
82 + I40E_DEBUG_AQ_DESC_BUFFER = 0x04000000,
83 + I40E_DEBUG_AQ_COMMAND = 0x06000000,
84 + I40E_DEBUG_AQ = 0x0F000000,
85 +
86 + I40E_DEBUG_USER = 0xF0000000,
87 +
88 + I40E_DEBUG_ALL = 0xFFFFFFFF
89 +};
90 +
91 +struct i40e_hw;
92 +struct device *i40e_hw_to_dev(struct i40e_hw *hw);
93 +
94 +#define hw_dbg(hw, S, A...) dev_dbg(i40e_hw_to_dev(hw), S, ##A)
95 +
96 +#define i40e_debug(h, m, s, ...) \
97 +do { \
98 + if (((m) & (h)->debug_mask)) \
99 + dev_info(i40e_hw_to_dev(hw), s, ##__VA_ARGS__); \
100 +} while (0)
101 +
102 +#endif /* _I40E_DEBUG_H_ */
103 diff --git a/drivers/net/ethernet/intel/i40e/i40e_hmc.c b/drivers/net/ethernet/intel/i40e/i40e_hmc.c
104 index 7451d346ae83f..b383aea652f3e 100644
105 --- a/drivers/net/ethernet/intel/i40e/i40e_hmc.c
106 +++ b/drivers/net/ethernet/intel/i40e/i40e_hmc.c
107 @@ -2,7 +2,6 @@
108 /* Copyright(c) 2013 - 2018 Intel Corporation. */
109
110 #include "i40e.h"
111 -#include "i40e_osdep.h"
112 #include "i40e_register.h"
113 #include "i40e_alloc.h"
114 #include "i40e_hmc.h"
115 diff --git a/drivers/net/ethernet/intel/i40e/i40e_io.h b/drivers/net/ethernet/intel/i40e/i40e_io.h
116 new file mode 100644
117 index 0000000000000..2a2ed9a1d476b
118 --- /dev/null
119 +++ b/drivers/net/ethernet/intel/i40e/i40e_io.h
120 @@ -0,0 +1,16 @@
121 +/* SPDX-License-Identifier: GPL-2.0 */
122 +/* Copyright(c) 2023 Intel Corporation. */
123 +
124 +#ifndef _I40E_IO_H_
125 +#define _I40E_IO_H_
126 +
127 +/* get readq/writeq support for 32 bit kernels, use the low-first version */
128 +#include <linux/io-64-nonatomic-lo-hi.h>
129 +
130 +#define wr32(a, reg, value) writel((value), ((a)->hw_addr + (reg)))
131 +#define rd32(a, reg) readl((a)->hw_addr + (reg))
132 +
133 +#define rd64(a, reg) readq((a)->hw_addr + (reg))
134 +#define i40e_flush(a) readl((a)->hw_addr + I40E_GLGEN_STAT)
135 +
136 +#endif /* _I40E_IO_H_ */
137 diff --git a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
138 index 474365bf06480..830f1de254ef4 100644
139 --- a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
140 +++ b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
141 @@ -2,7 +2,6 @@
142 /* Copyright(c) 2013 - 2018 Intel Corporation. */
143
144 #include "i40e.h"
145 -#include "i40e_osdep.h"
146 #include "i40e_register.h"
147 #include "i40e_type.h"
148 #include "i40e_hmc.h"
149 diff --git a/drivers/net/ethernet/intel/i40e/i40e_osdep.h b/drivers/net/ethernet/intel/i40e/i40e_osdep.h
150 deleted file mode 100644
151 index fd18895cfb56b..0000000000000
152 --- a/drivers/net/ethernet/intel/i40e/i40e_osdep.h
153 +++ /dev/null
154 @@ -1,40 +0,0 @@
155 -/* SPDX-License-Identifier: GPL-2.0 */
156 -/* Copyright(c) 2013 - 2018 Intel Corporation. */
157 -
158 -#ifndef _I40E_OSDEP_H_
159 -#define _I40E_OSDEP_H_
160 -
161 -#include <linux/types.h>
162 -#include <linux/if_ether.h>
163 -#include <linux/if_vlan.h>
164 -#include <linux/tcp.h>
165 -#include <linux/pci.h>
166 -#include <linux/highuid.h>
167 -
168 -/* get readq/writeq support for 32 bit kernels, use the low-first version */
169 -#include <linux/io-64-nonatomic-lo-hi.h>
170 -
171 -/* File to be the magic between shared code and
172 - * actual OS primitives
173 - */
174 -
175 -struct i40e_hw;
176 -struct device *i40e_hw_to_dev(struct i40e_hw *hw);
177 -
178 -#define hw_dbg(hw, S, A...) dev_dbg(i40e_hw_to_dev(hw), S, ##A)
179 -
180 -#define wr32(a, reg, value) writel((value), ((a)->hw_addr + (reg)))
181 -#define rd32(a, reg) readl((a)->hw_addr + (reg))
182 -
183 -#define rd64(a, reg) readq((a)->hw_addr + (reg))
184 -#define i40e_flush(a) readl((a)->hw_addr + I40E_GLGEN_STAT)
185 -
186 -#define i40e_debug(h, m, s, ...) \
187 -do { \
188 - if (((m) & (h)->debug_mask)) \
189 - pr_info("i40e %02x:%02x.%x " s, \
190 - (h)->bus.bus_id, (h)->bus.device, \
191 - (h)->bus.func, ##__VA_ARGS__); \
192 -} while (0)
193 -
194 -#endif /* _I40E_OSDEP_H_ */
195 diff --git a/drivers/net/ethernet/intel/i40e/i40e_prototype.h b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
196 index 3eeee224f1fb2..9c9234c0706f0 100644
197 --- a/drivers/net/ethernet/intel/i40e/i40e_prototype.h
198 +++ b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
199 @@ -6,6 +6,7 @@
200
201 #include "i40e_type.h"
202 #include "i40e_alloc.h"
203 +#include "i40e_debug.h"
204 #include <linux/avf/virtchnl.h>
205
206 /* Prototypes for shared code functions that are not in
207 diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
208 index d4c6afe84fdd2..44cea0f4f908d 100644
209 --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
210 +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
211 @@ -4,7 +4,9 @@
212 #ifndef _I40E_TYPE_H_
213 #define _I40E_TYPE_H_
214
215 -#include "i40e_osdep.h"
216 +#include <linux/delay.h>
217 +#include <linux/if_ether.h>
218 +#include "i40e_io.h"
219 #include "i40e_register.h"
220 #include "i40e_adminq.h"
221 #include "i40e_hmc.h"
222 @@ -43,33 +45,6 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
223 #define I40E_QTX_CTL_VM_QUEUE 0x1
224 #define I40E_QTX_CTL_PF_QUEUE 0x2
225
226 -/* debug masks - set these bits in hw->debug_mask to control output */
227 -enum i40e_debug_mask {
228 - I40E_DEBUG_INIT = 0x00000001,
229 - I40E_DEBUG_RELEASE = 0x00000002,
230 -
231 - I40E_DEBUG_LINK = 0x00000010,
232 - I40E_DEBUG_PHY = 0x00000020,
233 - I40E_DEBUG_HMC = 0x00000040,
234 - I40E_DEBUG_NVM = 0x00000080,
235 - I40E_DEBUG_LAN = 0x00000100,
236 - I40E_DEBUG_FLOW = 0x00000200,
237 - I40E_DEBUG_DCB = 0x00000400,
238 - I40E_DEBUG_DIAG = 0x00000800,
239 - I40E_DEBUG_FD = 0x00001000,
240 - I40E_DEBUG_PACKAGE = 0x00002000,
241 - I40E_DEBUG_IWARP = 0x00F00000,
242 - I40E_DEBUG_AQ_MESSAGE = 0x01000000,
243 - I40E_DEBUG_AQ_DESCRIPTOR = 0x02000000,
244 - I40E_DEBUG_AQ_DESC_BUFFER = 0x04000000,
245 - I40E_DEBUG_AQ_COMMAND = 0x06000000,
246 - I40E_DEBUG_AQ = 0x0F000000,
247 -
248 - I40E_DEBUG_USER = 0xF0000000,
249 -
250 - I40E_DEBUG_ALL = 0xFFFFFFFF
251 -};
252 -
253 #define I40E_MDIO_CLAUSE22_STCODE_MASK I40E_GLGEN_MSCA_STCODE_MASK
254 #define I40E_MDIO_CLAUSE22_OPCODE_WRITE_MASK I40E_GLGEN_MSCA_OPCODE_MASK(1)
255 #define I40E_MDIO_CLAUSE22_OPCODE_READ_MASK I40E_GLGEN_MSCA_OPCODE_MASK(2)
256 --
257 2.43.0
258