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
|
* it! Also, don't use 64bit addressing if dma addresses
|
||||||
* are guaranteed to be < 4G.
|
* 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))) {
|
!dma_set_mask(&ha->pcidev->dev, DMA_BIT_MASK(64))) {
|
||||||
(ha)->flags |= IPS_HA_ENH_SG;
|
(ha)->flags |= IPS_HA_ENH_SG;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -96,12 +96,6 @@
|
||||||
#define __iomem
|
#define __iomem
|
||||||
#endif
|
#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
|
* Adapter address map equates
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue