]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/amso1100/c2.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6] / drivers / infiniband / hw / amso1100 / c2.c
index f283a9f0c23b198e616f041b1aa1e4f5713c60fb..113f3c03c5b5bc8391260dcaf14976537a94d30f 100644 (file)
@@ -130,10 +130,10 @@ static int c2_tx_ring_alloc(struct c2_ring *tx_ring, void *vaddr,
                tx_desc->status = 0;
 
                /* Set TXP_HTXD_UNINIT */
-               __raw_writeq(cpu_to_be64(0x1122334455667788ULL),
+               __raw_writeq((__force u64) cpu_to_be64(0x1122334455667788ULL),
                             (void __iomem *) txp_desc + C2_TXP_ADDR);
                __raw_writew(0, (void __iomem *) txp_desc + C2_TXP_LEN);
-               __raw_writew(cpu_to_be16(TXP_HTXD_UNINIT),
+               __raw_writew((__force u16) cpu_to_be16(TXP_HTXD_UNINIT),
                             (void __iomem *) txp_desc + C2_TXP_FLAGS);
 
                elem->skb = NULL;
@@ -179,13 +179,13 @@ static int c2_rx_ring_alloc(struct c2_ring *rx_ring, void *vaddr,
                rx_desc->status = 0;
 
                /* Set RXP_HRXD_UNINIT */
-               __raw_writew(cpu_to_be16(RXP_HRXD_OK),
+               __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_OK),
                       (void __iomem *) rxp_desc + C2_RXP_STATUS);
                __raw_writew(0, (void __iomem *) rxp_desc + C2_RXP_COUNT);
                __raw_writew(0, (void __iomem *) rxp_desc + C2_RXP_LEN);
-               __raw_writeq(cpu_to_be64(0x99aabbccddeeffULL),
+               __raw_writeq((__force u64) cpu_to_be64(0x99aabbccddeeffULL),
                             (void __iomem *) rxp_desc + C2_RXP_ADDR);
-               __raw_writew(cpu_to_be16(RXP_HRXD_UNINIT),
+               __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_UNINIT),
                             (void __iomem *) rxp_desc + C2_RXP_FLAGS);
 
                elem->skb = NULL;
@@ -239,10 +239,11 @@ static inline int c2_rx_alloc(struct c2_port *c2_port, struct c2_element *elem)
        rxp_hdr->flags = RXP_HRXD_READY;
 
        __raw_writew(0, elem->hw_desc + C2_RXP_STATUS);
-       __raw_writew(cpu_to_be16((u16) maplen - sizeof(*rxp_hdr)),
+       __raw_writew((__force u16) cpu_to_be16((u16) maplen - sizeof(*rxp_hdr)),
                     elem->hw_desc + C2_RXP_LEN);
-       __raw_writeq(cpu_to_be64(mapaddr), elem->hw_desc + C2_RXP_ADDR);
-       __raw_writew(cpu_to_be16(RXP_HRXD_READY), elem->hw_desc + C2_RXP_FLAGS);
+       __raw_writeq((__force u64) cpu_to_be64(mapaddr), elem->hw_desc + C2_RXP_ADDR);
+       __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_READY),
+                    elem->hw_desc + C2_RXP_FLAGS);
 
        elem->skb = skb;
        elem->mapaddr = mapaddr;
@@ -290,9 +291,9 @@ static void c2_rx_clean(struct c2_port *c2_port)
                __raw_writew(0, elem->hw_desc + C2_RXP_STATUS);
                __raw_writew(0, elem->hw_desc + C2_RXP_COUNT);
                __raw_writew(0, elem->hw_desc + C2_RXP_LEN);
-               __raw_writeq(cpu_to_be64(0x99aabbccddeeffULL),
+               __raw_writeq((__force u64) cpu_to_be64(0x99aabbccddeeffULL),
                             elem->hw_desc + C2_RXP_ADDR);
-               __raw_writew(cpu_to_be16(RXP_HRXD_UNINIT),
+               __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_UNINIT),
                             elem->hw_desc + C2_RXP_FLAGS);
 
                if (elem->skb) {
@@ -346,16 +347,16 @@ static void c2_tx_clean(struct c2_port *c2_port)
                                             elem->hw_desc + C2_TXP_LEN);
                                __raw_writeq(0,
                                             elem->hw_desc + C2_TXP_ADDR);
-                               __raw_writew(cpu_to_be16(TXP_HTXD_DONE),
+                               __raw_writew((__force u16) cpu_to_be16(TXP_HTXD_DONE),
                                             elem->hw_desc + C2_TXP_FLAGS);
                                c2_port->netstats.tx_dropped++;
                                break;
                        } else {
                                __raw_writew(0,
                                             elem->hw_desc + C2_TXP_LEN);
-                               __raw_writeq(cpu_to_be64(0x1122334455667788ULL),
+                               __raw_writeq((__force u64) cpu_to_be64(0x1122334455667788ULL),
                                             elem->hw_desc + C2_TXP_ADDR);
-                               __raw_writew(cpu_to_be16(TXP_HTXD_UNINIT),
+                               __raw_writew((__force u16) cpu_to_be16(TXP_HTXD_UNINIT),
                                             elem->hw_desc + C2_TXP_FLAGS);
                        }
 
@@ -390,7 +391,7 @@ static void c2_tx_interrupt(struct net_device *netdev)
        for (elem = tx_ring->to_clean; elem != tx_ring->to_use;
             elem = elem->next) {
                txp_htxd.flags =
-                   be16_to_cpu(readw(elem->hw_desc + C2_TXP_FLAGS));
+                   be16_to_cpu((__force __be16) readw(elem->hw_desc + C2_TXP_FLAGS));
 
                if (txp_htxd.flags != TXP_HTXD_DONE)
                        break;
@@ -398,7 +399,7 @@ static void c2_tx_interrupt(struct net_device *netdev)
                if (netif_msg_tx_done(c2_port)) {
                        /* PCI reads are expensive in fast path */
                        txp_htxd.len =
-                           be16_to_cpu(readw(elem->hw_desc + C2_TXP_LEN));
+                           be16_to_cpu((__force __be16) readw(elem->hw_desc + C2_TXP_LEN));
                        pr_debug("%s: tx done slot %3Zu status 0x%x len "
                                "%5u bytes\n",
                                netdev->name, elem - tx_ring->start,
@@ -448,10 +449,12 @@ static void c2_rx_error(struct c2_port *c2_port, struct c2_element *elem)
        /* Write the descriptor to the adapter's rx ring */
        __raw_writew(0, elem->hw_desc + C2_RXP_STATUS);
        __raw_writew(0, elem->hw_desc + C2_RXP_COUNT);
-       __raw_writew(cpu_to_be16((u16) elem->maplen - sizeof(*rxp_hdr)),
+       __raw_writew((__force u16) cpu_to_be16((u16) elem->maplen - sizeof(*rxp_hdr)),
                     elem->hw_desc + C2_RXP_LEN);
-       __raw_writeq(cpu_to_be64(elem->mapaddr), elem->hw_desc + C2_RXP_ADDR);
-       __raw_writew(cpu_to_be16(RXP_HRXD_READY), elem->hw_desc + C2_RXP_FLAGS);
+       __raw_writeq((__force u64) cpu_to_be64(elem->mapaddr),
+                    elem->hw_desc + C2_RXP_ADDR);
+       __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_READY),
+                    elem->hw_desc + C2_RXP_FLAGS);
 
        pr_debug("packet dropped\n");
        c2_port->netstats.rx_dropped++;
@@ -653,7 +656,7 @@ static int c2_up(struct net_device *netdev)
             i++, elem++) {
                rxp_hdr = (struct c2_rxp_hdr *) elem->skb->data;
                rxp_hdr->flags = 0;
-               __raw_writew(cpu_to_be16(RXP_HRXD_READY),
+               __raw_writew((__force u16) cpu_to_be16(RXP_HRXD_READY),
                             elem->hw_desc + C2_RXP_FLAGS);
        }
 
@@ -787,9 +790,12 @@ static int c2_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
        elem->maplen = maplen;
 
        /* Tell HW to xmit */
-       __raw_writeq(cpu_to_be64(mapaddr), elem->hw_desc + C2_TXP_ADDR);
-       __raw_writew(cpu_to_be16(maplen), elem->hw_desc + C2_TXP_LEN);
-       __raw_writew(cpu_to_be16(TXP_HTXD_READY), elem->hw_desc + C2_TXP_FLAGS);
+       __raw_writeq((__force u64) cpu_to_be64(mapaddr),
+                    elem->hw_desc + C2_TXP_ADDR);
+       __raw_writew((__force u16) cpu_to_be16(maplen),
+                    elem->hw_desc + C2_TXP_LEN);
+       __raw_writew((__force u16) cpu_to_be16(TXP_HTXD_READY),
+                    elem->hw_desc + C2_TXP_FLAGS);
 
        c2_port->netstats.tx_packets++;
        c2_port->netstats.tx_bytes += maplen;
@@ -810,11 +816,11 @@ static int c2_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
                        elem->maplen = maplen;
 
                        /* Tell HW to xmit */
-                       __raw_writeq(cpu_to_be64(mapaddr),
+                       __raw_writeq((__force u64) cpu_to_be64(mapaddr),
                                     elem->hw_desc + C2_TXP_ADDR);
-                       __raw_writew(cpu_to_be16(maplen),
+                       __raw_writew((__force u16) cpu_to_be16(maplen),
                                     elem->hw_desc + C2_TXP_LEN);
-                       __raw_writew(cpu_to_be16(TXP_HTXD_READY),
+                       __raw_writew((__force u16) cpu_to_be16(TXP_HTXD_READY),
                                     elem->hw_desc + C2_TXP_FLAGS);
 
                        c2_port->netstats.tx_packets++;
@@ -1005,7 +1011,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        /* Remap the adapter PCI registers in BAR4 */
        mmio_regs = ioremap_nocache(reg4_start + C2_PCI_REGS_OFFSET,
                                    sizeof(struct c2_adapter_pci_regs));
-       if (mmio_regs == 0UL) {
+       if (!mmio_regs) {
                printk(KERN_ERR PFX
                        "Unable to remap adapter PCI registers in BAR4\n");
                ret = -EIO;
@@ -1029,10 +1035,10 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        }
 
        /* Validate the adapter version */
-       if (be32_to_cpu(readl(mmio_regs + C2_REGS_VERS)) != C2_VERSION) {
+       if (be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_VERS)) != C2_VERSION) {
                printk(KERN_ERR PFX "Version mismatch "
                        "[fw=%u, c2=%u], Adapter not claimed\n",
-                       be32_to_cpu(readl(mmio_regs + C2_REGS_VERS)),
+                       be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_VERS)),
                        C2_VERSION);
                ret = -EINVAL;
                iounmap(mmio_regs);
@@ -1040,12 +1046,12 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        }
 
        /* Validate the adapter IVN */
-       if (be32_to_cpu(readl(mmio_regs + C2_REGS_IVN)) != C2_IVN) {
+       if (be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_IVN)) != C2_IVN) {
                printk(KERN_ERR PFX "Downlevel FIrmware level. You should be using "
                       "the OpenIB device support kit. "
                       "[fw=0x%x, c2=0x%x], Adapter not claimed\n",
-                       be32_to_cpu(readl(mmio_regs + C2_REGS_IVN)),
-                       C2_IVN);
+                      be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_IVN)),
+                      C2_IVN);
                ret = -EINVAL;
                iounmap(mmio_regs);
                goto bail2;
@@ -1068,7 +1074,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
 
        /* Get the last RX index */
        c2dev->cur_rx =
-           (be32_to_cpu(readl(mmio_regs + C2_REGS_HRX_CUR)) -
+           (be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_HRX_CUR)) -
             0xffffc000) / sizeof(struct c2_rxp_desc);
 
        /* Request an interrupt line for the driver */
@@ -1090,7 +1096,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        }
 
        /* Save off the actual size prior to unmapping mmio_regs */
-       kva_map_size = be32_to_cpu(readl(mmio_regs + C2_REGS_PCI_WINSIZE));
+       kva_map_size = be32_to_cpu((__force __be32) readl(mmio_regs + C2_REGS_PCI_WINSIZE));
 
        /* Unmap the adapter PCI registers in BAR4 */
        iounmap(mmio_regs);
@@ -1109,7 +1115,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        /* Remap the adapter HRXDQ PA space to kernel VA space */
        c2dev->mmio_rxp_ring = ioremap_nocache(reg4_start + C2_RXP_HRXDQ_OFFSET,
                                               C2_RXP_HRXDQ_SIZE);
-       if (c2dev->mmio_rxp_ring == 0UL) {
+       if (!c2dev->mmio_rxp_ring) {
                printk(KERN_ERR PFX "Unable to remap MMIO HRXDQ region\n");
                ret = -EIO;
                goto bail6;
@@ -1118,7 +1124,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        /* Remap the adapter HTXDQ PA space to kernel VA space */
        c2dev->mmio_txp_ring = ioremap_nocache(reg4_start + C2_TXP_HTXDQ_OFFSET,
                                               C2_TXP_HTXDQ_SIZE);
-       if (c2dev->mmio_txp_ring == 0UL) {
+       if (!c2dev->mmio_txp_ring) {
                printk(KERN_ERR PFX "Unable to remap MMIO HTXDQ region\n");
                ret = -EIO;
                goto bail7;
@@ -1129,7 +1135,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
 
        /* Remap the PCI registers in adapter BAR0 to kernel VA space */
        c2dev->regs = ioremap_nocache(reg0_start, reg0_len);
-       if (c2dev->regs == 0UL) {
+       if (!c2dev->regs) {
                printk(KERN_ERR PFX "Unable to remap BAR0\n");
                ret = -EIO;
                goto bail8;
@@ -1139,7 +1145,7 @@ static int __devinit c2_probe(struct pci_dev *pcidev,
        c2dev->pa = reg4_start + C2_PCI_REGS_OFFSET;
        c2dev->kva = ioremap_nocache(reg4_start + C2_PCI_REGS_OFFSET,
                                     kva_map_size);
-       if (c2dev->kva == 0UL) {
+       if (!c2dev->kva) {
                printk(KERN_ERR PFX "Unable to remap BAR4\n");
                ret = -EIO;
                goto bail9;