diff options
Diffstat (limited to 'drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h')
-rw-r--r-- | drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h b/drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h index 838cb9fb0ea9..18609324db72 100644 --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h +++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_desc.h | |||
@@ -39,22 +39,22 @@ struct sxgbe_tx_norm_desc { | |||
39 | u32 int_on_com:1; | 39 | u32 int_on_com:1; |
40 | /* TDES3 */ | 40 | /* TDES3 */ |
41 | union { | 41 | union { |
42 | u32 tcp_payload_len:18; | 42 | u16 tcp_payload_len; |
43 | struct { | 43 | struct { |
44 | u32 total_pkt_len:15; | 44 | u32 total_pkt_len:15; |
45 | u32 reserved1:1; | 45 | u32 reserved1:1; |
46 | u32 cksum_ctl:2; | 46 | } pkt_len; |
47 | } cksum_pktlen; | ||
48 | } tx_pkt_len; | 47 | } tx_pkt_len; |
49 | 48 | ||
50 | u32 tse_bit:1; | 49 | u16 cksum_ctl:2; |
51 | u32 tcp_hdr_len:4; | 50 | u16 tse_bit:1; |
52 | u32 sa_insert_ctl:3; | 51 | u16 tcp_hdr_len:4; |
53 | u32 crc_pad_ctl:2; | 52 | u16 sa_insert_ctl:3; |
54 | u32 last_desc:1; | 53 | u16 crc_pad_ctl:2; |
55 | u32 first_desc:1; | 54 | u16 last_desc:1; |
56 | u32 ctxt_bit:1; | 55 | u16 first_desc:1; |
57 | u32 own_bit:1; | 56 | u16 ctxt_bit:1; |
57 | u16 own_bit:1; | ||
58 | } tx_rd_des23; | 58 | } tx_rd_des23; |
59 | 59 | ||
60 | /* tx write back Desc 2,3 */ | 60 | /* tx write back Desc 2,3 */ |
@@ -70,25 +70,20 @@ struct sxgbe_tx_norm_desc { | |||
70 | 70 | ||
71 | struct sxgbe_rx_norm_desc { | 71 | struct sxgbe_rx_norm_desc { |
72 | union { | 72 | union { |
73 | u32 rdes0; /* buf1 address */ | 73 | u64 rdes01; /* buf1 address */ |
74 | struct { | 74 | union { |
75 | u32 out_vlan_tag:16; | 75 | u32 out_vlan_tag:16; |
76 | u32 in_vlan_tag:16; | 76 | u32 in_vlan_tag:16; |
77 | } wb_rx_des0; | 77 | u32 rss_hash; |
78 | } rd_wb_des0; | 78 | } rx_wb_des01; |
79 | 79 | } rdes01; | |
80 | union { | ||
81 | u32 rdes1; /* buf2 address or buf1[63:32] */ | ||
82 | u32 rss_hash; /* Write-back RX */ | ||
83 | } rd_wb_des1; | ||
84 | 80 | ||
85 | union { | 81 | union { |
86 | /* RX Read format Desc 2,3 */ | 82 | /* RX Read format Desc 2,3 */ |
87 | struct{ | 83 | struct{ |
88 | /* RDES2 */ | 84 | /* RDES2 */ |
89 | u32 buf2_addr; | 85 | u64 buf2_addr:62; |
90 | /* RDES3 */ | 86 | /* RDES3 */ |
91 | u32 buf2_hi_addr:30; | ||
92 | u32 int_on_com:1; | 87 | u32 int_on_com:1; |
93 | u32 own_bit:1; | 88 | u32 own_bit:1; |
94 | } rx_rd_des23; | 89 | } rx_rd_des23; |
@@ -263,6 +258,9 @@ struct sxgbe_desc_ops { | |||
263 | /* Set own bit */ | 258 | /* Set own bit */ |
264 | void (*set_rx_owner)(struct sxgbe_rx_norm_desc *p); | 259 | void (*set_rx_owner)(struct sxgbe_rx_norm_desc *p); |
265 | 260 | ||
261 | /* Set Interrupt on completion bit */ | ||
262 | void (*set_rx_int_on_com)(struct sxgbe_rx_norm_desc *p); | ||
263 | |||
266 | /* Get the receive frame size */ | 264 | /* Get the receive frame size */ |
267 | int (*get_rx_frame_len)(struct sxgbe_rx_norm_desc *p); | 265 | int (*get_rx_frame_len)(struct sxgbe_rx_norm_desc *p); |
268 | 266 | ||