summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorYue Ma <yuem@codeaurora.org>2017-02-01 14:22:09 -0800
committerYue Ma <yuem@codeaurora.org>2017-07-07 09:44:28 -0700
commit243575bddba07fd5a7c7df9ed2c406c11c059d7e (patch)
treecc49d9cc186f7c2a97d479fc0089ef88932010db /drivers/net/wireless
parentabb697f2a19ff4f1e3e4a8b8fd306b361515c93c (diff)
cnss2: Bypass SMMU stage-1 by default
Bypass SMMU stage-1 till it is fully supported by WLAN driver and device. Change-Id: I186345c20f9b71171bba6acc8c5eaa689e39b51c CRs-fixed: 2071634 Signed-off-by: Yue Ma <yuem@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/cnss2/pci.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c
index 5f2d6bb8daff..f914f4352392 100644
--- a/drivers/net/wireless/cnss2/pci.c
+++ b/drivers/net/wireless/cnss2/pci.c
@@ -222,6 +222,7 @@ static int cnss_pci_init_smmu(struct cnss_pci_data *pci_priv)
struct device *dev;
struct dma_iommu_mapping *mapping;
int atomic_ctx = 1;
+ int s1_bypass = 1;
dev = &pci_priv->pci_dev->dev;
@@ -243,6 +244,15 @@ static int cnss_pci_init_smmu(struct cnss_pci_data *pci_priv)
goto release_mapping;
}
+ ret = iommu_domain_set_attr(mapping->domain,
+ DOMAIN_ATTR_S1_BYPASS,
+ &s1_bypass);
+ if (ret) {
+ pr_err("Failed to set SMMU s1_bypass attribute, err = %d\n",
+ ret);
+ goto release_mapping;
+ }
+
ret = arm_iommu_attach_device(dev, mapping);
if (ret) {
pr_err("Failed to attach SMMU device, err = %d\n", ret);