Loading drivers/video/msm/mdss/mdss_smmu.c +9 −0 Original line number Diff line number Diff line Loading @@ -172,6 +172,7 @@ static int mdss_smmu_attach_v2(struct mdss_data_type *mdata) struct mdss_smmu_client *mdss_smmu; int i, rc = 0; mutex_lock(&mdp_iommu_lock); for (i = 0; i < MDSS_IOMMU_MAX_DOMAIN; i++) { if (!mdss_smmu_is_valid_domain_type(mdata, i)) continue; Loading Loading @@ -203,9 +204,12 @@ static int mdss_smmu_attach_v2(struct mdss_data_type *mdata) } } else { pr_err("iommu device not attached for domain[%d]\n", i); mutex_unlock(&mdp_iommu_lock); return -ENODEV; } } mutex_unlock(&mdp_iommu_lock); return 0; err: Loading @@ -217,6 +221,8 @@ err: mdss_smmu->domain_attached = false; } } mutex_unlock(&mdp_iommu_lock); return rc; } Loading @@ -231,6 +237,7 @@ static int mdss_smmu_detach_v2(struct mdss_data_type *mdata) struct mdss_smmu_client *mdss_smmu; int i; mutex_lock(&mdp_iommu_lock); for (i = 0; i < MDSS_IOMMU_MAX_DOMAIN; i++) { if (!mdss_smmu_is_valid_domain_type(mdata, i)) continue; Loading @@ -239,6 +246,8 @@ static int mdss_smmu_detach_v2(struct mdss_data_type *mdata) if (mdss_smmu && mdss_smmu->dev && !mdss_smmu->handoff_pending) mdss_smmu_enable_power(mdss_smmu, false); } mutex_unlock(&mdp_iommu_lock); return 0; } Loading Loading
drivers/video/msm/mdss/mdss_smmu.c +9 −0 Original line number Diff line number Diff line Loading @@ -172,6 +172,7 @@ static int mdss_smmu_attach_v2(struct mdss_data_type *mdata) struct mdss_smmu_client *mdss_smmu; int i, rc = 0; mutex_lock(&mdp_iommu_lock); for (i = 0; i < MDSS_IOMMU_MAX_DOMAIN; i++) { if (!mdss_smmu_is_valid_domain_type(mdata, i)) continue; Loading Loading @@ -203,9 +204,12 @@ static int mdss_smmu_attach_v2(struct mdss_data_type *mdata) } } else { pr_err("iommu device not attached for domain[%d]\n", i); mutex_unlock(&mdp_iommu_lock); return -ENODEV; } } mutex_unlock(&mdp_iommu_lock); return 0; err: Loading @@ -217,6 +221,8 @@ err: mdss_smmu->domain_attached = false; } } mutex_unlock(&mdp_iommu_lock); return rc; } Loading @@ -231,6 +237,7 @@ static int mdss_smmu_detach_v2(struct mdss_data_type *mdata) struct mdss_smmu_client *mdss_smmu; int i; mutex_lock(&mdp_iommu_lock); for (i = 0; i < MDSS_IOMMU_MAX_DOMAIN; i++) { if (!mdss_smmu_is_valid_domain_type(mdata, i)) continue; Loading @@ -239,6 +246,8 @@ static int mdss_smmu_detach_v2(struct mdss_data_type *mdata) if (mdss_smmu && mdss_smmu->dev && !mdss_smmu->handoff_pending) mdss_smmu_enable_power(mdss_smmu, false); } mutex_unlock(&mdp_iommu_lock); return 0; } Loading