summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Garry <john.garry@huawei.com>2015-11-17 19:50:39 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2015-11-26 06:12:56 +0300
commit50cb916f4361e9202866d388eaddbe1d3f0ee0f7 (patch)
tree778b2fe5257ecd06d6a3c165b63eae057fd49ce0
parent5d74242e37feb5d06aecb3118d642ff621d08b75 (diff)
downloadlinux-50cb916f4361e9202866d388eaddbe1d3f0ee0f7.tar.xz
hisi_sas: Set dev DMA mask
Signed-off-by: John Garry <john.garry@huawei.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/hisi_sas/hisi_sas_main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 8cd1b551abb6..d7d9516385a7 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -311,6 +311,14 @@ int hisi_sas_probe(struct platform_device *pdev,
sha = SHOST_TO_SAS_HA(shost);
hisi_hba = shost_priv(shost);
platform_set_drvdata(pdev, sha);
+
+ if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)) &&
+ dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32))) {
+ dev_err(dev, "No usable DMA addressing method\n");
+ rc = -EIO;
+ goto err_out_ha;
+ }
+
phy_nr = port_nr = hisi_hba->n_phy;
arr_phy = devm_kcalloc(dev, phy_nr, sizeof(void *), GFP_KERNEL);