hwif.h (0c3f3c4f4b15a2c105e1ca882d100048074a2865) | hwif.h (1d84b487bc2d9061bd00203f571e5cb99fe0a312) |
---|---|
1/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 2// Copyright (c) 2018 Synopsys, Inc. and/or its affiliates. 3// stmmac HW Interface Callbacks 4 5#ifndef __STMMAC_HWIF_H__ 6#define __STMMAC_HWIF_H__ 7 8#include <linux/netdevice.h> --- 12 unchanged lines hidden (view full) --- 21({ \ 22 int __result = -EINVAL; \ 23 if ((__priv)->hw->__module && (__priv)->hw->__module->__cname) \ 24 __result = (__priv)->hw->__module->__cname((__arg0), ##__args); \ 25 __result; \ 26}) 27 28struct stmmac_extra_stats; | 1/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 2// Copyright (c) 2018 Synopsys, Inc. and/or its affiliates. 3// stmmac HW Interface Callbacks 4 5#ifndef __STMMAC_HWIF_H__ 6#define __STMMAC_HWIF_H__ 7 8#include <linux/netdevice.h> --- 12 unchanged lines hidden (view full) --- 21({ \ 22 int __result = -EINVAL; \ 23 if ((__priv)->hw->__module && (__priv)->hw->__module->__cname) \ 24 __result = (__priv)->hw->__module->__cname((__arg0), ##__args); \ 25 __result; \ 26}) 27 28struct stmmac_extra_stats; |
29struct stmmac_priv; |
|
29struct stmmac_safety_stats; 30struct dma_desc; 31struct dma_extended_desc; 32struct dma_edesc; 33 34/* Descriptors helpers */ 35struct stmmac_desc_ops { 36 /* DMA RX descriptor ring initialization */ --- 129 unchanged lines hidden (view full) --- 166struct dma_features; 167 168/* Specific DMA helpers */ 169struct stmmac_dma_ops { 170 /* DMA core initialization */ 171 int (*reset)(void __iomem *ioaddr); 172 void (*init)(void __iomem *ioaddr, struct stmmac_dma_cfg *dma_cfg, 173 int atds); | 30struct stmmac_safety_stats; 31struct dma_desc; 32struct dma_extended_desc; 33struct dma_edesc; 34 35/* Descriptors helpers */ 36struct stmmac_desc_ops { 37 /* DMA RX descriptor ring initialization */ --- 129 unchanged lines hidden (view full) --- 167struct dma_features; 168 169/* Specific DMA helpers */ 170struct stmmac_dma_ops { 171 /* DMA core initialization */ 172 int (*reset)(void __iomem *ioaddr); 173 void (*init)(void __iomem *ioaddr, struct stmmac_dma_cfg *dma_cfg, 174 int atds); |
174 void (*init_chan)(void __iomem *ioaddr, | 175 void (*init_chan)(struct stmmac_priv *priv, void __iomem *ioaddr, |
175 struct stmmac_dma_cfg *dma_cfg, u32 chan); | 176 struct stmmac_dma_cfg *dma_cfg, u32 chan); |
176 void (*init_rx_chan)(void __iomem *ioaddr, | 177 void (*init_rx_chan)(struct stmmac_priv *priv, void __iomem *ioaddr, |
177 struct stmmac_dma_cfg *dma_cfg, 178 dma_addr_t phy, u32 chan); | 178 struct stmmac_dma_cfg *dma_cfg, 179 dma_addr_t phy, u32 chan); |
179 void (*init_tx_chan)(void __iomem *ioaddr, | 180 void (*init_tx_chan)(struct stmmac_priv *priv, void __iomem *ioaddr, |
180 struct stmmac_dma_cfg *dma_cfg, 181 dma_addr_t phy, u32 chan); 182 /* Configure the AXI Bus Mode Register */ 183 void (*axi)(void __iomem *ioaddr, struct stmmac_axi *axi); 184 /* Dump DMA registers */ | 181 struct stmmac_dma_cfg *dma_cfg, 182 dma_addr_t phy, u32 chan); 183 /* Configure the AXI Bus Mode Register */ 184 void (*axi)(void __iomem *ioaddr, struct stmmac_axi *axi); 185 /* Dump DMA registers */ |
185 void (*dump_regs)(void __iomem *ioaddr, u32 *reg_space); 186 void (*dma_rx_mode)(void __iomem *ioaddr, int mode, u32 channel, | 186 void (*dump_regs)(struct stmmac_priv *priv, void __iomem *ioaddr, 187 u32 *reg_space); 188 void (*dma_rx_mode)(struct stmmac_priv *priv, void __iomem *ioaddr, 189 int mode, u32 channel, |
187 int fifosz, u8 qmode); | 190 int fifosz, u8 qmode); |
188 void (*dma_tx_mode)(void __iomem *ioaddr, int mode, u32 channel, 189 int fifosz, u8 qmode); | 191 void (*dma_tx_mode)(struct stmmac_priv *priv, void __iomem *ioaddr, 192 int mode, u32 channel, int fifosz, u8 qmode); |
190 /* To track extra statistic (if supported) */ 191 void (*dma_diagnostic_fr)(struct net_device_stats *stats, 192 struct stmmac_extra_stats *x, 193 void __iomem *ioaddr); 194 void (*enable_dma_transmission) (void __iomem *ioaddr); | 193 /* To track extra statistic (if supported) */ 194 void (*dma_diagnostic_fr)(struct net_device_stats *stats, 195 struct stmmac_extra_stats *x, 196 void __iomem *ioaddr); 197 void (*enable_dma_transmission) (void __iomem *ioaddr); |
195 void (*enable_dma_irq)(void __iomem *ioaddr, u32 chan, 196 bool rx, bool tx); 197 void (*disable_dma_irq)(void __iomem *ioaddr, u32 chan, 198 bool rx, bool tx); 199 void (*start_tx)(void __iomem *ioaddr, u32 chan); 200 void (*stop_tx)(void __iomem *ioaddr, u32 chan); 201 void (*start_rx)(void __iomem *ioaddr, u32 chan); 202 void (*stop_rx)(void __iomem *ioaddr, u32 chan); 203 int (*dma_interrupt) (void __iomem *ioaddr, 204 struct stmmac_extra_stats *x, u32 chan, u32 dir); | 198 void (*enable_dma_irq)(struct stmmac_priv *priv, void __iomem *ioaddr, 199 u32 chan, bool rx, bool tx); 200 void (*disable_dma_irq)(struct stmmac_priv *priv, void __iomem *ioaddr, 201 u32 chan, bool rx, bool tx); 202 void (*start_tx)(struct stmmac_priv *priv, void __iomem *ioaddr, 203 u32 chan); 204 void (*stop_tx)(struct stmmac_priv *priv, void __iomem *ioaddr, 205 u32 chan); 206 void (*start_rx)(struct stmmac_priv *priv, void __iomem *ioaddr, 207 u32 chan); 208 void (*stop_rx)(struct stmmac_priv *priv, void __iomem *ioaddr, 209 u32 chan); 210 int (*dma_interrupt)(struct stmmac_priv *priv, void __iomem *ioaddr, 211 struct stmmac_extra_stats *x, u32 chan, u32 dir); |
205 /* If supported then get the optional core features */ 206 int (*get_hw_feature)(void __iomem *ioaddr, 207 struct dma_features *dma_cap); 208 /* Program the HW RX Watchdog */ | 212 /* If supported then get the optional core features */ 213 int (*get_hw_feature)(void __iomem *ioaddr, 214 struct dma_features *dma_cap); 215 /* Program the HW RX Watchdog */ |
209 void (*rx_watchdog)(void __iomem *ioaddr, u32 riwt, u32 queue); 210 void (*set_tx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 211 void (*set_rx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 212 void (*set_rx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 213 void (*set_tx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 214 void (*enable_tso)(void __iomem *ioaddr, bool en, u32 chan); 215 void (*qmode)(void __iomem *ioaddr, u32 channel, u8 qmode); 216 void (*set_bfsize)(void __iomem *ioaddr, int bfsize, u32 chan); 217 void (*enable_sph)(void __iomem *ioaddr, bool en, u32 chan); 218 int (*enable_tbs)(void __iomem *ioaddr, bool en, u32 chan); | 216 void (*rx_watchdog)(struct stmmac_priv *priv, void __iomem *ioaddr, 217 u32 riwt, u32 queue); 218 void (*set_tx_ring_len)(struct stmmac_priv *priv, void __iomem *ioaddr, 219 u32 len, u32 chan); 220 void (*set_rx_ring_len)(struct stmmac_priv *priv, void __iomem *ioaddr, 221 u32 len, u32 chan); 222 void (*set_rx_tail_ptr)(struct stmmac_priv *priv, void __iomem *ioaddr, 223 u32 tail_ptr, u32 chan); 224 void (*set_tx_tail_ptr)(struct stmmac_priv *priv, void __iomem *ioaddr, 225 u32 tail_ptr, u32 chan); 226 void (*enable_tso)(struct stmmac_priv *priv, void __iomem *ioaddr, 227 bool en, u32 chan); 228 void (*qmode)(struct stmmac_priv *priv, void __iomem *ioaddr, 229 u32 channel, u8 qmode); 230 void (*set_bfsize)(struct stmmac_priv *priv, void __iomem *ioaddr, 231 int bfsize, u32 chan); 232 void (*enable_sph)(struct stmmac_priv *priv, void __iomem *ioaddr, 233 bool en, u32 chan); 234 int (*enable_tbs)(struct stmmac_priv *priv, void __iomem *ioaddr, 235 bool en, u32 chan); |
219}; 220 221#define stmmac_dma_init(__priv, __args...) \ 222 stmmac_do_void_callback(__priv, dma, init, __args) 223#define stmmac_init_chan(__priv, __args...) \ | 236}; 237 238#define stmmac_dma_init(__priv, __args...) \ 239 stmmac_do_void_callback(__priv, dma, init, __args) 240#define stmmac_init_chan(__priv, __args...) \ |
224 stmmac_do_void_callback(__priv, dma, init_chan, __args) | 241 stmmac_do_void_callback(__priv, dma, init_chan, __priv, __args) |
225#define stmmac_init_rx_chan(__priv, __args...) \ | 242#define stmmac_init_rx_chan(__priv, __args...) \ |
226 stmmac_do_void_callback(__priv, dma, init_rx_chan, __args) | 243 stmmac_do_void_callback(__priv, dma, init_rx_chan, __priv, __args) |
227#define stmmac_init_tx_chan(__priv, __args...) \ | 244#define stmmac_init_tx_chan(__priv, __args...) \ |
228 stmmac_do_void_callback(__priv, dma, init_tx_chan, __args) | 245 stmmac_do_void_callback(__priv, dma, init_tx_chan, __priv, __args) |
229#define stmmac_axi(__priv, __args...) \ 230 stmmac_do_void_callback(__priv, dma, axi, __args) 231#define stmmac_dump_dma_regs(__priv, __args...) \ | 246#define stmmac_axi(__priv, __args...) \ 247 stmmac_do_void_callback(__priv, dma, axi, __args) 248#define stmmac_dump_dma_regs(__priv, __args...) \ |
232 stmmac_do_void_callback(__priv, dma, dump_regs, __args) | 249 stmmac_do_void_callback(__priv, dma, dump_regs, __priv, __args) |
233#define stmmac_dma_rx_mode(__priv, __args...) \ | 250#define stmmac_dma_rx_mode(__priv, __args...) \ |
234 stmmac_do_void_callback(__priv, dma, dma_rx_mode, __args) | 251 stmmac_do_void_callback(__priv, dma, dma_rx_mode, __priv, __args) |
235#define stmmac_dma_tx_mode(__priv, __args...) \ | 252#define stmmac_dma_tx_mode(__priv, __args...) \ |
236 stmmac_do_void_callback(__priv, dma, dma_tx_mode, __args) | 253 stmmac_do_void_callback(__priv, dma, dma_tx_mode, __priv, __args) |
237#define stmmac_dma_diagnostic_fr(__priv, __args...) \ 238 stmmac_do_void_callback(__priv, dma, dma_diagnostic_fr, __args) 239#define stmmac_enable_dma_transmission(__priv, __args...) \ 240 stmmac_do_void_callback(__priv, dma, enable_dma_transmission, __args) 241#define stmmac_enable_dma_irq(__priv, __args...) \ | 254#define stmmac_dma_diagnostic_fr(__priv, __args...) \ 255 stmmac_do_void_callback(__priv, dma, dma_diagnostic_fr, __args) 256#define stmmac_enable_dma_transmission(__priv, __args...) \ 257 stmmac_do_void_callback(__priv, dma, enable_dma_transmission, __args) 258#define stmmac_enable_dma_irq(__priv, __args...) \ |
242 stmmac_do_void_callback(__priv, dma, enable_dma_irq, __args) | 259 stmmac_do_void_callback(__priv, dma, enable_dma_irq, __priv, __args) |
243#define stmmac_disable_dma_irq(__priv, __args...) \ | 260#define stmmac_disable_dma_irq(__priv, __args...) \ |
244 stmmac_do_void_callback(__priv, dma, disable_dma_irq, __args) | 261 stmmac_do_void_callback(__priv, dma, disable_dma_irq, __priv, __args) |
245#define stmmac_start_tx(__priv, __args...) \ | 262#define stmmac_start_tx(__priv, __args...) \ |
246 stmmac_do_void_callback(__priv, dma, start_tx, __args) | 263 stmmac_do_void_callback(__priv, dma, start_tx, __priv, __args) |
247#define stmmac_stop_tx(__priv, __args...) \ | 264#define stmmac_stop_tx(__priv, __args...) \ |
248 stmmac_do_void_callback(__priv, dma, stop_tx, __args) | 265 stmmac_do_void_callback(__priv, dma, stop_tx, __priv, __args) |
249#define stmmac_start_rx(__priv, __args...) \ | 266#define stmmac_start_rx(__priv, __args...) \ |
250 stmmac_do_void_callback(__priv, dma, start_rx, __args) | 267 stmmac_do_void_callback(__priv, dma, start_rx, __priv, __args) |
251#define stmmac_stop_rx(__priv, __args...) \ | 268#define stmmac_stop_rx(__priv, __args...) \ |
252 stmmac_do_void_callback(__priv, dma, stop_rx, __args) | 269 stmmac_do_void_callback(__priv, dma, stop_rx, __priv, __args) |
253#define stmmac_dma_interrupt_status(__priv, __args...) \ | 270#define stmmac_dma_interrupt_status(__priv, __args...) \ |
254 stmmac_do_callback(__priv, dma, dma_interrupt, __args) | 271 stmmac_do_callback(__priv, dma, dma_interrupt, __priv, __args) |
255#define stmmac_get_hw_feature(__priv, __args...) \ 256 stmmac_do_callback(__priv, dma, get_hw_feature, __args) 257#define stmmac_rx_watchdog(__priv, __args...) \ | 272#define stmmac_get_hw_feature(__priv, __args...) \ 273 stmmac_do_callback(__priv, dma, get_hw_feature, __args) 274#define stmmac_rx_watchdog(__priv, __args...) \ |
258 stmmac_do_void_callback(__priv, dma, rx_watchdog, __args) | 275 stmmac_do_void_callback(__priv, dma, rx_watchdog, __priv, __args) |
259#define stmmac_set_tx_ring_len(__priv, __args...) \ | 276#define stmmac_set_tx_ring_len(__priv, __args...) \ |
260 stmmac_do_void_callback(__priv, dma, set_tx_ring_len, __args) | 277 stmmac_do_void_callback(__priv, dma, set_tx_ring_len, __priv, __args) |
261#define stmmac_set_rx_ring_len(__priv, __args...) \ | 278#define stmmac_set_rx_ring_len(__priv, __args...) \ |
262 stmmac_do_void_callback(__priv, dma, set_rx_ring_len, __args) | 279 stmmac_do_void_callback(__priv, dma, set_rx_ring_len, __priv, __args) |
263#define stmmac_set_rx_tail_ptr(__priv, __args...) \ | 280#define stmmac_set_rx_tail_ptr(__priv, __args...) \ |
264 stmmac_do_void_callback(__priv, dma, set_rx_tail_ptr, __args) | 281 stmmac_do_void_callback(__priv, dma, set_rx_tail_ptr, __priv, __args) |
265#define stmmac_set_tx_tail_ptr(__priv, __args...) \ | 282#define stmmac_set_tx_tail_ptr(__priv, __args...) \ |
266 stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __args) | 283 stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __priv, __args) |
267#define stmmac_enable_tso(__priv, __args...) \ | 284#define stmmac_enable_tso(__priv, __args...) \ |
268 stmmac_do_void_callback(__priv, dma, enable_tso, __args) | 285 stmmac_do_void_callback(__priv, dma, enable_tso, __priv, __args) |
269#define stmmac_dma_qmode(__priv, __args...) \ | 286#define stmmac_dma_qmode(__priv, __args...) \ |
270 stmmac_do_void_callback(__priv, dma, qmode, __args) | 287 stmmac_do_void_callback(__priv, dma, qmode, __priv, __args) |
271#define stmmac_set_dma_bfsize(__priv, __args...) \ | 288#define stmmac_set_dma_bfsize(__priv, __args...) \ |
272 stmmac_do_void_callback(__priv, dma, set_bfsize, __args) | 289 stmmac_do_void_callback(__priv, dma, set_bfsize, __priv, __args) |
273#define stmmac_enable_sph(__priv, __args...) \ | 290#define stmmac_enable_sph(__priv, __args...) \ |
274 stmmac_do_void_callback(__priv, dma, enable_sph, __args) | 291 stmmac_do_void_callback(__priv, dma, enable_sph, __priv, __args) |
275#define stmmac_enable_tbs(__priv, __args...) \ | 292#define stmmac_enable_tbs(__priv, __args...) \ |
276 stmmac_do_callback(__priv, dma, enable_tbs, __args) | 293 stmmac_do_callback(__priv, dma, enable_tbs, __priv, __args) |
277 278struct mac_device_info; 279struct net_device; 280struct rgmii_adv; 281struct stmmac_tc_entry; 282struct stmmac_pps_cfg; 283struct stmmac_rss; 284struct stmmac_est; --- 15 unchanged lines hidden (view full) --- 300 /* RX Queues Routing */ 301 void (*rx_queue_routing)(struct mac_device_info *hw, u8 packet, 302 u32 queue); 303 /* Program RX Algorithms */ 304 void (*prog_mtl_rx_algorithms)(struct mac_device_info *hw, u32 rx_alg); 305 /* Program TX Algorithms */ 306 void (*prog_mtl_tx_algorithms)(struct mac_device_info *hw, u32 tx_alg); 307 /* Set MTL TX queues weight */ | 294 295struct mac_device_info; 296struct net_device; 297struct rgmii_adv; 298struct stmmac_tc_entry; 299struct stmmac_pps_cfg; 300struct stmmac_rss; 301struct stmmac_est; --- 15 unchanged lines hidden (view full) --- 317 /* RX Queues Routing */ 318 void (*rx_queue_routing)(struct mac_device_info *hw, u8 packet, 319 u32 queue); 320 /* Program RX Algorithms */ 321 void (*prog_mtl_rx_algorithms)(struct mac_device_info *hw, u32 rx_alg); 322 /* Program TX Algorithms */ 323 void (*prog_mtl_tx_algorithms)(struct mac_device_info *hw, u32 tx_alg); 324 /* Set MTL TX queues weight */ |
308 void (*set_mtl_tx_queue_weight)(struct mac_device_info *hw, | 325 void (*set_mtl_tx_queue_weight)(struct stmmac_priv *priv, 326 struct mac_device_info *hw, |
309 u32 weight, u32 queue); 310 /* RX MTL queue to RX dma mapping */ 311 void (*map_mtl_to_dma)(struct mac_device_info *hw, u32 queue, u32 chan); 312 /* Configure AV Algorithm */ | 327 u32 weight, u32 queue); 328 /* RX MTL queue to RX dma mapping */ 329 void (*map_mtl_to_dma)(struct mac_device_info *hw, u32 queue, u32 chan); 330 /* Configure AV Algorithm */ |
313 void (*config_cbs)(struct mac_device_info *hw, u32 send_slope, 314 u32 idle_slope, u32 high_credit, u32 low_credit, 315 u32 queue); | 331 void (*config_cbs)(struct stmmac_priv *priv, struct mac_device_info *hw, 332 u32 send_slope, u32 idle_slope, u32 high_credit, 333 u32 low_credit, u32 queue); |
316 /* Dump MAC registers */ 317 void (*dump_regs)(struct mac_device_info *hw, u32 *reg_space); 318 /* Handle extra events on specific interrupts hw dependent */ 319 int (*host_irq_status)(struct mac_device_info *hw, 320 struct stmmac_extra_stats *x); 321 /* Handle MTL interrupts */ | 334 /* Dump MAC registers */ 335 void (*dump_regs)(struct mac_device_info *hw, u32 *reg_space); 336 /* Handle extra events on specific interrupts hw dependent */ 337 int (*host_irq_status)(struct mac_device_info *hw, 338 struct stmmac_extra_stats *x); 339 /* Handle MTL interrupts */ |
322 int (*host_mtl_irq_status)(struct mac_device_info *hw, u32 chan); | 340 int (*host_mtl_irq_status)(struct stmmac_priv *priv, 341 struct mac_device_info *hw, u32 chan); |
323 /* Multicast filter setting */ 324 void (*set_filter)(struct mac_device_info *hw, struct net_device *dev); 325 /* Flow control setting */ 326 void (*flow_ctrl)(struct mac_device_info *hw, unsigned int duplex, 327 unsigned int fc, unsigned int pause_time, u32 tx_cnt); 328 /* Set power management mode (e.g. magic frame) */ 329 void (*pmt)(struct mac_device_info *hw, unsigned long mode); 330 /* Set/Get Unicast MAC addresses */ 331 void (*set_umac_addr)(struct mac_device_info *hw, 332 const unsigned char *addr, 333 unsigned int reg_n); 334 void (*get_umac_addr)(struct mac_device_info *hw, unsigned char *addr, 335 unsigned int reg_n); 336 void (*set_eee_mode)(struct mac_device_info *hw, 337 bool en_tx_lpi_clockgating); 338 void (*reset_eee_mode)(struct mac_device_info *hw); 339 void (*set_eee_lpi_entry_timer)(struct mac_device_info *hw, int et); 340 void (*set_eee_timer)(struct mac_device_info *hw, int ls, int tw); 341 void (*set_eee_pls)(struct mac_device_info *hw, int link); | 342 /* Multicast filter setting */ 343 void (*set_filter)(struct mac_device_info *hw, struct net_device *dev); 344 /* Flow control setting */ 345 void (*flow_ctrl)(struct mac_device_info *hw, unsigned int duplex, 346 unsigned int fc, unsigned int pause_time, u32 tx_cnt); 347 /* Set power management mode (e.g. magic frame) */ 348 void (*pmt)(struct mac_device_info *hw, unsigned long mode); 349 /* Set/Get Unicast MAC addresses */ 350 void (*set_umac_addr)(struct mac_device_info *hw, 351 const unsigned char *addr, 352 unsigned int reg_n); 353 void (*get_umac_addr)(struct mac_device_info *hw, unsigned char *addr, 354 unsigned int reg_n); 355 void (*set_eee_mode)(struct mac_device_info *hw, 356 bool en_tx_lpi_clockgating); 357 void (*reset_eee_mode)(struct mac_device_info *hw); 358 void (*set_eee_lpi_entry_timer)(struct mac_device_info *hw, int et); 359 void (*set_eee_timer)(struct mac_device_info *hw, int ls, int tw); 360 void (*set_eee_pls)(struct mac_device_info *hw, int link); |
342 void (*debug)(void __iomem *ioaddr, struct stmmac_extra_stats *x, 343 u32 rx_queues, u32 tx_queues); | 361 void (*debug)(struct stmmac_priv *priv, void __iomem *ioaddr, 362 struct stmmac_extra_stats *x, u32 rx_queues, 363 u32 tx_queues); |
344 /* PCS calls */ 345 void (*pcs_ctrl_ane)(void __iomem *ioaddr, bool ane, bool srgmi_ral, 346 bool loopback); 347 void (*pcs_rane)(void __iomem *ioaddr, bool restart); 348 void (*pcs_get_adv_lp)(void __iomem *ioaddr, struct rgmii_adv *adv); 349 /* Safety Features */ 350 int (*safety_feat_config)(void __iomem *ioaddr, unsigned int asp, 351 struct stmmac_safety_feature_cfg *safety_cfg); --- 63 unchanged lines hidden (view full) --- 415 stmmac_do_void_callback(__priv, mac, tx_queue_prio, __args) 416#define stmmac_rx_queue_routing(__priv, __args...) \ 417 stmmac_do_void_callback(__priv, mac, rx_queue_routing, __args) 418#define stmmac_prog_mtl_rx_algorithms(__priv, __args...) \ 419 stmmac_do_void_callback(__priv, mac, prog_mtl_rx_algorithms, __args) 420#define stmmac_prog_mtl_tx_algorithms(__priv, __args...) \ 421 stmmac_do_void_callback(__priv, mac, prog_mtl_tx_algorithms, __args) 422#define stmmac_set_mtl_tx_queue_weight(__priv, __args...) \ | 364 /* PCS calls */ 365 void (*pcs_ctrl_ane)(void __iomem *ioaddr, bool ane, bool srgmi_ral, 366 bool loopback); 367 void (*pcs_rane)(void __iomem *ioaddr, bool restart); 368 void (*pcs_get_adv_lp)(void __iomem *ioaddr, struct rgmii_adv *adv); 369 /* Safety Features */ 370 int (*safety_feat_config)(void __iomem *ioaddr, unsigned int asp, 371 struct stmmac_safety_feature_cfg *safety_cfg); --- 63 unchanged lines hidden (view full) --- 435 stmmac_do_void_callback(__priv, mac, tx_queue_prio, __args) 436#define stmmac_rx_queue_routing(__priv, __args...) \ 437 stmmac_do_void_callback(__priv, mac, rx_queue_routing, __args) 438#define stmmac_prog_mtl_rx_algorithms(__priv, __args...) \ 439 stmmac_do_void_callback(__priv, mac, prog_mtl_rx_algorithms, __args) 440#define stmmac_prog_mtl_tx_algorithms(__priv, __args...) \ 441 stmmac_do_void_callback(__priv, mac, prog_mtl_tx_algorithms, __args) 442#define stmmac_set_mtl_tx_queue_weight(__priv, __args...) \ |
423 stmmac_do_void_callback(__priv, mac, set_mtl_tx_queue_weight, __args) | 443 stmmac_do_void_callback(__priv, mac, set_mtl_tx_queue_weight, __priv, __args) |
424#define stmmac_map_mtl_to_dma(__priv, __args...) \ 425 stmmac_do_void_callback(__priv, mac, map_mtl_to_dma, __args) 426#define stmmac_config_cbs(__priv, __args...) \ | 444#define stmmac_map_mtl_to_dma(__priv, __args...) \ 445 stmmac_do_void_callback(__priv, mac, map_mtl_to_dma, __args) 446#define stmmac_config_cbs(__priv, __args...) \ |
427 stmmac_do_void_callback(__priv, mac, config_cbs, __args) | 447 stmmac_do_void_callback(__priv, mac, config_cbs, __priv, __args) |
428#define stmmac_dump_mac_regs(__priv, __args...) \ 429 stmmac_do_void_callback(__priv, mac, dump_regs, __args) 430#define stmmac_host_irq_status(__priv, __args...) \ 431 stmmac_do_callback(__priv, mac, host_irq_status, __args) 432#define stmmac_host_mtl_irq_status(__priv, __args...) \ | 448#define stmmac_dump_mac_regs(__priv, __args...) \ 449 stmmac_do_void_callback(__priv, mac, dump_regs, __args) 450#define stmmac_host_irq_status(__priv, __args...) \ 451 stmmac_do_callback(__priv, mac, host_irq_status, __args) 452#define stmmac_host_mtl_irq_status(__priv, __args...) \ |
433 stmmac_do_callback(__priv, mac, host_mtl_irq_status, __args) | 453 stmmac_do_callback(__priv, mac, host_mtl_irq_status, __priv, __args) |
434#define stmmac_set_filter(__priv, __args...) \ 435 stmmac_do_void_callback(__priv, mac, set_filter, __args) 436#define stmmac_flow_ctrl(__priv, __args...) \ 437 stmmac_do_void_callback(__priv, mac, flow_ctrl, __args) 438#define stmmac_pmt(__priv, __args...) \ 439 stmmac_do_void_callback(__priv, mac, pmt, __args) 440#define stmmac_set_umac_addr(__priv, __args...) \ 441 stmmac_do_void_callback(__priv, mac, set_umac_addr, __args) --- 5 unchanged lines hidden (view full) --- 447 stmmac_do_void_callback(__priv, mac, reset_eee_mode, __args) 448#define stmmac_set_eee_lpi_timer(__priv, __args...) \ 449 stmmac_do_void_callback(__priv, mac, set_eee_lpi_entry_timer, __args) 450#define stmmac_set_eee_timer(__priv, __args...) \ 451 stmmac_do_void_callback(__priv, mac, set_eee_timer, __args) 452#define stmmac_set_eee_pls(__priv, __args...) \ 453 stmmac_do_void_callback(__priv, mac, set_eee_pls, __args) 454#define stmmac_mac_debug(__priv, __args...) \ | 454#define stmmac_set_filter(__priv, __args...) \ 455 stmmac_do_void_callback(__priv, mac, set_filter, __args) 456#define stmmac_flow_ctrl(__priv, __args...) \ 457 stmmac_do_void_callback(__priv, mac, flow_ctrl, __args) 458#define stmmac_pmt(__priv, __args...) \ 459 stmmac_do_void_callback(__priv, mac, pmt, __args) 460#define stmmac_set_umac_addr(__priv, __args...) \ 461 stmmac_do_void_callback(__priv, mac, set_umac_addr, __args) --- 5 unchanged lines hidden (view full) --- 467 stmmac_do_void_callback(__priv, mac, reset_eee_mode, __args) 468#define stmmac_set_eee_lpi_timer(__priv, __args...) \ 469 stmmac_do_void_callback(__priv, mac, set_eee_lpi_entry_timer, __args) 470#define stmmac_set_eee_timer(__priv, __args...) \ 471 stmmac_do_void_callback(__priv, mac, set_eee_timer, __args) 472#define stmmac_set_eee_pls(__priv, __args...) \ 473 stmmac_do_void_callback(__priv, mac, set_eee_pls, __args) 474#define stmmac_mac_debug(__priv, __args...) \ |
455 stmmac_do_void_callback(__priv, mac, debug, __args) | 475 stmmac_do_void_callback(__priv, mac, debug, __priv, __args) |
456#define stmmac_pcs_ctrl_ane(__priv, __args...) \ 457 stmmac_do_void_callback(__priv, mac, pcs_ctrl_ane, __args) 458#define stmmac_pcs_rane(__priv, __args...) \ | 476#define stmmac_pcs_ctrl_ane(__priv, __args...) \ 477 stmmac_do_void_callback(__priv, mac, pcs_ctrl_ane, __args) 478#define stmmac_pcs_rane(__priv, __args...) \ |
459 stmmac_do_void_callback(__priv, mac, pcs_rane, __args) | 479 stmmac_do_void_callback(__priv, mac, pcs_rane, __priv, __args) |
460#define stmmac_pcs_get_adv_lp(__priv, __args...) \ 461 stmmac_do_void_callback(__priv, mac, pcs_get_adv_lp, __args) 462#define stmmac_safety_feat_config(__priv, __args...) \ 463 stmmac_do_callback(__priv, mac, safety_feat_config, __args) 464#define stmmac_safety_feat_irq_status(__priv, __args...) \ 465 stmmac_do_callback(__priv, mac, safety_feat_irq_status, __args) 466#define stmmac_safety_feat_dump(__priv, __args...) \ 467 stmmac_do_callback(__priv, mac, safety_feat_dump, __args) --- 31 unchanged lines hidden (view full) --- 499 stmmac_do_void_callback(__priv, mac, est_irq_status, __args) 500#define stmmac_fpe_configure(__priv, __args...) \ 501 stmmac_do_void_callback(__priv, mac, fpe_configure, __args) 502#define stmmac_fpe_send_mpacket(__priv, __args...) \ 503 stmmac_do_void_callback(__priv, mac, fpe_send_mpacket, __args) 504#define stmmac_fpe_irq_status(__priv, __args...) \ 505 stmmac_do_callback(__priv, mac, fpe_irq_status, __args) 506 | 480#define stmmac_pcs_get_adv_lp(__priv, __args...) \ 481 stmmac_do_void_callback(__priv, mac, pcs_get_adv_lp, __args) 482#define stmmac_safety_feat_config(__priv, __args...) \ 483 stmmac_do_callback(__priv, mac, safety_feat_config, __args) 484#define stmmac_safety_feat_irq_status(__priv, __args...) \ 485 stmmac_do_callback(__priv, mac, safety_feat_irq_status, __args) 486#define stmmac_safety_feat_dump(__priv, __args...) \ 487 stmmac_do_callback(__priv, mac, safety_feat_dump, __args) --- 31 unchanged lines hidden (view full) --- 519 stmmac_do_void_callback(__priv, mac, est_irq_status, __args) 520#define stmmac_fpe_configure(__priv, __args...) \ 521 stmmac_do_void_callback(__priv, mac, fpe_configure, __args) 522#define stmmac_fpe_send_mpacket(__priv, __args...) \ 523 stmmac_do_void_callback(__priv, mac, fpe_send_mpacket, __args) 524#define stmmac_fpe_irq_status(__priv, __args...) \ 525 stmmac_do_callback(__priv, mac, fpe_irq_status, __args) 526 |
507struct stmmac_priv; 508 | |
509/* PTP and HW Timer helpers */ 510struct stmmac_hwtimestamp { 511 void (*config_hw_tstamping) (void __iomem *ioaddr, u32 data); 512 void (*config_sub_second_increment)(void __iomem *ioaddr, u32 ptp_clock, 513 int gmac4, u32 *ssinc); 514 int (*init_systime) (void __iomem *ioaddr, u32 sec, u32 nsec); 515 int (*config_addend) (void __iomem *ioaddr, u32 addend); 516 int (*adjust_systime) (void __iomem *ioaddr, u32 sec, u32 nsec, --- 136 unchanged lines hidden --- | 527/* PTP and HW Timer helpers */ 528struct stmmac_hwtimestamp { 529 void (*config_hw_tstamping) (void __iomem *ioaddr, u32 data); 530 void (*config_sub_second_increment)(void __iomem *ioaddr, u32 ptp_clock, 531 int gmac4, u32 *ssinc); 532 int (*init_systime) (void __iomem *ioaddr, u32 sec, u32 nsec); 533 int (*config_addend) (void __iomem *ioaddr, u32 addend); 534 int (*adjust_systime) (void __iomem *ioaddr, u32 sec, u32 nsec, --- 136 unchanged lines hidden --- |