All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
@ 2016-09-26 10:21 ` Jonathan Liu
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Liu @ 2016-09-26 10:21 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: David Airlie, Chen-Yu Tsai, Thierry Reding, dri-devel,
	linux-arm-kernel, linux-kernel, Jonathan Liu

The panel should be enabled after the controller so that we do not have
visual glitches on the panel while the controller is setup. Similarly,
the panel should be disabled before the controller.

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
Changes in v2:
 - Changed the commit message to be clearer

 drivers/gpu/drm/sun4i/sun4i_rgb.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index c3ff10f..4e4bea6 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -152,15 +152,16 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
 
 	DRM_DEBUG_DRIVER("Enabling RGB output\n");
 
-	if (!IS_ERR(tcon->panel)) {
+	if (!IS_ERR(tcon->panel))
 		drm_panel_prepare(tcon->panel);
-		drm_panel_enable(tcon->panel);
-	}
 
 	/* encoder->bridge can be NULL; drm_bridge_enable checks for it */
 	drm_bridge_enable(encoder->bridge);
 
 	sun4i_tcon_channel_enable(tcon, 0);
+
+	if (!IS_ERR(tcon->panel))
+		drm_panel_enable(tcon->panel);
 }
 
 static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
@@ -171,15 +172,16 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
 
 	DRM_DEBUG_DRIVER("Disabling RGB output\n");
 
+	if (!IS_ERR(tcon->panel))
+		drm_panel_disable(tcon->panel);
+
 	sun4i_tcon_channel_disable(tcon, 0);
 
 	/* encoder->bridge can be NULL; drm_bridge_disable checks for it */
 	drm_bridge_disable(encoder->bridge);
 
-	if (!IS_ERR(tcon->panel)) {
-		drm_panel_disable(tcon->panel);
+	if (!IS_ERR(tcon->panel))
 		drm_panel_unprepare(tcon->panel);
-	}
 }
 
 static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
@ 2016-09-26 10:21 ` Jonathan Liu
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Liu @ 2016-09-26 10:21 UTC (permalink / raw)
  To: linux-arm-kernel

The panel should be enabled after the controller so that we do not have
visual glitches on the panel while the controller is setup. Similarly,
the panel should be disabled before the controller.

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
Changes in v2:
 - Changed the commit message to be clearer

 drivers/gpu/drm/sun4i/sun4i_rgb.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index c3ff10f..4e4bea6 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -152,15 +152,16 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
 
 	DRM_DEBUG_DRIVER("Enabling RGB output\n");
 
-	if (!IS_ERR(tcon->panel)) {
+	if (!IS_ERR(tcon->panel))
 		drm_panel_prepare(tcon->panel);
-		drm_panel_enable(tcon->panel);
-	}
 
 	/* encoder->bridge can be NULL; drm_bridge_enable checks for it */
 	drm_bridge_enable(encoder->bridge);
 
 	sun4i_tcon_channel_enable(tcon, 0);
+
+	if (!IS_ERR(tcon->panel))
+		drm_panel_enable(tcon->panel);
 }
 
 static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
@@ -171,15 +172,16 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
 
 	DRM_DEBUG_DRIVER("Disabling RGB output\n");
 
+	if (!IS_ERR(tcon->panel))
+		drm_panel_disable(tcon->panel);
+
 	sun4i_tcon_channel_disable(tcon, 0);
 
 	/* encoder->bridge can be NULL; drm_bridge_disable checks for it */
 	drm_bridge_disable(encoder->bridge);
 
-	if (!IS_ERR(tcon->panel)) {
-		drm_panel_disable(tcon->panel);
+	if (!IS_ERR(tcon->panel))
 		drm_panel_unprepare(tcon->panel);
-	}
 }
 
 static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
  2016-09-26 10:21 ` Jonathan Liu
@ 2016-09-27 16:05   ` Sean Paul
  -1 siblings, 0 replies; 7+ messages in thread
From: Sean Paul @ 2016-09-27 16:05 UTC (permalink / raw)
  To: Jonathan Liu
  Cc: Maxime Ripard, David Airlie, Chen-Yu Tsai, Thierry Reding,
	dri-devel, Linux ARM Kernel, Linux Kernel Mailing List

On Mon, Sep 26, 2016 at 6:21 AM, Jonathan Liu <net147@gmail.com> wrote:
> The panel should be enabled after the controller so that we do not have
> visual glitches on the panel while the controller is setup. Similarly,
> the panel should be disabled before the controller.
>
> Signed-off-by: Jonathan Liu <net147@gmail.com>

Cool, this makes much more sense.

Reviewed-by: Sean Paul <seanpaul@chromium.org>


I still think there's a problem with the bridge ops, though.


Sean


> ---
> Changes in v2:
>  - Changed the commit message to be clearer
>
>  drivers/gpu/drm/sun4i/sun4i_rgb.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
> index c3ff10f..4e4bea6 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
> @@ -152,15 +152,16 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
>
>         DRM_DEBUG_DRIVER("Enabling RGB output\n");
>
> -       if (!IS_ERR(tcon->panel)) {
> +       if (!IS_ERR(tcon->panel))
>                 drm_panel_prepare(tcon->panel);
> -               drm_panel_enable(tcon->panel);
> -       }
>
>         /* encoder->bridge can be NULL; drm_bridge_enable checks for it */
>         drm_bridge_enable(encoder->bridge);
>
>         sun4i_tcon_channel_enable(tcon, 0);
> +
> +       if (!IS_ERR(tcon->panel))
> +               drm_panel_enable(tcon->panel);
>  }
>
>  static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
> @@ -171,15 +172,16 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
>
>         DRM_DEBUG_DRIVER("Disabling RGB output\n");
>
> +       if (!IS_ERR(tcon->panel))
> +               drm_panel_disable(tcon->panel);
> +
>         sun4i_tcon_channel_disable(tcon, 0);
>
>         /* encoder->bridge can be NULL; drm_bridge_disable checks for it */
>         drm_bridge_disable(encoder->bridge);
>
> -       if (!IS_ERR(tcon->panel)) {
> -               drm_panel_disable(tcon->panel);
> +       if (!IS_ERR(tcon->panel))
>                 drm_panel_unprepare(tcon->panel);
> -       }
>  }
>
>  static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,
> --
> 2.10.0
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
@ 2016-09-27 16:05   ` Sean Paul
  0 siblings, 0 replies; 7+ messages in thread
From: Sean Paul @ 2016-09-27 16:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 26, 2016 at 6:21 AM, Jonathan Liu <net147@gmail.com> wrote:
> The panel should be enabled after the controller so that we do not have
> visual glitches on the panel while the controller is setup. Similarly,
> the panel should be disabled before the controller.
>
> Signed-off-by: Jonathan Liu <net147@gmail.com>

Cool, this makes much more sense.

Reviewed-by: Sean Paul <seanpaul@chromium.org>


I still think there's a problem with the bridge ops, though.


Sean


> ---
> Changes in v2:
>  - Changed the commit message to be clearer
>
>  drivers/gpu/drm/sun4i/sun4i_rgb.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
> index c3ff10f..4e4bea6 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
> @@ -152,15 +152,16 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
>
>         DRM_DEBUG_DRIVER("Enabling RGB output\n");
>
> -       if (!IS_ERR(tcon->panel)) {
> +       if (!IS_ERR(tcon->panel))
>                 drm_panel_prepare(tcon->panel);
> -               drm_panel_enable(tcon->panel);
> -       }
>
>         /* encoder->bridge can be NULL; drm_bridge_enable checks for it */
>         drm_bridge_enable(encoder->bridge);
>
>         sun4i_tcon_channel_enable(tcon, 0);
> +
> +       if (!IS_ERR(tcon->panel))
> +               drm_panel_enable(tcon->panel);
>  }
>
>  static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
> @@ -171,15 +172,16 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
>
>         DRM_DEBUG_DRIVER("Disabling RGB output\n");
>
> +       if (!IS_ERR(tcon->panel))
> +               drm_panel_disable(tcon->panel);
> +
>         sun4i_tcon_channel_disable(tcon, 0);
>
>         /* encoder->bridge can be NULL; drm_bridge_disable checks for it */
>         drm_bridge_disable(encoder->bridge);
>
> -       if (!IS_ERR(tcon->panel)) {
> -               drm_panel_disable(tcon->panel);
> +       if (!IS_ERR(tcon->panel))
>                 drm_panel_unprepare(tcon->panel);
> -       }
>  }
>
>  static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,
> --
> 2.10.0
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
  2016-09-26 10:21 ` Jonathan Liu
  (?)
@ 2016-09-28 21:16   ` Maxime Ripard
  -1 siblings, 0 replies; 7+ messages in thread
From: Maxime Ripard @ 2016-09-28 21:16 UTC (permalink / raw)
  To: Jonathan Liu
  Cc: David Airlie, Chen-Yu Tsai, Thierry Reding, dri-devel,
	linux-arm-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 460 bytes --]

Hi,

On Mon, Sep 26, 2016 at 08:21:45PM +1000, Jonathan Liu wrote:
> The panel should be enabled after the controller so that we do not have
> visual glitches on the panel while the controller is setup. Similarly,
> the panel should be disabled before the controller.
> 
> Signed-off-by: Jonathan Liu <net147@gmail.com>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
@ 2016-09-28 21:16   ` Maxime Ripard
  0 siblings, 0 replies; 7+ messages in thread
From: Maxime Ripard @ 2016-09-28 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Mon, Sep 26, 2016 at 08:21:45PM +1000, Jonathan Liu wrote:
> The panel should be enabled after the controller so that we do not have
> visual glitches on the panel while the controller is setup. Similarly,
> the panel should be disabled before the controller.
> 
> Signed-off-by: Jonathan Liu <net147@gmail.com>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160928/2e997576/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH][v2] drm/sun4i: rgb: Enable panel after controller
@ 2016-09-28 21:16   ` Maxime Ripard
  0 siblings, 0 replies; 7+ messages in thread
From: Maxime Ripard @ 2016-09-28 21:16 UTC (permalink / raw)
  To: Jonathan Liu
  Cc: linux-kernel, dri-devel, Chen-Yu Tsai, Thierry Reding, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 460 bytes --]

Hi,

On Mon, Sep 26, 2016 at 08:21:45PM +1000, Jonathan Liu wrote:
> The panel should be enabled after the controller so that we do not have
> visual glitches on the panel while the controller is setup. Similarly,
> the panel should be disabled before the controller.
> 
> Signed-off-by: Jonathan Liu <net147@gmail.com>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-09-28 21:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-26 10:21 [PATCH][v2] drm/sun4i: rgb: Enable panel after controller Jonathan Liu
2016-09-26 10:21 ` Jonathan Liu
2016-09-27 16:05 ` Sean Paul
2016-09-27 16:05   ` Sean Paul
2016-09-28 21:16 ` Maxime Ripard
2016-09-28 21:16   ` Maxime Ripard
2016-09-28 21:16   ` Maxime Ripard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.