[PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

Subsystems: drm drivers, drm drivers for exynos, the rest

STALE4385d

5 messages, 5 authors, 2014-08-05 · open the first message on its own page

[PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

From: Ajay Kumar <hidden>
Date: 2014-07-31 17:42:06

Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <redacted>
---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index dc7c80b..4834932 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1351,7 +1351,7 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
 	if (ret < 0)
 		return ret;
 
-	ret = drm_panel_enable(dsi->panel);
+	ret = drm_panel_prepare(dsi->panel);
 	if (ret < 0) {
 		exynos_dsi_poweroff(dsi);
 		return ret;
@@ -1360,6 +1360,13 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
 	exynos_dsi_set_display_mode(dsi);
 	exynos_dsi_set_display_enable(dsi, true);
 
+	ret = drm_panel_enable(dsi->panel);
+	if (ret < 0) {
+		exynos_dsi_set_display_enable(dsi, false);
+		exynos_dsi_poweroff(dsi);
+		return ret;
+	}
+
 	dsi->state |= DSIM_STATE_ENABLED;
 
 	return 0;
@@ -1370,8 +1377,9 @@ static void exynos_dsi_disable(struct exynos_dsi *dsi)
 	if (!(dsi->state & DSIM_STATE_ENABLED))
 		return;
 
-	exynos_dsi_set_display_enable(dsi, false);
 	drm_panel_disable(dsi->panel);
+	exynos_dsi_set_display_enable(dsi, false);
+	drm_panel_unprepare(dsi->panel);
 	exynos_dsi_poweroff(dsi);
 
 	dsi->state &= ~DSIM_STATE_ENABLED;
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

From: Thierry Reding <hidden>
Date: 2014-08-01 09:05:06

On Thu, Jul 31, 2014 at 11:12:06PM +0530, Ajay Kumar wrote:
Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <redacted>
---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
And this one as well.

Thierry

Re: [PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

From: Inki Dae <inki.dae@samsung.com>
Date: 2014-08-03 07:58:19

2014-08-01 18:05 GMT+09:00 Thierry Reding [off-list ref]:
On Thu, Jul 31, 2014 at 11:12:06PM +0530, Ajay Kumar wrote:
quoted
Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <redacted>
---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
And this one as well.
Acked-by: Inki Dae <inki.dae@samsung.com>

Thanks,
Inki Dae
Thierry

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

Re: [PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

From: Andrzej Hajda <hidden>
Date: 2014-08-05 10:03:56

Hi Ajay,


On 07/31/2014 07:42 PM, Ajay Kumar wrote:
quoted hunk
Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <redacted>
---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index dc7c80b..4834932 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1351,7 +1351,7 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
 	if (ret < 0)
 		return ret;
 
-	ret = drm_panel_enable(dsi->panel);
+	ret = drm_panel_prepare(dsi->panel);
 	if (ret < 0) {
 		exynos_dsi_poweroff(dsi);
 		return ret;
@@ -1360,6 +1360,13 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
 	exynos_dsi_set_display_mode(dsi);
 	exynos_dsi_set_display_enable(dsi, true);
 
+	ret = drm_panel_enable(dsi->panel);
+	if (ret < 0) {
+		exynos_dsi_set_display_enable(dsi, false);
I guess drm_panel_unprepare(dsi->panel) should be here.

Regards
Andrzej
quoted hunk
+		exynos_dsi_poweroff(dsi);
+		return ret;
+	}
+
 	dsi->state |= DSIM_STATE_ENABLED;
 
 	return 0;
@@ -1370,8 +1377,9 @@ static void exynos_dsi_disable(struct exynos_dsi *dsi)
 	if (!(dsi->state & DSIM_STATE_ENABLED))
 		return;
 
-	exynos_dsi_set_display_enable(dsi, false);
 	drm_panel_disable(dsi->panel);
+	exynos_dsi_set_display_enable(dsi, false);
+	drm_panel_unprepare(dsi->panel);
 	exynos_dsi_poweroff(dsi);
 
 	dsi->state &= ~DSIM_STATE_ENABLED;

Re: [PATCH 07/15] drm/exynos: dsi: Add support for panel prepare and unprepare routines

From: Ajay kumar <hidden>
Date: 2014-08-05 16:11:09

Hi Andreas,


On Tue, Aug 5, 2014 at 3:33 PM, Andrzej Hajda [off-list ref] wrote:
Hi Ajay,


On 07/31/2014 07:42 PM, Ajay Kumar wrote:
quoted
Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <redacted>
---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index dc7c80b..4834932 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1351,7 +1351,7 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
      if (ret < 0)
              return ret;

-     ret = drm_panel_enable(dsi->panel);
+     ret = drm_panel_prepare(dsi->panel);
      if (ret < 0) {
              exynos_dsi_poweroff(dsi);
              return ret;
@@ -1360,6 +1360,13 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
      exynos_dsi_set_display_mode(dsi);
      exynos_dsi_set_display_enable(dsi, true);

+     ret = drm_panel_enable(dsi->panel);
+     if (ret < 0) {
+             exynos_dsi_set_display_enable(dsi, false);
I guess drm_panel_unprepare(dsi->panel) should be here.
Thanks for pointing it out. I am not sure if Thierry has already
picked this up since Inki has given Acked by.
In that case, you can send it as a fix separately :)

Ajay
quoted
+             exynos_dsi_poweroff(dsi);
+             return ret;
+     }
+
      dsi->state |= DSIM_STATE_ENABLED;

      return 0;
@@ -1370,8 +1377,9 @@ static void exynos_dsi_disable(struct exynos_dsi *dsi)
      if (!(dsi->state & DSIM_STATE_ENABLED))
              return;

-     exynos_dsi_set_display_enable(dsi, false);
      drm_panel_disable(dsi->panel);
+     exynos_dsi_set_display_enable(dsi, false);
+     drm_panel_unprepare(dsi->panel);
      exynos_dsi_poweroff(dsi);

      dsi->state &= ~DSIM_STATE_ENABLED;

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help