aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/stmicro/stmmac/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/common.h')
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/common.h38
1 files changed, 31 insertions, 7 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index a29553211dee..8a04b7f23389 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -117,6 +117,29 @@ struct stmmac_extra_stats {
117 unsigned long irq_rx_path_in_lpi_mode_n; 117 unsigned long irq_rx_path_in_lpi_mode_n;
118 unsigned long irq_rx_path_exit_lpi_mode_n; 118 unsigned long irq_rx_path_exit_lpi_mode_n;
119 unsigned long phy_eee_wakeup_error_n; 119 unsigned long phy_eee_wakeup_error_n;
120 /* Extended RDES status */
121 unsigned long ip_hdr_err;
122 unsigned long ip_payload_err;
123 unsigned long ip_csum_bypassed;
124 unsigned long ipv4_pkt_rcvd;
125 unsigned long ipv6_pkt_rcvd;
126 unsigned long rx_msg_type_ext_no_ptp;
127 unsigned long rx_msg_type_sync;
128 unsigned long rx_msg_type_follow_up;
129 unsigned long rx_msg_type_delay_req;
130 unsigned long rx_msg_type_delay_resp;
131 unsigned long rx_msg_type_pdelay_req;
132 unsigned long rx_msg_type_pdelay_resp;
133 unsigned long rx_msg_type_pdelay_follow_up;
134 unsigned long ptp_frame_type;
135 unsigned long ptp_ver;
136 unsigned long timestamp_dropped;
137 unsigned long av_pkt_rcvd;
138 unsigned long av_tagged_pkt_rcvd;
139 unsigned long vlan_tag_priority_val;
140 unsigned long l3_filter_match;
141 unsigned long l4_filter_match;
142 unsigned long l3_l4_filter_no_match;
120}; 143};
121 144
122/* CSR Frequency Access Defines*/ 145/* CSR Frequency Access Defines*/
@@ -260,11 +283,10 @@ struct dma_features {
260 283
261struct stmmac_desc_ops { 284struct stmmac_desc_ops {
262 /* DMA RX descriptor ring initialization */ 285 /* DMA RX descriptor ring initialization */
263 void (*init_rx_desc) (struct dma_desc *p, unsigned int ring_size, 286 void (*init_rx_desc) (struct dma_desc *p, int disable_rx_ic, int mode,
264 int disable_rx_ic, int mode); 287 int end);
265 /* DMA TX descriptor ring initialization */ 288 /* DMA TX descriptor ring initialization */
266 void (*init_tx_desc) (struct dma_desc *p, unsigned int ring_size, 289 void (*init_tx_desc) (struct dma_desc *p, int mode, int end);
267 int mode);
268 290
269 /* Invoked by the xmit function to prepare the tx descriptor */ 291 /* Invoked by the xmit function to prepare the tx descriptor */
270 void (*prepare_tx_desc) (struct dma_desc *p, int is_fs, int len, 292 void (*prepare_tx_desc) (struct dma_desc *p, int is_fs, int len,
@@ -294,12 +316,14 @@ struct stmmac_desc_ops {
294 /* Return the reception status looking at the RDES1 */ 316 /* Return the reception status looking at the RDES1 */
295 int (*rx_status) (void *data, struct stmmac_extra_stats *x, 317 int (*rx_status) (void *data, struct stmmac_extra_stats *x,
296 struct dma_desc *p); 318 struct dma_desc *p);
319 void (*rx_extended_status) (void *data, struct stmmac_extra_stats *x,
320 struct dma_extended_desc *p);
297}; 321};
298 322
299struct stmmac_dma_ops { 323struct stmmac_dma_ops {
300 /* DMA core initialization */ 324 /* DMA core initialization */
301 int (*init) (void __iomem *ioaddr, int pbl, int fb, int mb, 325 int (*init) (void __iomem *ioaddr, int pbl, int fb, int mb,
302 int burst_len, u32 dma_tx, u32 dma_rx); 326 int burst_len, u32 dma_tx, u32 dma_rx, int atds);
303 /* Dump DMA registers */ 327 /* Dump DMA registers */
304 void (*dump_regs) (void __iomem *ioaddr); 328 void (*dump_regs) (void __iomem *ioaddr);
305 /* Set tx/rx threshold in the csr6 register 329 /* Set tx/rx threshold in the csr6 register
@@ -371,10 +395,10 @@ struct stmmac_ring_mode_ops {
371}; 395};
372 396
373struct stmmac_chain_mode_ops { 397struct stmmac_chain_mode_ops {
398 void (*init) (void *des, dma_addr_t phy_addr, unsigned int size,
399 unsigned int extend_desc);
374 unsigned int (*is_jumbo_frm) (int len, int ehn_desc); 400 unsigned int (*is_jumbo_frm) (int len, int ehn_desc);
375 unsigned int (*jumbo_frm) (void *priv, struct sk_buff *skb, int csum); 401 unsigned int (*jumbo_frm) (void *priv, struct sk_buff *skb, int csum);
376 void (*init_dma_chain) (struct dma_desc *des, dma_addr_t phy_addr,
377 unsigned int size);
378}; 402};
379 403
380struct mac_device_info { 404struct mac_device_info {