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:
parent
d01e7b6017
commit
ffac72e679
1 changed files with 10 additions and 0 deletions
|
@ -126,6 +126,7 @@ static int ops_resume(void *handle)
|
||||||
static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx)
|
static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx)
|
||||||
{
|
{
|
||||||
int disable_htw = 1;
|
int disable_htw = 1;
|
||||||
|
int atomic_ctx = 1;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (!ctx->use_smmu)
|
if (!ctx->use_smmu)
|
||||||
|
@ -151,6 +152,15 @@ static int msm_11ad_smmu_init(struct msm11ad_ctx *ctx)
|
||||||
rc);
|
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);
|
rc = arm_iommu_attach_device(&ctx->pcidev->dev, ctx->mapping);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
dev_err(ctx->dev, "arm_iommu_attach_device failed (%d)\n", rc);
|
dev_err(ctx->dev, "arm_iommu_attach_device failed (%d)\n", rc);
|
||||||
|
|
Loading…
Add table
Reference in a new issue