提交 03a710ff 编写于 作者: A Al Viro 提交者: David S. Miller

typhoon: trivial endianness annotations

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 c559a5bc
......@@ -300,9 +300,9 @@ struct typhoon {
const char * name;
struct typhoon_shared * shared;
dma_addr_t shared_dma;
u16 xcvr_select;
u16 wol_events;
u32 offload;
__le16 xcvr_select;
__le16 wol_events;
__le32 offload;
/* unused stuff (future use) */
int capabilities;
......@@ -828,7 +828,7 @@ typhoon_start_tx(struct sk_buff *skb, struct net_device *dev)
first_txd->processFlags |=
TYPHOON_TX_PF_INSERT_VLAN | TYPHOON_TX_PF_VLAN_PRIORITY;
first_txd->processFlags |=
cpu_to_le32(htons(vlan_tx_tag_get(skb)) <<
cpu_to_le32(ntohs(vlan_tx_tag_get(skb)) <<
TYPHOON_TX_PF_VLAN_TAG_SHIFT);
}
......@@ -920,7 +920,7 @@ typhoon_set_rx_mode(struct net_device *dev)
struct typhoon *tp = netdev_priv(dev);
struct cmd_desc xp_cmd;
u32 mc_filter[2];
u16 filter;
__le16 filter;
filter = TYPHOON_RX_FILTER_DIRECTED | TYPHOON_RX_FILTER_BROADCAST;
if(dev->flags & IFF_PROMISC) {
......@@ -1131,7 +1131,7 @@ typhoon_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct typhoon *tp = netdev_priv(dev);
struct cmd_desc xp_cmd;
int xcvr;
__le16 xcvr;
int err;
err = -EINVAL;
......@@ -1536,7 +1536,7 @@ typhoon_boot_3XP(struct typhoon *tp, u32 initial_status)
static u32
typhoon_clean_tx(struct typhoon *tp, struct transmit_ring *txRing,
volatile u32 * index)
volatile __le32 * index)
{
u32 lastRead = txRing->lastRead;
struct tx_desc *tx;
......@@ -1572,7 +1572,7 @@ typhoon_clean_tx(struct typhoon *tp, struct transmit_ring *txRing,
static void
typhoon_tx_complete(struct typhoon *tp, struct transmit_ring *txRing,
volatile u32 * index)
volatile __le32 * index)
{
u32 lastRead;
int numDesc = MAX_SKB_FRAGS + 1;
......@@ -1662,8 +1662,8 @@ typhoon_alloc_rx_skb(struct typhoon *tp, u32 idx)
}
static int
typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile u32 * ready,
volatile u32 * cleared, int budget)
typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile __le32 * ready,
volatile __le32 * cleared, int budget)
{
struct rx_desc *rx;
struct sk_buff *skb, *new_skb;
......@@ -1673,7 +1673,7 @@ typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile u32 * ready,
u32 rxaddr;
int pkt_len;
u32 idx;
u32 csum_bits;
__le32 csum_bits;
int received;
received = 0;
......@@ -1840,7 +1840,7 @@ typhoon_free_rx_rings(struct typhoon *tp)
}
static int
typhoon_sleep(struct typhoon *tp, pci_power_t state, u16 events)
typhoon_sleep(struct typhoon *tp, pci_power_t state, __le16 events)
{
struct pci_dev *pdev = tp->pdev;
void __iomem *ioaddr = tp->ioaddr;
......@@ -1928,8 +1928,8 @@ typhoon_start_runtime(struct typhoon *tp)
goto error_out;
INIT_COMMAND_NO_RESPONSE(&xp_cmd, TYPHOON_CMD_SET_MAC_ADDRESS);
xp_cmd.parm1 = cpu_to_le16(ntohs(*(u16 *)&dev->dev_addr[0]));
xp_cmd.parm2 = cpu_to_le32(ntohl(*(u32 *)&dev->dev_addr[2]));
xp_cmd.parm1 = cpu_to_le16(ntohs(*(__be16 *)&dev->dev_addr[0]));
xp_cmd.parm2 = cpu_to_le32(ntohl(*(__be32 *)&dev->dev_addr[2]));
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
if(err < 0)
goto error_out;
......@@ -2229,8 +2229,8 @@ typhoon_suspend(struct pci_dev *pdev, pm_message_t state)
}
INIT_COMMAND_NO_RESPONSE(&xp_cmd, TYPHOON_CMD_SET_MAC_ADDRESS);
xp_cmd.parm1 = cpu_to_le16(ntohs(*(u16 *)&dev->dev_addr[0]));
xp_cmd.parm2 = cpu_to_le32(ntohl(*(u32 *)&dev->dev_addr[2]));
xp_cmd.parm1 = cpu_to_le16(ntohs(*(__be16 *)&dev->dev_addr[0]));
xp_cmd.parm2 = cpu_to_le32(ntohl(*(__be32 *)&dev->dev_addr[2]));
if(typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL) < 0) {
printk(KERN_ERR "%s: unable to set mac address in suspend\n",
dev->name);
......@@ -2465,8 +2465,8 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
goto error_out_reset;
}
*(u16 *)&dev->dev_addr[0] = htons(le16_to_cpu(xp_resp[0].parm1));
*(u32 *)&dev->dev_addr[2] = htonl(le32_to_cpu(xp_resp[0].parm2));
*(__be16 *)&dev->dev_addr[0] = htons(le16_to_cpu(xp_resp[0].parm1));
*(__be32 *)&dev->dev_addr[2] = htonl(le32_to_cpu(xp_resp[0].parm2));
if(!is_valid_ether_addr(dev->dev_addr)) {
printk(ERR_PFX "%s: Could not obtain valid ethernet address, "
......
......@@ -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 __u32 rxBuffCleared; /* AV: really? */
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,10 @@ struct tx_desc {
#define TYPHOON_RX_ERROR 0x40
#define TYPHOON_DESC_VALID 0x80
u8 numDesc;
u16 len;
__le16 len;
u32 addr;
u32 addrHi;
u32 processFlags;
__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 +197,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 +216,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 +239,10 @@ struct ipsec_desc {
struct rx_desc {
u8 flags;
u8 numDesc;
u16 frameLen;
__le16 frameLen;
u32 addr;
u32 addrHi;
u32 rxStatus;
__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 +264,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 +278,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 +292,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 +312,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 +339,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 +349,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 +386,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 +420,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 +509,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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册