diff options
author | Christoph Hellwig <hch@lst.de> | 2018-10-18 15:03:34 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-11-06 21:31:28 -0500 |
commit | 88693b3c9681a0c10b8fe73a0be9bfa0ea63de1f (patch) | |
tree | e7a2c36cdc87b2af4629877adc719093c7b611c4 | |
parent | 6f6eb3ccc6ff46137b1d2951ef3a0a163a0aa601 (diff) | |
download | lwn-88693b3c9681a0c10b8fe73a0be9bfa0ea63de1f.tar.gz lwn-88693b3c9681a0c10b8fe73a0be9bfa0ea63de1f.zip |
scsi: ips: properly handle 64-bit DMA
CONFIG_HIGHMEM64 is only one (and these days unusual) way to indicate
that > 32-bit dma address are possible. Replace it with a check of the
dma_addr_t size.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/ips.c | 2 | ||||
-rw-r--r-- | drivers/scsi/ips.h | 6 |
2 files changed, 1 insertions, 7 deletions
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c index 679321e96a86..70a776dc0a02 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -6926,7 +6926,7 @@ ips_init_phase1(struct pci_dev *pci_dev, int *indexPtr) * it! Also, don't use 64bit addressing if dma addresses * are guaranteed to be < 4G. */ - if (IPS_ENABLE_DMA64 && IPS_HAS_ENH_SGLIST(ha) && + if (sizeof(dma_addr_t) > 4 && IPS_HAS_ENH_SGLIST(ha) && !dma_set_mask(&ha->pcidev->dev, DMA_BIT_MASK(64))) { (ha)->flags |= IPS_HA_ENH_SG; } else { diff --git a/drivers/scsi/ips.h b/drivers/scsi/ips.h index 42c180e3938b..6c0678fb9a67 100644 --- a/drivers/scsi/ips.h +++ b/drivers/scsi/ips.h @@ -96,12 +96,6 @@ #define __iomem #endif - #if (BITS_PER_LONG > 32) || defined(CONFIG_HIGHMEM64G) - #define IPS_ENABLE_DMA64 (1) - #else - #define IPS_ENABLE_DMA64 (0) - #endif - /* * Adapter address map equates */ |