[SCSI] cciss 2.6 DMA mapping
authormike.miller@hp.com <mike.miller@hp.com>
Fri, 10 Jun 2005 19:51:04 +0000 (14:51 -0500)
committerJames Bottomley <jejb@titanic.(none)>
Sat, 11 Jun 2005 23:41:56 +0000 (18:41 -0500)
Patch removes our homegrown DMA masks and uses the ones defined in the kernel.
This patch replaces the broken one I sent in earlier. It has been tested and works. Please discard the first submission.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/block/cciss.c

index 8f7c1a1ed7f4402128c7a7477758aea040a1ddbc..abde27027c06b5cddd2dd873267e80b7a27dda51 100644 (file)
@@ -41,6 +41,7 @@
 #include <asm/uaccess.h>
 #include <asm/io.h>
 
+#include <linux/dma-mapping.h>
 #include <linux/blkdev.h>
 #include <linux/genhd.h>
 #include <linux/completion.h>
@@ -126,8 +127,6 @@ static struct board_type products[] = {
 #define MAX_CTLR_ORIG  8
 
 
-#define CCISS_DMA_MASK 0xFFFFFFFF      /* 32 bit DMA */
-
 static ctlr_info_t *hba[MAX_CTLR];
 
 static void do_cciss_request(request_queue_t *q);
@@ -2393,11 +2392,6 @@ static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
                printk(KERN_ERR "cciss: Unable to Enable PCI device\n");
                return( -1);
        }
-       if (pci_set_dma_mask(pdev, CCISS_DMA_MASK ) != 0)
-       {
-               printk(KERN_ERR "cciss:  Unable to set DMA mask\n");
-               return(-1);
-       }
 
        subsystem_vendor_id = pdev->subsystem_vendor;
        subsystem_device_id = pdev->subsystem_device;
@@ -2747,9 +2741,9 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
        hba[i]->pdev = pdev;
 
        /* configure PCI DMA stuff */
-       if (!pci_set_dma_mask(pdev, 0xffffffffffffffffULL))
+       if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK))
                printk("cciss: using DAC cycles\n");
-       else if (!pci_set_dma_mask(pdev, 0xffffffff))
+       else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK))
                printk("cciss: not using DAC cycles\n");
        else {
                printk("cciss: no suitable DMA available\n");