drm/stm: ltdc: rework reset sequence
diff mbox

Message ID 1530271355-5608-1-git-send-email-yannick.fertre@st.com
State New
Headers show

Commit Message

Yannick Fertre June 29, 2018, 11:22 a.m. UTC
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 <yannick.fertre@st.com>
---
 drivers/gpu/drm/stm/ltdc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Philippe CORNU July 3, 2018, 11:02 a.m. UTC | #1
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 <yannick.fertre@st.com>

> ---

>   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 <philippe.cornu@st.com>

Tested-by: Philippe Cornu <philippe.cornu@st.com>


Philippe :-)

>   

>   	/* Disable interrupts */

>   	reg_clear(ldev->regs, LTDC_IER,

>
Benjamin Gaignard July 6, 2018, 8:22 a.m. UTC | #2
2018-06-29 13:22 GMT+02:00 Yannick Fertre <yannick.fertre@st.com>:
> 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 <yannick.fertre@st.com>

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
>

Patch
diff mbox

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,