From: Tobias Klauser Subject: [KJ] [UPDATE PATCH] drivers/net/: Use the DMA_{64,32}BIT_MASK constants The previous patch did not compile cleanly on all architectures so here's a fixed one. Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() This patch includes dma-mapping.h explicitly because it caused errors on some architectures otherwise. See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser Signed-off-by: Domen Puncer --- 8139cp.c | 9 +++++---- acenic.c | 5 +++-- e100.c | 3 ++- hp100.c | 3 ++- ns83820.c | 5 +++-- s2io.c | 7 ++++--- sis900.c | 5 ++--- sk98lin/skge.c | 5 +++-- sungem.c | 5 +++-- tg3.c | 7 ++++--- tlan.c | 3 ++- tokenring/lanstreamer.c | 3 ++- tulip/dmfe.c | 3 ++- tulip/winbond-840.c | 3 ++- via-rhine.c | 3 ++- wan/wanxl.c | 5 +++-- 16 files changed, 44 insertions(+), 30 deletions(-) Index: quilt/drivers/net/8139cp.c =================================================================== --- quilt.orig/drivers/net/8139cp.c +++ quilt/drivers/net/8139cp.c @@ -60,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -1702,19 +1703,19 @@ static int cp_init_one (struct pci_dev * /* Configure DMA attributes. */ if ((sizeof(dma_addr_t) > 4) && - !pci_set_consistent_dma_mask(pdev, 0xffffffffffffffffULL) && - !pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) { + !pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK) && + !pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { pci_using_dac = 1; } else { pci_using_dac = 0; - rc = pci_set_dma_mask(pdev, 0xffffffffULL); + rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (rc) { printk(KERN_ERR PFX "No usable DMA configuration, " "aborting.\n"); goto err_out_res; } - rc = pci_set_consistent_dma_mask(pdev, 0xffffffffULL); + rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); if (rc) { printk(KERN_ERR PFX "No usable consistent DMA configuration, " "aborting.\n"); Index: quilt/drivers/net/acenic.c =================================================================== --- quilt.orig/drivers/net/acenic.c +++ quilt/drivers/net/acenic.c @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -1167,9 +1168,9 @@ static int __devinit ace_init(struct net /* * Configure DMA attributes. */ - if (!pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) { + if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { ap->pci_using_dac = 1; - } else if (!pci_set_dma_mask(pdev, 0xffffffffULL)) { + } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { ap->pci_using_dac = 0; } else { ecode = -ENODEV; Index: quilt/drivers/net/e100.c =================================================================== --- quilt.orig/drivers/net/e100.c +++ quilt/drivers/net/e100.c @@ -143,6 +143,7 @@ #include #include #include +#include #include #include #include @@ -2201,7 +2202,7 @@ static int __devinit e100_probe(struct p goto err_out_disable_pdev; } - if((err = pci_set_dma_mask(pdev, 0xFFFFFFFFULL))) { + if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) { DPRINTK(PROBE, ERR, "No usable DMA configuration, aborting.\n"); goto err_out_free_res; } Index: quilt/drivers/net/hp100.c =================================================================== --- quilt.orig/drivers/net/hp100.c +++ quilt/drivers/net/hp100.c @@ -106,6 +106,7 @@ #include #include #include +#include #include #include #include @@ -562,7 +563,7 @@ static int __devinit hp100_probe1(struct * Also, we can have EISA Busmaster cards (not tested), * so beware !!! - Jean II */ if((bus == HP100_BUS_PCI) && - (pci_set_dma_mask(pci_dev, 0xffffffff))) { + (pci_set_dma_mask(pci_dev, DMA_32BIT_MASK))) { /* Gracefully fallback to shared memory */ goto busmasterfail; } Index: quilt/drivers/net/ns83820.c =================================================================== --- quilt.orig/drivers/net/ns83820.c +++ quilt/drivers/net/ns83820.c @@ -99,6 +99,7 @@ #include #include #include +#include #include #include #include @@ -1841,9 +1842,9 @@ static int __devinit ns83820_init_one(st int using_dac = 0; /* See if we can set the dma mask early on; failure is fatal. */ - if (TRY_DAC && !pci_set_dma_mask(pci_dev, 0xffffffffffffffffULL)) { + if (TRY_DAC && !pci_set_dma_mask(pci_dev, DMA_64BIT_MASK)) { using_dac = 1; - } else if (!pci_set_dma_mask(pci_dev, 0xffffffff)) { + } else if (!pci_set_dma_mask(pci_dev, DMA_32BIT_MASK)) { using_dac = 0; } else { printk(KERN_WARNING "ns83820.c: pci_set_dma_mask failed!\n"); Index: quilt/drivers/net/s2io.c =================================================================== --- quilt.orig/drivers/net/s2io.c +++ quilt/drivers/net/s2io.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -4593,19 +4594,19 @@ s2io_init_nic(struct pci_dev *pdev, cons return ret; } - if (!pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) { + if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 64bit DMA\n"); dma_flag = TRUE; if (pci_set_consistent_dma_mask - (pdev, 0xffffffffffffffffULL)) { + (pdev, DMA_64BIT_MASK)) { DBG_PRINT(ERR_DBG, "Unable to obtain 64bit DMA for \ consistent allocations\n"); pci_disable_device(pdev); return -ENOMEM; } - } else if (!pci_set_dma_mask(pdev, 0xffffffffUL)) { + } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 32bit DMA\n"); } else { pci_disable_device(pdev); Index: quilt/drivers/net/sis900.c =================================================================== --- quilt.orig/drivers/net/sis900.c +++ quilt/drivers/net/sis900.c @@ -66,6 +66,7 @@ #include #include #include +#include #include /* Processor type for cache alignment. */ #include @@ -93,8 +94,6 @@ static int sis900_debug = -1; /* Use SIS /* Time in jiffies before concluding the transmitter is hung. */ #define TX_TIMEOUT (4*HZ) -/* SiS 900 is capable of 32 bits BM DMA */ -#define SIS900_DMA_MASK 0xffffffff enum { SIS_900 = 0, @@ -413,7 +412,7 @@ static int __devinit sis900_probe(struct ret = pci_enable_device(pci_dev); if(ret) return ret; - i = pci_set_dma_mask(pci_dev, SIS900_DMA_MASK); + i = pci_set_dma_mask(pci_dev, DMA_32BIT_MASK); if(i){ printk(KERN_ERR "sis900.c: architecture does not support" "32bit PCI busmaster DMA\n"); Index: quilt/drivers/net/sk98lin/skge.c =================================================================== --- quilt.orig/drivers/net/sk98lin/skge.c +++ quilt/drivers/net/sk98lin/skge.c @@ -112,6 +112,7 @@ #include #include #include +#include #include "h/skdrv1st.h" #include "h/skdrv2nd.h" @@ -4912,8 +4913,8 @@ static int __devinit skge_probe_one(stru goto out; /* Configure DMA attributes. */ - if (pci_set_dma_mask(pdev, (u64) 0xffffffffffffffffULL) && - pci_set_dma_mask(pdev, (u64) 0xffffffff)) + if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) && + pci_set_dma_mask(pdev, DMA_32BIT_MASK)) goto out_disable_device; Index: quilt/drivers/net/sungem.c =================================================================== --- quilt.orig/drivers/net/sungem.c +++ quilt/drivers/net/sungem.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -2989,10 +2990,10 @@ static int __devinit gem_init_one(struct */ if (pdev->vendor == PCI_VENDOR_ID_SUN && pdev->device == PCI_DEVICE_ID_SUN_GEM && - !pci_set_dma_mask(pdev, (u64) 0xffffffffffffffffULL)) { + !pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { pci_using_dac = 1; } else { - err = pci_set_dma_mask(pdev, (u64) 0xffffffff); + err = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (err) { printk(KERN_ERR PFX "No usable DMA configuration, " "aborting.\n"); Index: quilt/drivers/net/tg3.c =================================================================== --- quilt.orig/drivers/net/tg3.c +++ quilt/drivers/net/tg3.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -9302,17 +9303,17 @@ static int __devinit tg3_init_one(struct } /* Configure DMA attributes. */ - err = pci_set_dma_mask(pdev, 0xffffffffffffffffULL); + err = pci_set_dma_mask(pdev, DMA_64BIT_MASK); if (!err) { pci_using_dac = 1; - err = pci_set_consistent_dma_mask(pdev, 0xffffffffffffffffULL); + err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); if (err < 0) { printk(KERN_ERR PFX "Unable to obtain 64 bit DMA " "for consistent allocations\n"); goto err_out_free_res; } } else { - err = pci_set_dma_mask(pdev, 0xffffffffULL); + err = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (err) { printk(KERN_ERR PFX "No usable DMA configuration, " "aborting.\n"); Index: quilt/drivers/net/tlan.c =================================================================== --- quilt.orig/drivers/net/tlan.c +++ quilt/drivers/net/tlan.c @@ -171,6 +171,7 @@ #include #include #include +#include #include #include #include @@ -555,7 +556,7 @@ static int __devinit TLan_probe1(struct priv->adapter = &board_info[ent->driver_data]; - rc = pci_set_dma_mask(pdev, 0xFFFFFFFF); + rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (rc) { printk(KERN_ERR "TLAN: No suitable PCI mapping available.\n"); goto err_out_free_dev; Index: quilt/drivers/net/tokenring/lanstreamer.c =================================================================== --- quilt.orig/drivers/net/tokenring/lanstreamer.c +++ quilt/drivers/net/tokenring/lanstreamer.c @@ -118,6 +118,7 @@ #include #include #include +#include #include #include #include @@ -258,7 +259,7 @@ static int __devinit streamer_init_one(s #endif #endif - rc = pci_set_dma_mask(pdev, 0xFFFFFFFFULL); + rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (rc) { printk(KERN_ERR "%s: No suitable PCI mapping available.\n", dev->name); Index: quilt/drivers/net/tulip/dmfe.c =================================================================== --- quilt.orig/drivers/net/tulip/dmfe.c +++ quilt/drivers/net/tulip/dmfe.c @@ -78,6 +78,7 @@ #include #include #include +#include #include #include #include @@ -354,7 +355,7 @@ static int __devinit dmfe_init_one (stru SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - if (pci_set_dma_mask(pdev, 0xffffffff)) { + if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { printk(KERN_WARNING DRV_NAME ": 32-bit PCI DMA not available.\n"); err = -ENODEV; goto err_out_free; Index: quilt/drivers/net/tulip/winbond-840.c =================================================================== --- quilt.orig/drivers/net/tulip/winbond-840.c +++ quilt/drivers/net/tulip/winbond-840.c @@ -121,6 +121,7 @@ static int full_duplex[MAX_UNITS] = {-1, #include #include #include +#include #include #include #include @@ -394,7 +395,7 @@ static int __devinit w840_probe1 (struct irq = pdev->irq; - if (pci_set_dma_mask(pdev,0xFFFFffff)) { + if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { printk(KERN_WARNING "Winbond-840: Device %s disabled due to DMA limitations.\n", pci_name(pdev)); return -EIO; Index: quilt/drivers/net/via-rhine.c =================================================================== --- quilt.orig/drivers/net/via-rhine.c +++ quilt/drivers/net/via-rhine.c @@ -186,6 +186,7 @@ static const int multicast_filter_limit #include #include #include +#include #include #include #include @@ -740,7 +741,7 @@ static int __devinit rhine_init_one(stru goto err_out; /* this should always be supported */ - rc = pci_set_dma_mask(pdev, 0xffffffff); + rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK); if (rc) { printk(KERN_ERR "32-bit PCI DMA addresses not supported by " "the card!?\n"); Index: quilt/drivers/net/wan/wanxl.c =================================================================== --- quilt.orig/drivers/net/wan/wanxl.c +++ quilt/drivers/net/wan/wanxl.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -624,8 +625,8 @@ static int __devinit wanxl_pci_init_one( /* FIXME when PCI/DMA subsystems are fixed. We set both dma_mask and consistent_dma_mask back to 32 bits to indicate the card can do 32-bit DMA addressing */ - if (pci_set_consistent_dma_mask(pdev, 0xFFFFFFFF) || - pci_set_dma_mask(pdev, 0xFFFFFFFF)) { + if (pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK) || + pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { printk(KERN_ERR "wanXL: No usable DMA configuration\n"); wanxl_pci_remove_one(pdev); return -EIO;