]> err.no Git - linux-2.6/blobdiff - drivers/net/sky2.c
Use menuconfig objects: W1
[linux-2.6] / drivers / net / sky2.c
index 4e0b839de7e4d4ac918579ac5ce735687e73646c..a2f32151559e4e05c56293dd566059e1485419a0 100644 (file)
@@ -51,7 +51,7 @@
 #include "sky2.h"
 
 #define DRV_NAME               "sky2"
-#define DRV_VERSION            "1.15"
+#define DRV_VERSION            "1.16"
 #define PFX                    DRV_NAME " "
 
 /*
@@ -893,24 +893,18 @@ static inline struct sky2_rx_le *sky2_next_rx(struct sky2_port *sky2)
        return le;
 }
 
-/* Return high part of DMA address (could be 32 or 64 bit) */
-static inline u32 high32(dma_addr_t a)
-{
-       return sizeof(a) > sizeof(u32) ? (a >> 16) >> 16 : 0;
-}
-
 /* Build description to hardware for one receive segment */
 static void sky2_rx_add(struct sky2_port *sky2,  u8 op,
                        dma_addr_t map, unsigned len)
 {
        struct sky2_rx_le *le;
-       u32 hi = high32(map);
+       u32 hi = upper_32_bits(map);
 
        if (sky2->rx_addr64 != hi) {
                le = sky2_next_rx(sky2);
                le->addr = cpu_to_le32(hi);
                le->opcode = OP_ADDR64 | HW_OWNER;
-               sky2->rx_addr64 = high32(map + len);
+               sky2->rx_addr64 = upper_32_bits(map + len);
        }
 
        le = sky2_next_rx(sky2);
@@ -1180,8 +1174,7 @@ static int sky2_rx_start(struct sky2_port *sky2)
        rx_set_checksum(sky2);
 
        /* Space needed for frame data + headers rounded up */
-       size = ALIGN(sky2->netdev->mtu + ETH_HLEN + VLAN_HLEN, 8)
-               + 8;
+       size = roundup(sky2->netdev->mtu + ETH_HLEN + VLAN_HLEN, 8);
 
        /* Stopping point for hardware truncation */
        thresh = (size - 8) / sizeof(u32);
@@ -1425,14 +1418,15 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
 
        len = skb_headlen(skb);
        mapping = pci_map_single(hw->pdev, skb->data, len, PCI_DMA_TODEVICE);
-       addr64 = high32(mapping);
+       addr64 = upper_32_bits(mapping);
 
        /* Send high bits if changed or crosses boundary */
-       if (addr64 != sky2->tx_addr64 || high32(mapping + len) != sky2->tx_addr64) {
+       if (addr64 != sky2->tx_addr64 ||
+           upper_32_bits(mapping + len) != sky2->tx_addr64) {
                le = get_tx_le(sky2);
                le->addr = cpu_to_le32(addr64);
                le->opcode = OP_ADDR64 | HW_OWNER;
-               sky2->tx_addr64 = high32(mapping + len);
+               sky2->tx_addr64 = upper_32_bits(mapping + len);
        }
 
        /* Check for TCP Segmentation Offload */
@@ -1512,7 +1506,7 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
 
                mapping = pci_map_page(hw->pdev, frag->page, frag->page_offset,
                                       frag->size, PCI_DMA_TODEVICE);
-               addr64 = high32(mapping);
+               addr64 = upper_32_bits(mapping);
                if (addr64 != sky2->tx_addr64) {
                        le = get_tx_le(sky2);
                        le->addr = cpu_to_le32(addr64);
@@ -2064,8 +2058,6 @@ static struct sk_buff *receive_new(struct sky2_port *sky2,
        struct sk_buff *skb, *nskb;
        unsigned hdr_space = sky2->rx_data_size;
 
-       pr_debug(PFX "receive new length=%d\n", length);
-
        /* Don't be tricky about reusing pages (yet) */
        nskb = sky2_rx_alloc(sky2);
        if (unlikely(!nskb))
@@ -2734,8 +2726,6 @@ static void sky2_restart(struct work_struct *work)
        struct net_device *dev;
        int i, err;
 
-       dev_dbg(&hw->pdev->dev, "restarting\n");
-
        del_timer_sync(&hw->idle_timer);
 
        rtnl_lock();