[Freedreno] [PATCH 1/2] drm/msm/mdp4: move iommu_domain_alloc() call close to its usage
Abhinav Kumar
quic_abhinavk at quicinc.com
Thu Jun 16 06:36:09 UTC 2022
On 5/5/2022 6:50 AM, Dmitry Baryshkov wrote:
> Move iommu_domain_alloc() in front of adress space/IOMMU initialization.
> This allows us to drop it from struct mdp4_cfg_platform which
> remained from the pre-DT days.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
> ---
> drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 8 ++++----
> drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 1 -
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> index fb48c8c19ec3..1fba6ab06eb1 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> @@ -388,6 +388,7 @@ static int mdp4_kms_init(struct drm_device *dev)
> struct msm_drm_private *priv = dev->dev_private;
> struct mdp4_kms *mdp4_kms;
> struct msm_kms *kms = NULL;
> + struct iommu_domain *iommu;
> struct msm_gem_address_space *aspace;
> int irq, ret;
> u32 major, minor;
> @@ -495,9 +496,9 @@ static int mdp4_kms_init(struct drm_device *dev)
> mdp4_disable(mdp4_kms);
> mdelay(16);
>
> - if (config->iommu) {
> - struct msm_mmu *mmu = msm_iommu_new(&pdev->dev,
> - config->iommu);
> + iommu = iommu_domain_alloc(pdev->dev.bus);
> + if (iommu) {
> + struct msm_mmu *mmu = msm_iommu_new(&pdev->dev, iommu);
>
> aspace = msm_gem_address_space_create(mmu,
> "mdp4", 0x1000, 0x100000000 - 0x1000);
> @@ -557,7 +558,6 @@ static struct mdp4_platform_config *mdp4_get_config(struct platform_device *dev)
>
> /* TODO: Chips that aren't apq8064 have a 200 Mhz max_clk */
> config.max_clk = 266667000;
> - config.iommu = iommu_domain_alloc(&platform_bus_type);
>
> return &config;
> }
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h
> index e8ee92ab7956..7cc549b6a82b 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h
> @@ -44,7 +44,6 @@ struct mdp4_kms {
>
> /* platform config data (ie. from DT, or pdata) */
> struct mdp4_platform_config {
> - struct iommu_domain *iommu;
> uint32_t max_clk;
> };
>
More information about the Freedreno
mailing list