diff mbox series

drm/msm/mdp5: drop vdd regulator

Message ID 20211104003428.2205497-1-dmitry.baryshkov@linaro.org
State Accepted
Commit 4cef29b64eba5ac9909a072c797199714cdfb3eb
Headers show
Series drm/msm/mdp5: drop vdd regulator | expand

Commit Message

Dmitry Baryshkov Nov. 4, 2021, 12:34 a.m. UTC
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@linaro.org>
---
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c | 24 ++---------------------
 1 file changed, 2 insertions(+), 22 deletions(-)

-- 
2.33.0

Comments

Abhinav Kumar Nov. 5, 2021, 1:06 a.m. UTC | #1
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@linaro.org>

Reviewed-by: Abhinav Kumar <quic_abhinavk@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;

>   }

>
Bjorn Andersson Nov. 6, 2021, 3:49 p.m. UTC | #2
On Wed 03 Nov 19:34 CDT 2021, 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@linaro.org>

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> ---
>  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;
>  }
> -- 
> 2.33.0
>
diff mbox series

Patch

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;
 }