ide: remove obsoleted "hdx=" kernel parameters
[pandora-kernel.git] / drivers / net / typhoon.h
index 2f14a05..dd7022c 100644 (file)
@@ -64,19 +64,19 @@ struct transmit_ring {
  */
 struct typhoon_indexes {
        /* The first four are written by the host, and read by the NIC */
-       volatile u32 rxHiCleared;
-       volatile u32 rxLoCleared;
-       volatile u32 rxBuffReady;
-       volatile u32 respCleared;
+       volatile __le32 rxHiCleared;
+       volatile __le32 rxLoCleared;
+       volatile __le32 rxBuffReady;
+       volatile __le32 respCleared;
 
        /* The remaining are written by the NIC, and read by the host */
-       volatile u32 txLoCleared;
-       volatile u32 txHiCleared;
-       volatile u32 rxLoReady;
-       volatile u32 rxBuffCleared;
-       volatile u32 cmdCleared;
-       volatile u32 respReady;
-       volatile u32 rxHiReady;
+       volatile __le32 txLoCleared;
+       volatile __le32 txHiCleared;
+       volatile __le32 rxLoReady;
+       volatile __le32 rxBuffCleared;
+       volatile __le32 cmdCleared;
+       volatile __le32 respReady;
+       volatile __le32 rxHiReady;
 } __attribute__ ((packed));
 
 /* The host<->Typhoon interface
@@ -100,31 +100,31 @@ struct typhoon_indexes {
  * be zero.
  */
 struct typhoon_interface {
-       u32 ringIndex;
-       u32 ringIndexHi;
-       u32 txLoAddr;
-       u32 txLoAddrHi;
-       u32 txLoSize;
-       u32 txHiAddr;
-       u32 txHiAddrHi;
-       u32 txHiSize;
-       u32 rxLoAddr;
-       u32 rxLoAddrHi;
-       u32 rxLoSize;
-       u32 rxBuffAddr;
-       u32 rxBuffAddrHi;
-       u32 rxBuffSize;
-       u32 cmdAddr;
-       u32 cmdAddrHi;
-       u32 cmdSize;
-       u32 respAddr;
-       u32 respAddrHi;
-       u32 respSize;
-       u32 zeroAddr;
-       u32 zeroAddrHi;
-       u32 rxHiAddr;
-       u32 rxHiAddrHi;
-       u32 rxHiSize;
+       __le32 ringIndex;
+       __le32 ringIndexHi;
+       __le32 txLoAddr;
+       __le32 txLoAddrHi;
+       __le32 txLoSize;
+       __le32 txHiAddr;
+       __le32 txHiAddrHi;
+       __le32 txHiSize;
+       __le32 rxLoAddr;
+       __le32 rxLoAddrHi;
+       __le32 rxLoSize;
+       __le32 rxBuffAddr;
+       __le32 rxBuffAddrHi;
+       __le32 rxBuffSize;
+       __le32 cmdAddr;
+       __le32 cmdAddrHi;
+       __le32 cmdSize;
+       __le32 respAddr;
+       __le32 respAddrHi;
+       __le32 respSize;
+       __le32 zeroAddr;
+       __le32 zeroAddrHi;
+       __le32 rxHiAddr;
+       __le32 rxHiAddrHi;
+       __le32 rxHiSize;
 } __attribute__ ((packed));
 
 /* The Typhoon transmit/fragment descriptor
@@ -165,10 +165,15 @@ struct tx_desc {
 #define TYPHOON_RX_ERROR       0x40
 #define TYPHOON_DESC_VALID     0x80
        u8  numDesc;
-       u16 len;
-       u32 addr;
-       u32 addrHi;
-       u32 processFlags;
+       __le16 len;
+       union {
+               struct {
+                       __le32 addr;
+                       __le32 addrHi;
+               } frag;
+               u64 tx_addr;    /* opaque for hardware, for TX_DESC */
+       };
+       __le32 processFlags;
 #define TYPHOON_TX_PF_NO_CRC           __constant_cpu_to_le32(0x00000001)
 #define TYPHOON_TX_PF_IP_CHKSUM                __constant_cpu_to_le32(0x00000002)
 #define TYPHOON_TX_PF_TCP_CHKSUM       __constant_cpu_to_le32(0x00000004)
@@ -197,12 +202,12 @@ struct tx_desc {
 struct tcpopt_desc {
        u8  flags;
        u8  numDesc;
-       u16 mss_flags;
+       __le16 mss_flags;
 #define TYPHOON_TSO_FIRST              __constant_cpu_to_le16(0x1000)
 #define TYPHOON_TSO_LAST               __constant_cpu_to_le16(0x2000)
-       u32 respAddrLo;
-       u32 bytesTx;
-       u32 status;
+       __le32 respAddrLo;
+       __le32 bytesTx;
+       __le32 status;
 } __attribute__ ((packed));
 
 /* The IPSEC Offload descriptor
@@ -216,12 +221,12 @@ struct tcpopt_desc {
 struct ipsec_desc {
        u8  flags;
        u8  numDesc;
-       u16 ipsecFlags;
+       __le16 ipsecFlags;
 #define TYPHOON_IPSEC_GEN_IV   __constant_cpu_to_le16(0x0000)
 #define TYPHOON_IPSEC_USE_IV   __constant_cpu_to_le16(0x0001)
-       u32 sa1;
-       u32 sa2;
-       u32 reserved;
+       __le32 sa1;
+       __le32 sa2;
+       __le32 reserved;
 } __attribute__ ((packed));
 
 /* The Typhoon receive descriptor (Updated by NIC)
@@ -239,10 +244,10 @@ struct ipsec_desc {
 struct rx_desc {
        u8  flags;
        u8  numDesc;
-       u16 frameLen;
-       u32 addr;
-       u32 addrHi;
-       u32 rxStatus;
+       __le16 frameLen;
+       u32 addr;       /* opaque, comes from virtAddr */
+       u32 addrHi;     /* opaque, comes from virtAddrHi */
+       __le32 rxStatus;
 #define TYPHOON_RX_ERR_INTERNAL                __constant_cpu_to_le32(0x00000000)
 #define TYPHOON_RX_ERR_FIFO_UNDERRUN   __constant_cpu_to_le32(0x00000001)
 #define TYPHOON_RX_ERR_BAD_SSD         __constant_cpu_to_le32(0x00000002)
@@ -264,10 +269,10 @@ struct rx_desc {
 #define TYPHOON_RX_IP_CHK_GOOD         __constant_cpu_to_le32(0x00000100)
 #define TYPHOON_RX_TCP_CHK_GOOD                __constant_cpu_to_le32(0x00000200)
 #define TYPHOON_RX_UDP_CHK_GOOD                __constant_cpu_to_le32(0x00000400)
-       u16 filterResults;
+       __le16 filterResults;
 #define TYPHOON_RX_FILTER_MASK         __constant_cpu_to_le16(0x7fff)
 #define TYPHOON_RX_FILTERED            __constant_cpu_to_le16(0x8000)
-       u16 ipsecResults;
+       __le16 ipsecResults;
 #define TYPHOON_RX_OUTER_AH_GOOD       __constant_cpu_to_le16(0x0001)
 #define TYPHOON_RX_OUTER_ESP_GOOD      __constant_cpu_to_le16(0x0002)
 #define TYPHOON_RX_INNER_AH_GOOD       __constant_cpu_to_le16(0x0004)
@@ -278,7 +283,7 @@ struct rx_desc {
 #define TYPHOON_RX_INNER_ESP_FAIL      __constant_cpu_to_le16(0x0080)
 #define TYPHOON_RX_UNKNOWN_SA          __constant_cpu_to_le16(0x0100)
 #define TYPHOON_RX_ESP_FORMAT_ERR      __constant_cpu_to_le16(0x0200)
-       u32 vlanTag;
+       __be32 vlanTag;
 } __attribute__ ((packed));
 
 /* The Typhoon free buffer descriptor, used to give a buffer to the NIC
@@ -292,8 +297,8 @@ struct rx_desc {
  * from the NIC
  */
 struct rx_free {
-       u32 physAddr;
-       u32 physAddrHi;
+       __le32 physAddr;
+       __le32 physAddrHi;
        u32 virtAddr;
        u32 virtAddrHi;
 } __attribute__ ((packed));
@@ -312,7 +317,7 @@ struct rx_free {
 struct cmd_desc {
        u8  flags;
        u8  numDesc;
-       u16 cmd;
+       __le16 cmd;
 #define TYPHOON_CMD_TX_ENABLE          __constant_cpu_to_le16(0x0001)
 #define TYPHOON_CMD_TX_DISABLE         __constant_cpu_to_le16(0x0002)
 #define TYPHOON_CMD_RX_ENABLE          __constant_cpu_to_le16(0x0003)
@@ -339,9 +344,9 @@ struct cmd_desc {
 #define TYPHOON_CMD_GET_IPSEC_ENABLE   __constant_cpu_to_le16(0x0067)
 #define TYPHOON_CMD_GET_CMD_LVL                __constant_cpu_to_le16(0x0069)
        u16 seqNo;
-       u16 parm1;
-       u32 parm2;
-       u32 parm3;
+       __le16 parm1;
+       __le32 parm2;
+       __le32 parm3;
 } __attribute__ ((packed));
 
 /* The Typhoon response descriptor, see command descriptor for details
@@ -349,11 +354,11 @@ struct cmd_desc {
 struct resp_desc {
        u8  flags;
        u8  numDesc;
-       u16 cmd;
-       u16 seqNo;
-       u16 parm1;
-       u32 parm2;
-       u32 parm3;
+       __le16 cmd;
+       __le16 seqNo;
+       __le16 parm1;
+       __le32 parm2;
+       __le32 parm3;
 } __attribute__ ((packed));
 
 #define INIT_COMMAND_NO_RESPONSE(x, command)                           \
@@ -386,31 +391,31 @@ struct resp_desc {
 struct stats_resp {
        u8  flags;
        u8  numDesc;
-       u16 cmd;
-       u16 seqNo;
-       u16 unused;
-       u32 txPackets;
-       u64 txBytes;
-       u32 txDeferred;
-       u32 txLateCollisions;
-       u32 txCollisions;
-       u32 txCarrierLost;
-       u32 txMultipleCollisions;
-       u32 txExcessiveCollisions;
-       u32 txFifoUnderruns;
-       u32 txMulticastTxOverflows;
-       u32 txFiltered;
-       u32 rxPacketsGood;
-       u64 rxBytesGood;
-       u32 rxFifoOverruns;
-       u32 BadSSD;
-       u32 rxCrcErrors;
-       u32 rxOversized;
-       u32 rxBroadcast;
-       u32 rxMulticast;
-       u32 rxOverflow;
-       u32 rxFiltered;
-       u32 linkStatus;
+       __le16 cmd;
+       __le16 seqNo;
+       __le16 unused;
+       __le32 txPackets;
+       __le64 txBytes;
+       __le32 txDeferred;
+       __le32 txLateCollisions;
+       __le32 txCollisions;
+       __le32 txCarrierLost;
+       __le32 txMultipleCollisions;
+       __le32 txExcessiveCollisions;
+       __le32 txFifoUnderruns;
+       __le32 txMulticastTxOverflows;
+       __le32 txFiltered;
+       __le32 rxPacketsGood;
+       __le64 rxBytesGood;
+       __le32 rxFifoOverruns;
+       __le32 BadSSD;
+       __le32 rxCrcErrors;
+       __le32 rxOversized;
+       __le32 rxBroadcast;
+       __le32 rxMulticast;
+       __le32 rxOverflow;
+       __le32 rxFiltered;
+       __le32 linkStatus;
 #define TYPHOON_LINK_STAT_MASK         __constant_cpu_to_le32(0x00000001)
 #define TYPHOON_LINK_GOOD              __constant_cpu_to_le32(0x00000001)
 #define TYPHOON_LINK_BAD               __constant_cpu_to_le32(0x00000000)
@@ -420,8 +425,8 @@ struct stats_resp {
 #define TYPHOON_LINK_DUPLEX_MASK       __constant_cpu_to_le32(0x00000004)
 #define TYPHOON_LINK_FULL_DUPLEX       __constant_cpu_to_le32(0x00000004)
 #define TYPHOON_LINK_HALF_DUPLEX       __constant_cpu_to_le32(0x00000000)
-       u32 unused2;
-       u32 unused3;
+       __le32 unused2;
+       __le32 unused3;
 } __attribute__ ((packed));
 
 /* TYPHOON_CMD_XCVR_SELECT xcvr values (resp.parm1)
@@ -509,17 +514,17 @@ struct sa_descriptor {
  */
 struct typhoon_file_header {
        u8  tag[8];
-       u32 version;
-       u32 numSections;
-       u32 startAddr;
-       u32 hmacDigest[5];
+       __le32 version;
+       __le32 numSections;
+       __le32 startAddr;
+       __le32 hmacDigest[5];
 } __attribute__ ((packed));
 
 struct typhoon_section_header {
-       u32 len;
+       __le32 len;
        u16 checksum;
        u16 reserved;
-       u32 startAddr;
+       __le32 startAddr;
 } __attribute__ ((packed));
 
 /* The Typhoon Register offsets