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>
This commit is contained in:
parent
6f6eb3ccc6
commit
88693b3c96
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue