From: Jeff Garzik Create PCI_DMA_{64,32]BIT constants, for use in passing to pci_set_{consistent_}dma_mask(). Use them in e1000 and ixgb. --- 25-akpm/Documentation/DMA-mapping.txt | 16 ++++++++-------- 25-akpm/drivers/net/e1000/e1000.h | 2 -- 25-akpm/drivers/net/ixgb/ixgb.h | 2 -- 25-akpm/include/linux/pci.h | 3 +++ 4 files changed, 11 insertions(+), 12 deletions(-) diff -puN Documentation/DMA-mapping.txt~add-PCI_DMA_3264BIT-constants Documentation/DMA-mapping.txt --- 25/Documentation/DMA-mapping.txt~add-PCI_DMA_3264BIT-constants Wed Mar 24 14:02:09 2004 +++ 25-akpm/Documentation/DMA-mapping.txt Wed Mar 24 14:02:09 2004 @@ -132,7 +132,7 @@ exactly why. The standard 32-bit addressing PCI device would do something like this: - if (pci_set_dma_mask(pdev, 0xffffffff)) { + if (pci_set_dma_mask(pdev, PCI_DMA_32BIT)) { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); goto ignore_this_device; @@ -151,9 +151,9 @@ all 64-bits when accessing streaming DMA int using_dac; - if (!pci_set_dma_mask(pdev, 0xffffffffffffffff)) { + if (!pci_set_dma_mask(pdev, PCI_DMA_64BIT)) { using_dac = 1; - } else if (!pci_set_dma_mask(pdev, 0xffffffff)) { + } else if (!pci_set_dma_mask(pdev, PCI_DMA_32BIT)) { using_dac = 0; } else { printk(KERN_WARNING @@ -166,14 +166,14 @@ the case would look like this: int using_dac, consistent_using_dac; - if (!pci_set_dma_mask(pdev, 0xffffffffffffffff)) { + if (!pci_set_dma_mask(pdev, PCI_DMA_64BIT)) { using_dac = 1; consistent_using_dac = 1; - pci_set_consistent_dma_mask(pdev, 0xffffffffffffffff) - } else if (!pci_set_dma_mask(pdev, 0xffffffff)) { + pci_set_consistent_dma_mask(pdev, PCI_DMA_64BIT); + } else if (!pci_set_dma_mask(pdev, PCI_DMA_32BIT)) { using_dac = 0; consistent_using_dac = 0; - pci_set_consistent_dma_mask(pdev, 0xffffffff) + pci_set_consistent_dma_mask(pdev, PCI_DMA_32BIT); } else { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); @@ -215,7 +215,7 @@ most specific mask. Here is pseudo-code showing how this might be done: - #define PLAYBACK_ADDRESS_BITS 0xffffffff + #define PLAYBACK_ADDRESS_BITS PCI_DMA_32BIT #define RECORD_ADDRESS_BITS 0x00ffffff struct my_sound_card *card; diff -puN drivers/net/e1000/e1000.h~add-PCI_DMA_3264BIT-constants drivers/net/e1000/e1000.h --- 25/drivers/net/e1000/e1000.h~add-PCI_DMA_3264BIT-constants Wed Mar 24 14:02:09 2004 +++ 25-akpm/drivers/net/e1000/e1000.h Wed Mar 24 14:02:09 2004 @@ -74,8 +74,6 @@ #define BAR_0 0 #define BAR_1 1 #define BAR_5 5 -#define PCI_DMA_64BIT 0xffffffffffffffffULL -#define PCI_DMA_32BIT 0x00000000ffffffffULL struct e1000_adapter; diff -puN drivers/net/ixgb/ixgb.h~add-PCI_DMA_3264BIT-constants drivers/net/ixgb/ixgb.h --- 25/drivers/net/ixgb/ixgb.h~add-PCI_DMA_3264BIT-constants Wed Mar 24 14:02:09 2004 +++ 25-akpm/drivers/net/ixgb/ixgb.h Wed Mar 24 14:02:09 2004 @@ -65,8 +65,6 @@ struct ixgb_adapter; #define BAR_0 0 #define BAR_1 1 #define BAR_5 5 -#define PCI_DMA_64BIT 0xffffffffffffffffULL -#define PCI_DMA_32BIT 0x00000000ffffffffULL #include "ixgb_hw.h" #include "ixgb_ee.h" diff -puN include/linux/pci.h~add-PCI_DMA_3264BIT-constants include/linux/pci.h --- 25/include/linux/pci.h~add-PCI_DMA_3264BIT-constants Wed Mar 24 14:02:09 2004 +++ 25-akpm/include/linux/pci.h Wed Mar 24 14:02:09 2004 @@ -362,6 +362,9 @@ enum pci_mmap_state { #define PCI_DMA_FROMDEVICE 2 #define PCI_DMA_NONE 3 +#define PCI_DMA_64BIT 0xffffffffffffffffULL +#define PCI_DMA_32BIT 0x00000000ffffffffULL + #define DEVICE_COUNT_COMPATIBLE 4 #define DEVICE_COUNT_RESOURCE 12 _