[Freedreno] [PATCH] drm/msm/mdp5: drop vdd regulator

Abhinav Kumar quic_abhinavk at quicinc.com
Fri Nov 5 01:06:48 UTC 2021



On 11/3/2021 5:34 PM, Dmitry Baryshkov wrote:
> The "vdd" regulator was used by the mdp5 driver only on downstream
> kernels, where the GDSC is represented as a regulator. On all current
> kernels the MDSS_GDSC is implemented as the power domain, removing the
> need for this regulator. Remove it from the mdp5 driver.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c | 24 ++---------------------
>   1 file changed, 2 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c
> index 2f4895bcb0b0..2ac8fd37c76b 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c
> @@ -16,8 +16,6 @@ struct mdp5_mdss {
>   
>   	void __iomem *mmio, *vbif;
>   
> -	struct regulator *vdd;
> -
>   	struct clk *ahb_clk;
>   	struct clk *axi_clk;
>   	struct clk *vsync_clk;
> @@ -189,8 +187,6 @@ static void mdp5_mdss_destroy(struct drm_device *dev)
>   	irq_domain_remove(mdp5_mdss->irqcontroller.domain);
>   	mdp5_mdss->irqcontroller.domain = NULL;
>   
> -	regulator_disable(mdp5_mdss->vdd);
> -
>   	pm_runtime_disable(dev->dev);
>   }
>   
> @@ -238,31 +234,17 @@ int mdp5_mdss_init(struct drm_device *dev)
>   		goto fail;
>   	}
>   
> -	/* Regulator to enable GDSCs in downstream kernels */
> -	mdp5_mdss->vdd = devm_regulator_get(dev->dev, "vdd");
> -	if (IS_ERR(mdp5_mdss->vdd)) {
> -		ret = PTR_ERR(mdp5_mdss->vdd);
> -		goto fail;
> -	}
> -
> -	ret = regulator_enable(mdp5_mdss->vdd);
> -	if (ret) {
> -		DRM_DEV_ERROR(dev->dev, "failed to enable regulator vdd: %d\n",
> -			ret);
> -		goto fail;
> -	}
> -
>   	ret = devm_request_irq(dev->dev, platform_get_irq(pdev, 0),
>   			       mdss_irq, 0, "mdss_isr", mdp5_mdss);
>   	if (ret) {
>   		DRM_DEV_ERROR(dev->dev, "failed to init irq: %d\n", ret);
> -		goto fail_irq;
> +		goto fail;
>   	}
>   
>   	ret = mdss_irq_domain_init(mdp5_mdss);
>   	if (ret) {
>   		DRM_DEV_ERROR(dev->dev, "failed to init sub-block irqs: %d\n", ret);
> -		goto fail_irq;
> +		goto fail;
>   	}
>   
>   	mdp5_mdss->base.funcs = &mdss_funcs;
> @@ -271,8 +253,6 @@ int mdp5_mdss_init(struct drm_device *dev)
>   	pm_runtime_enable(dev->dev);
>   
>   	return 0;
> -fail_irq:
> -	regulator_disable(mdp5_mdss->vdd);
>   fail:
>   	return ret;
>   }
> 


More information about the Freedreno mailing list