summaryrefslogtreecommitdiff
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-09-06 12:45:02 -0700
committerJeff Garzik <jeff@garzik.org>2006-09-13 13:27:44 -0400
commitf65b138ca94326bbffe06ddc28e65606a249e58e (patch)
tree8fb69b76b32fe10d07678e3721a68638841061ca /drivers/net/sky2.h
parentb89165f2b75ba0a79eb5ed60924835cf3c54c51a (diff)
downloadlwn-f65b138ca94326bbffe06ddc28e65606a249e58e.tar.gz
lwn-f65b138ca94326bbffe06ddc28e65606a249e58e.zip
[PATCH] sky2: big endian
Fix support for big endian platforms like PPC. Still not sure about VLAN acceleration (does it need swapping)? Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r--drivers/net/sky2.h19
1 files changed, 3 insertions, 16 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index be464636f07a..4c13c371bc21 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -1791,21 +1791,9 @@ enum {
OP_TXINDEXLE = 0x68,
};
-/* Yukon 2 hardware interface
- * Not tested on big endian
- */
+/* Yukon 2 hardware interface */
struct sky2_tx_le {
- union {
- __le32 addr;
- struct {
- __le16 offset;
- __le16 start;
- } csum __attribute((packed));
- struct {
- __le16 size;
- __le16 rsvd;
- } tso __attribute((packed));
- } tx;
+ __le32 addr;
__le16 length; /* also vlan tag or checksum start */
u8 ctrl;
u8 opcode;
@@ -1851,8 +1839,7 @@ struct sky2_port {
u32 tx_addr64;
u16 tx_pending;
u16 tx_last_mss;
- u16 tx_csum_start;
- u16 tx_csum_offset;
+ u32 tx_tcpsum;
struct ring_info *rx_ring ____cacheline_aligned_in_smp;
struct sky2_rx_le *rx_le;