hwif.h (25e80cd05ff81e51750106f1ae12364449ec38e7) | hwif.h (67afd6d1cfdf0d0461fe3c4c922447f3e9b1c6ee) |
---|---|
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> --- 75 unchanged lines hidden (view full) --- 84 void (*get_addr)(struct dma_desc *p, unsigned int *addr); 85 /* set descriptor skbuff address */ 86 void (*set_addr)(struct dma_desc *p, dma_addr_t addr); 87 /* clear descriptor */ 88 void (*clear)(struct dma_desc *p); 89 /* RSS */ 90 int (*get_rx_hash)(struct dma_desc *p, u32 *hash, 91 enum pkt_hash_types *type); | 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> --- 75 unchanged lines hidden (view full) --- 84 void (*get_addr)(struct dma_desc *p, unsigned int *addr); 85 /* set descriptor skbuff address */ 86 void (*set_addr)(struct dma_desc *p, dma_addr_t addr); 87 /* clear descriptor */ 88 void (*clear)(struct dma_desc *p); 89 /* RSS */ 90 int (*get_rx_hash)(struct dma_desc *p, u32 *hash, 91 enum pkt_hash_types *type); |
92 int (*get_rx_header_len)(struct dma_desc *p, unsigned int *len); 93 void (*set_sec_addr)(struct dma_desc *p, dma_addr_t addr); |
|
92}; 93 94#define stmmac_init_rx_desc(__priv, __args...) \ 95 stmmac_do_void_callback(__priv, desc, init_rx_desc, __args) 96#define stmmac_init_tx_desc(__priv, __args...) \ 97 stmmac_do_void_callback(__priv, desc, init_tx_desc, __args) 98#define stmmac_prepare_tx_desc(__priv, __args...) \ 99 stmmac_do_void_callback(__priv, desc, prepare_tx_desc, __args) --- 36 unchanged lines hidden (view full) --- 136#define stmmac_get_desc_addr(__priv, __args...) \ 137 stmmac_do_void_callback(__priv, desc, get_addr, __args) 138#define stmmac_set_desc_addr(__priv, __args...) \ 139 stmmac_do_void_callback(__priv, desc, set_addr, __args) 140#define stmmac_clear_desc(__priv, __args...) \ 141 stmmac_do_void_callback(__priv, desc, clear, __args) 142#define stmmac_get_rx_hash(__priv, __args...) \ 143 stmmac_do_callback(__priv, desc, get_rx_hash, __args) | 94}; 95 96#define stmmac_init_rx_desc(__priv, __args...) \ 97 stmmac_do_void_callback(__priv, desc, init_rx_desc, __args) 98#define stmmac_init_tx_desc(__priv, __args...) \ 99 stmmac_do_void_callback(__priv, desc, init_tx_desc, __args) 100#define stmmac_prepare_tx_desc(__priv, __args...) \ 101 stmmac_do_void_callback(__priv, desc, prepare_tx_desc, __args) --- 36 unchanged lines hidden (view full) --- 138#define stmmac_get_desc_addr(__priv, __args...) \ 139 stmmac_do_void_callback(__priv, desc, get_addr, __args) 140#define stmmac_set_desc_addr(__priv, __args...) \ 141 stmmac_do_void_callback(__priv, desc, set_addr, __args) 142#define stmmac_clear_desc(__priv, __args...) \ 143 stmmac_do_void_callback(__priv, desc, clear, __args) 144#define stmmac_get_rx_hash(__priv, __args...) \ 145 stmmac_do_callback(__priv, desc, get_rx_hash, __args) |
146#define stmmac_get_rx_header_len(__priv, __args...) \ 147 stmmac_do_callback(__priv, desc, get_rx_header_len, __args) 148#define stmmac_set_desc_sec_addr(__priv, __args...) \ 149 stmmac_do_void_callback(__priv, desc, set_sec_addr, __args) |
|
144 145struct stmmac_dma_cfg; 146struct dma_features; 147 148/* Specific DMA helpers */ 149struct stmmac_dma_ops { 150 /* DMA core initialization */ 151 int (*reset)(void __iomem *ioaddr); --- 34 unchanged lines hidden (view full) --- 186 void (*rx_watchdog)(void __iomem *ioaddr, u32 riwt, u32 number_chan); 187 void (*set_tx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 188 void (*set_rx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 189 void (*set_rx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 190 void (*set_tx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 191 void (*enable_tso)(void __iomem *ioaddr, bool en, u32 chan); 192 void (*qmode)(void __iomem *ioaddr, u32 channel, u8 qmode); 193 void (*set_bfsize)(void __iomem *ioaddr, int bfsize, u32 chan); | 150 151struct stmmac_dma_cfg; 152struct dma_features; 153 154/* Specific DMA helpers */ 155struct stmmac_dma_ops { 156 /* DMA core initialization */ 157 int (*reset)(void __iomem *ioaddr); --- 34 unchanged lines hidden (view full) --- 192 void (*rx_watchdog)(void __iomem *ioaddr, u32 riwt, u32 number_chan); 193 void (*set_tx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 194 void (*set_rx_ring_len)(void __iomem *ioaddr, u32 len, u32 chan); 195 void (*set_rx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 196 void (*set_tx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); 197 void (*enable_tso)(void __iomem *ioaddr, bool en, u32 chan); 198 void (*qmode)(void __iomem *ioaddr, u32 channel, u8 qmode); 199 void (*set_bfsize)(void __iomem *ioaddr, int bfsize, u32 chan); |
200 void (*enable_sph)(void __iomem *ioaddr, bool en, u32 chan); |
|
194}; 195 196#define stmmac_reset(__priv, __args...) \ 197 stmmac_do_callback(__priv, dma, reset, __args) 198#define stmmac_dma_init(__priv, __args...) \ 199 stmmac_do_void_callback(__priv, dma, init, __args) 200#define stmmac_init_chan(__priv, __args...) \ 201 stmmac_do_void_callback(__priv, dma, init_chan, __args) --- 40 unchanged lines hidden (view full) --- 242#define stmmac_set_tx_tail_ptr(__priv, __args...) \ 243 stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __args) 244#define stmmac_enable_tso(__priv, __args...) \ 245 stmmac_do_void_callback(__priv, dma, enable_tso, __args) 246#define stmmac_dma_qmode(__priv, __args...) \ 247 stmmac_do_void_callback(__priv, dma, qmode, __args) 248#define stmmac_set_dma_bfsize(__priv, __args...) \ 249 stmmac_do_void_callback(__priv, dma, set_bfsize, __args) | 201}; 202 203#define stmmac_reset(__priv, __args...) \ 204 stmmac_do_callback(__priv, dma, reset, __args) 205#define stmmac_dma_init(__priv, __args...) \ 206 stmmac_do_void_callback(__priv, dma, init, __args) 207#define stmmac_init_chan(__priv, __args...) \ 208 stmmac_do_void_callback(__priv, dma, init_chan, __args) --- 40 unchanged lines hidden (view full) --- 249#define stmmac_set_tx_tail_ptr(__priv, __args...) \ 250 stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __args) 251#define stmmac_enable_tso(__priv, __args...) \ 252 stmmac_do_void_callback(__priv, dma, enable_tso, __args) 253#define stmmac_dma_qmode(__priv, __args...) \ 254 stmmac_do_void_callback(__priv, dma, qmode, __args) 255#define stmmac_set_dma_bfsize(__priv, __args...) \ 256 stmmac_do_void_callback(__priv, dma, set_bfsize, __args) |
257#define stmmac_enable_sph(__priv, __args...) \ 258 stmmac_do_void_callback(__priv, dma, enable_sph, __args) |
|
250 251struct mac_device_info; 252struct net_device; 253struct rgmii_adv; 254struct stmmac_safety_stats; 255struct stmmac_tc_entry; 256struct stmmac_pps_cfg; 257struct stmmac_rss; --- 276 unchanged lines hidden --- | 259 260struct mac_device_info; 261struct net_device; 262struct rgmii_adv; 263struct stmmac_safety_stats; 264struct stmmac_tc_entry; 265struct stmmac_pps_cfg; 266struct stmmac_rss; --- 276 unchanged lines hidden --- |