2020-07-01 12:05:27

by Yannick FERTRE

[permalink] [raw]
Subject: [PATCH] drm/stm: ltdc: remove call of pm-runtime functions

It is not necessary to suspend or stop the ltdc clocks
to modify the pixel clock.

Signed-off-by: Yannick Fertre <[email protected]>
---
drivers/gpu/drm/stm/ltdc.c | 16 ----------------
1 file changed, 16 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 3f590d916e91..6e28f707092f 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -506,15 +506,7 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,
struct drm_display_mode *adjusted_mode)
{
struct ltdc_device *ldev = crtc_to_ltdc(crtc);
- struct drm_device *ddev = crtc->dev;
int rate = mode->clock * 1000;
- bool runtime_active;
- int ret;
-
- runtime_active = pm_runtime_active(ddev->dev);
-
- if (runtime_active)
- pm_runtime_put_sync(ddev->dev);

if (clk_set_rate(ldev->pixel_clk, rate) < 0) {
DRM_ERROR("Cannot set rate (%dHz) for pixel clk\n", rate);
@@ -523,14 +515,6 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,

adjusted_mode->clock = clk_get_rate(ldev->pixel_clk) / 1000;

- if (runtime_active) {
- ret = pm_runtime_get_sync(ddev->dev);
- if (ret) {
- DRM_ERROR("Failed to fixup mode, cannot get sync\n");
- return false;
- }
- }
-
DRM_DEBUG_DRIVER("requested clock %dkHz, adjusted clock %dkHz\n",
mode->clock, adjusted_mode->clock);

--
2.17.1


2020-07-02 12:21:54

by Philippe Cornu

[permalink] [raw]
Subject: Re: [PATCH] drm/stm: ltdc: remove call of pm-runtime functions



On 7/1/20 2:04 PM, Yannick Fertre wrote:
> It is not necessary to suspend or stop the ltdc clocks
> to modify the pixel clock.
>
> Signed-off-by: Yannick Fertre <[email protected]>
> ---
> drivers/gpu/drm/stm/ltdc.c | 16 ----------------
> 1 file changed, 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index 3f590d916e91..6e28f707092f 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -506,15 +506,7 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,
> struct drm_display_mode *adjusted_mode)
> {
> struct ltdc_device *ldev = crtc_to_ltdc(crtc);
> - struct drm_device *ddev = crtc->dev;
> int rate = mode->clock * 1000;
> - bool runtime_active;
> - int ret;
> -
> - runtime_active = pm_runtime_active(ddev->dev);
> -
> - if (runtime_active)
> - pm_runtime_put_sync(ddev->dev);
>
> if (clk_set_rate(ldev->pixel_clk, rate) < 0) {
> DRM_ERROR("Cannot set rate (%dHz) for pixel clk\n", rate);
> @@ -523,14 +515,6 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,
>
> adjusted_mode->clock = clk_get_rate(ldev->pixel_clk) / 1000;
>
> - if (runtime_active) {
> - ret = pm_runtime_get_sync(ddev->dev);
> - if (ret) {
> - DRM_ERROR("Failed to fixup mode, cannot get sync\n");
> - return false;
> - }
> - }
> -
> DRM_DEBUG_DRIVER("requested clock %dkHz, adjusted clock %dkHz\n",
> mode->clock, adjusted_mode->clock);
>
>
Hi Yannick,
Many thanks for your patch,
Acked-by: Philippe Cornu <[email protected]>
Philippe :-)

2020-07-08 09:52:43

by Benjamin Gaignard

[permalink] [raw]
Subject: Re: [PATCH] drm/stm: ltdc: remove call of pm-runtime functions

Le jeu. 2 juil. 2020 à 14:18, Philippe CORNU <[email protected]> a écrit :
>
>
>
> On 7/1/20 2:04 PM, Yannick Fertre wrote:
> > It is not necessary to suspend or stop the ltdc clocks
> > to modify the pixel clock.
> >
> > Signed-off-by: Yannick Fertre <[email protected]>
> > ---
> > drivers/gpu/drm/stm/ltdc.c | 16 ----------------
> > 1 file changed, 16 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> > index 3f590d916e91..6e28f707092f 100644
> > --- a/drivers/gpu/drm/stm/ltdc.c
> > +++ b/drivers/gpu/drm/stm/ltdc.c
> > @@ -506,15 +506,7 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,
> > struct drm_display_mode *adjusted_mode)
> > {
> > struct ltdc_device *ldev = crtc_to_ltdc(crtc);
> > - struct drm_device *ddev = crtc->dev;
> > int rate = mode->clock * 1000;
> > - bool runtime_active;
> > - int ret;
> > -
> > - runtime_active = pm_runtime_active(ddev->dev);
> > -
> > - if (runtime_active)
> > - pm_runtime_put_sync(ddev->dev);
> >
> > if (clk_set_rate(ldev->pixel_clk, rate) < 0) {
> > DRM_ERROR("Cannot set rate (%dHz) for pixel clk\n", rate);
> > @@ -523,14 +515,6 @@ static bool ltdc_crtc_mode_fixup(struct drm_crtc *crtc,
> >
> > adjusted_mode->clock = clk_get_rate(ldev->pixel_clk) / 1000;
> >
> > - if (runtime_active) {
> > - ret = pm_runtime_get_sync(ddev->dev);
> > - if (ret) {
> > - DRM_ERROR("Failed to fixup mode, cannot get sync\n");
> > - return false;
> > - }
> > - }
> > -
> > DRM_DEBUG_DRIVER("requested clock %dkHz, adjusted clock %dkHz\n",
> > mode->clock, adjusted_mode->clock);
> >
> >
> Hi Yannick,
> Many thanks for your patch,
> Acked-by: Philippe Cornu <[email protected]>
> Philippe :-)

Applied on drm-misc-next.

Thanks,
Benjamin

> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel