2018-06-29 11:32:58

by Yannick FERTRE

[permalink] [raw]
Subject: [PATCH] drm/stm: ltdc: rework reset sequence

Reset must be properly assert before deassert.
This is important if there is an early boot splash screen
before the kernel start up.

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

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 96d20c2..8f4606d 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -1130,8 +1130,11 @@ int ltdc_load(struct drm_device *ddev)
}
}

- if (!IS_ERR(rstc))
+ if (!IS_ERR(rstc)) {
+ reset_control_assert(rstc);
+ usleep_range(10, 20);
reset_control_deassert(rstc);
+ }

/* Disable interrupts */
reg_clear(ldev->regs, LTDC_IER,
--
1.9.1



2018-07-03 11:04:00

by Philippe Cornu

[permalink] [raw]
Subject: Re: [PATCH] drm/stm: ltdc: rework reset sequence

Hi Yannick,


On 06/29/2018 01:22 PM, Yannick Fertre wrote:
> Reset must be properly assert before deassert.
> This is important if there is an early boot splash screen
> before the kernel start up.
>
> Signed-off-by: Yannick Fertre <[email protected]>
> ---
> drivers/gpu/drm/stm/ltdc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index 96d20c2..8f4606d 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -1130,8 +1130,11 @@ int ltdc_load(struct drm_device *ddev)
> }
> }
>
> - if (!IS_ERR(rstc))
> + if (!IS_ERR(rstc)) {
> + reset_control_assert(rstc);
> + usleep_range(10, 20);
> reset_control_deassert(rstc);
> + }

Thank you for your patch,

Reviewed-by: Philippe Cornu <[email protected]>
Tested-by: Philippe Cornu <[email protected]>

Philippe :-)

>
> /* Disable interrupts */
> reg_clear(ldev->regs, LTDC_IER,
>

2018-07-06 08:24:21

by Benjamin Gaignard

[permalink] [raw]
Subject: Re: [PATCH] drm/stm: ltdc: rework reset sequence

2018-06-29 13:22 GMT+02:00 Yannick Fertre <[email protected]>:
> Reset must be properly assert before deassert.
> This is important if there is an early boot splash screen
> before the kernel start up.
>
> Signed-off-by: Yannick Fertre <[email protected]>

Applied on drm-misc-next.
Thansk,
Benjamin

> ---
> drivers/gpu/drm/stm/ltdc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index 96d20c2..8f4606d 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -1130,8 +1130,11 @@ int ltdc_load(struct drm_device *ddev)
> }
> }
>
> - if (!IS_ERR(rstc))
> + if (!IS_ERR(rstc)) {
> + reset_control_assert(rstc);
> + usleep_range(10, 20);
> reset_control_deassert(rstc);
> + }
>
> /* Disable interrupts */
> reg_clear(ldev->regs, LTDC_IER,
> --
> 1.9.1
>