diff options
| author | Hamad Kadmany <hkadmany@codeaurora.org> | 2016-02-06 14:53:47 +0200 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 19:57:53 -0700 |
| commit | ffac72e679382587bca3ae2264938b40e8465ffc (patch) | |
| tree | ccb5adc054d49454be288458ad656b9cd3e51fc3 /drivers/platform | |
| parent | d01e7b60175adeb5cc525bd170cdfb24fc73c191 (diff) | |
msm_11ad: Set atomic attribute to SMMU driver
Set DOMAIN_ATTR_ATOMIC attribute to SMMU driver so that
it can handle DMA map/unmap operations from atomic context
which is required by 11ad driver
Change-Id: I7e538e6c41e5f40ff01dcfc9cbecf860ded22057
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Diffstat (limited to 'drivers/platform')
| -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 df0252726485..26d225f04111 100644 --- a/drivers/platform/msm/msm_11ad/msm_11ad.c +++ b/drivers/platform/msm/msm_11ad/msm_11ad.c @@ -126,6 +126,7 @@ static int ops_resume(void *handle) static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx) { int disable_htw = 1; + int atomic_ctx = 1; int rc; if (!ctx->use_smmu) @@ -151,6 +152,15 @@ static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx) rc); } + rc = iommu_domain_set_attr(ctx->mapping->domain, + DOMAIN_ATTR_ATOMIC, + &atomic_ctx); + if (rc) { + dev_err(ctx->dev, "Set atomic 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); |
