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 ---