diff options
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/common.h')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/common.h | 38 |
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 | ||
261 | struct stmmac_desc_ops { | 284 | struct 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 | ||
299 | struct stmmac_dma_ops { | 323 | struct 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 | ||
373 | struct stmmac_chain_mode_ops { | 397 | struct 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 | ||
380 | struct mac_device_info { | 404 | struct mac_device_info { |