diff options
| -rw-r--r-- | drivers/platform/msm/msm_11ad/msm_11ad.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/platform/msm/msm_11ad/msm_11ad.c b/drivers/platform/msm/msm_11ad/msm_11ad.c index 203e0c4b4339..a8adc2401dbf 100644 --- a/drivers/platform/msm/msm_11ad/msm_11ad.c +++ b/drivers/platform/msm/msm_11ad/msm_11ad.c @@ -572,6 +572,7 @@ static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx) int disable_htw = 1; int atomic_ctx = 1; int rc; + int bypass_enable = 1; if (!ctx->use_smmu) return 0; @@ -605,6 +606,15 @@ static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx) goto release_mapping; } + rc = iommu_domain_set_attr(ctx->mapping->domain, + DOMAIN_ATTR_S1_BYPASS, + &bypass_enable); + if (rc) { + dev_err(ctx->dev, "Set bypass attribute to SMMU failed (%d)\n", + rc); + goto release_mapping; + } + rc = arm_iommu_attach_device(&ctx->pcidev->dev, ctx->mapping); if (rc) { dev_err(ctx->dev, "arm_iommu_attach_device failed (%d)\n", rc); |
