aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-09-06 15:45:02 -0400
committerJeff Garzik <jeff@garzik.org>2006-09-13 13:27:44 -0400
commitf65b138ca94326bbffe06ddc28e65606a249e58e (patch)
tree8fb69b76b32fe10d07678e3721a68638841061ca /drivers/net/sky2.h
parentb89165f2b75ba0a79eb5ed60924835cf3c54c51a (diff)
[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 {
1791 OP_TXINDEXLE = 0x68, 1791 OP_TXINDEXLE = 0x68,
1792}; 1792};
1793 1793
1794/* Yukon 2 hardware interface 1794/* Yukon 2 hardware interface */
1795 * Not tested on big endian
1796 */
1797struct sky2_tx_le { 1795struct sky2_tx_le {
1798 union { 1796 __le32 addr;
1799 __le32 addr;
1800 struct {
1801 __le16 offset;
1802 __le16 start;
1803 } csum __attribute((packed));
1804 struct {
1805 __le16 size;
1806 __le16 rsvd;
1807 } tso __attribute((packed));
1808 } tx;
1809 __le16 length; /* also vlan tag or checksum start */ 1797 __le16 length; /* also vlan tag or checksum start */
1810 u8 ctrl; 1798 u8 ctrl;
1811 u8 opcode; 1799 u8 opcode;
@@ -1851,8 +1839,7 @@ struct sky2_port {
1851 u32 tx_addr64; 1839 u32 tx_addr64;
1852 u16 tx_pending; 1840 u16 tx_pending;
1853 u16 tx_last_mss; 1841 u16 tx_last_mss;
1854 u16 tx_csum_start; 1842 u32 tx_tcpsum;
1855 u16 tx_csum_offset;
1856 1843
1857 struct ring_info *rx_ring ____cacheline_aligned_in_smp; 1844 struct ring_info *rx_ring ____cacheline_aligned_in_smp;
1858 struct sky2_rx_le *rx_le; 1845 struct sky2_rx_le *rx_le;