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>
This commit is contained in:
Hamad Kadmany 2016-02-06 14:53:47 +02:00 committed by David Keitel
parent d01e7b6017
commit ffac72e679

View file

@ -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);