diff options
Diffstat (limited to 'drivers/net/ns83820.c')
-rw-r--r-- | drivers/net/ns83820.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index b0127c71a5b6..eb0e119bc0d6 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c | |||
@@ -414,10 +414,10 @@ struct rx_info { | |||
414 | 414 | ||
415 | struct sk_buff *skbs[NR_RX_DESC]; | 415 | struct sk_buff *skbs[NR_RX_DESC]; |
416 | 416 | ||
417 | u32 *next_rx_desc; | 417 | __le32 *next_rx_desc; |
418 | u16 next_rx, next_empty; | 418 | u16 next_rx, next_empty; |
419 | 419 | ||
420 | u32 *descs; | 420 | __le32 *descs; |
421 | dma_addr_t phy_descs; | 421 | dma_addr_t phy_descs; |
422 | }; | 422 | }; |
423 | 423 | ||
@@ -459,7 +459,7 @@ struct ns83820 { | |||
459 | struct sk_buff *tx_skbs[NR_TX_DESC]; | 459 | struct sk_buff *tx_skbs[NR_TX_DESC]; |
460 | 460 | ||
461 | char pad[16] __attribute__((aligned(16))); | 461 | char pad[16] __attribute__((aligned(16))); |
462 | u32 *tx_descs; | 462 | __le32 *tx_descs; |
463 | dma_addr_t tx_phy_descs; | 463 | dma_addr_t tx_phy_descs; |
464 | 464 | ||
465 | struct timer_list tx_watchdog; | 465 | struct timer_list tx_watchdog; |
@@ -533,7 +533,7 @@ static void ns83820_vlan_rx_kill_vid(struct net_device *ndev, unsigned short vid | |||
533 | * conditions, still route realtime traffic with as low jitter as | 533 | * conditions, still route realtime traffic with as low jitter as |
534 | * possible. | 534 | * possible. |
535 | */ | 535 | */ |
536 | static inline void build_rx_desc(struct ns83820 *dev, u32 *desc, dma_addr_t link, dma_addr_t buf, u32 cmdsts, u32 extsts) | 536 | static inline void build_rx_desc(struct ns83820 *dev, __le32 *desc, dma_addr_t link, dma_addr_t buf, u32 cmdsts, u32 extsts) |
537 | { | 537 | { |
538 | desc_addr_set(desc + DESC_LINK, link); | 538 | desc_addr_set(desc + DESC_LINK, link); |
539 | desc_addr_set(desc + DESC_BUFPTR, buf); | 539 | desc_addr_set(desc + DESC_BUFPTR, buf); |
@@ -547,7 +547,7 @@ static inline int ns83820_add_rx_skb(struct ns83820 *dev, struct sk_buff *skb) | |||
547 | { | 547 | { |
548 | unsigned next_empty; | 548 | unsigned next_empty; |
549 | u32 cmdsts; | 549 | u32 cmdsts; |
550 | u32 *sg; | 550 | __le32 *sg; |
551 | dma_addr_t buf; | 551 | dma_addr_t buf; |
552 | 552 | ||
553 | next_empty = dev->rx_info.next_empty; | 553 | next_empty = dev->rx_info.next_empty; |
@@ -874,7 +874,8 @@ static void fastcall rx_irq(struct net_device *ndev) | |||
874 | struct rx_info *info = &dev->rx_info; | 874 | struct rx_info *info = &dev->rx_info; |
875 | unsigned next_rx; | 875 | unsigned next_rx; |
876 | int rx_rc, len; | 876 | int rx_rc, len; |
877 | u32 cmdsts, *desc; | 877 | u32 cmdsts; |
878 | __le32 *desc; | ||
878 | unsigned long flags; | 879 | unsigned long flags; |
879 | int nr = 0; | 880 | int nr = 0; |
880 | 881 | ||
@@ -1010,7 +1011,8 @@ static inline void kick_tx(struct ns83820 *dev) | |||
1010 | static void do_tx_done(struct net_device *ndev) | 1011 | static void do_tx_done(struct net_device *ndev) |
1011 | { | 1012 | { |
1012 | struct ns83820 *dev = PRIV(ndev); | 1013 | struct ns83820 *dev = PRIV(ndev); |
1013 | u32 cmdsts, tx_done_idx, *desc; | 1014 | u32 cmdsts, tx_done_idx; |
1015 | __le32 *desc; | ||
1014 | 1016 | ||
1015 | dprintk("do_tx_done(%p)\n", ndev); | 1017 | dprintk("do_tx_done(%p)\n", ndev); |
1016 | tx_done_idx = dev->tx_done_idx; | 1018 | tx_done_idx = dev->tx_done_idx; |
@@ -1077,7 +1079,7 @@ static void ns83820_cleanup_tx(struct ns83820 *dev) | |||
1077 | struct sk_buff *skb = dev->tx_skbs[i]; | 1079 | struct sk_buff *skb = dev->tx_skbs[i]; |
1078 | dev->tx_skbs[i] = NULL; | 1080 | dev->tx_skbs[i] = NULL; |
1079 | if (skb) { | 1081 | if (skb) { |
1080 | u32 *desc = dev->tx_descs + (i * DESC_SIZE); | 1082 | __le32 *desc = dev->tx_descs + (i * DESC_SIZE); |
1081 | pci_unmap_single(dev->pci_dev, | 1083 | pci_unmap_single(dev->pci_dev, |
1082 | desc_addr_get(desc + DESC_BUFPTR), | 1084 | desc_addr_get(desc + DESC_BUFPTR), |
1083 | le32_to_cpu(desc[DESC_CMDSTS]) & CMDSTS_LEN_MASK, | 1085 | le32_to_cpu(desc[DESC_CMDSTS]) & CMDSTS_LEN_MASK, |
@@ -1107,7 +1109,7 @@ static int ns83820_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
1107 | skb_frag_t *frag; | 1109 | skb_frag_t *frag; |
1108 | int stopped = 0; | 1110 | int stopped = 0; |
1109 | int do_intr = 0; | 1111 | int do_intr = 0; |
1110 | volatile u32 *first_desc; | 1112 | volatile __le32 *first_desc; |
1111 | 1113 | ||
1112 | dprintk("ns83820_hard_start_xmit\n"); | 1114 | dprintk("ns83820_hard_start_xmit\n"); |
1113 | 1115 | ||
@@ -1180,7 +1182,7 @@ again: | |||
1180 | first_desc = dev->tx_descs + (free_idx * DESC_SIZE); | 1182 | first_desc = dev->tx_descs + (free_idx * DESC_SIZE); |
1181 | 1183 | ||
1182 | for (;;) { | 1184 | for (;;) { |
1183 | volatile u32 *desc = dev->tx_descs + (free_idx * DESC_SIZE); | 1185 | volatile __le32 *desc = dev->tx_descs + (free_idx * DESC_SIZE); |
1184 | 1186 | ||
1185 | dprintk("frag[%3u]: %4u @ 0x%08Lx\n", free_idx, len, | 1187 | dprintk("frag[%3u]: %4u @ 0x%08Lx\n", free_idx, len, |
1186 | (unsigned long long)buf); | 1188 | (unsigned long long)buf); |
@@ -1455,7 +1457,8 @@ static int ns83820_stop(struct net_device *ndev) | |||
1455 | static void ns83820_tx_timeout(struct net_device *ndev) | 1457 | static void ns83820_tx_timeout(struct net_device *ndev) |
1456 | { | 1458 | { |
1457 | struct ns83820 *dev = PRIV(ndev); | 1459 | struct ns83820 *dev = PRIV(ndev); |
1458 | u32 tx_done_idx, *desc; | 1460 | u32 tx_done_idx; |
1461 | __le32 *desc; | ||
1459 | unsigned long flags; | 1462 | unsigned long flags; |
1460 | 1463 | ||
1461 | spin_lock_irqsave(&dev->tx_lock, flags); | 1464 | spin_lock_irqsave(&dev->tx_lock, flags); |