Skip to contentSkip to conversation

drm/panel: sharp: lq101r1sx01: Send cmds to panel from link2

PATCH In review Mark Zhang 2 participants 3 messages Mar 25, 2015 – Mar 26, 2015 2 messages not in the archive

Subsystems (4)
lore
Share & tools
lore

Mark Zhang

author
#0 lore raw

PATCH v2 1/1 drm/panel: sharp: lq101r1sx01: Send cmds to panel from link2

Sharp lq101r1sx01 panel works as left-right gang mode. So link2 should send cmds like "exit sleep mode", "set display on" to panel as well.

---
 drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 26 +++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c +26 -0
index 3cce3ca19601..13e67a0ad3d9 100644
@@ -119,10 +119,18 @@ static int sharp_panel_unprepare(struct drm_panel *panel)
 	err = mipi_dsi_dcs_set_display_off(sharp->link1);
 	if (err < 0)
 		dev_err(panel->dev, "failed to set display off: %d\n", err);
+	err = mipi_dsi_dcs_set_display_off(sharp->link2);
+	if (err < 0)
+		dev_err(panel->dev, "link2: failed to set display off: %d\n",
+					err);
 
 	err = mipi_dsi_dcs_enter_sleep_mode(sharp->link1);
 	if (err < 0)
 		dev_err(panel->dev, "failed to enter sleep mode: %d\n", err);
+	err = mipi_dsi_dcs_enter_sleep_mode(sharp->link2);
+	if (err < 0)
+		dev_err(panel->dev, "link2: failed to enter sleep mode: %d\n",
+					err);
 
 	msleep(120);
 
@@ -193,6 +201,12 @@ static int sharp_panel_prepare(struct drm_panel *panel)
 		dev_err(panel->dev, "failed to exit sleep mode: %d\n", err);
 		goto poweroff;
 	}
+	err = mipi_dsi_dcs_exit_sleep_mode(sharp->link2);
+	if (err < 0) {
+		dev_err(panel->dev, "link2: failed to exit sleep mode: %d\n",
+					err);
+		goto poweroff;
+	}
 
 	/*
 	 * The MIPI DCS specification mandates this delay only between the
@@ -222,6 +236,12 @@ static int sharp_panel_prepare(struct drm_panel *panel)
 		dev_err(panel->dev, "failed to set pixel format: %d\n", err);
 		goto poweroff;
 	}
+	err = mipi_dsi_dcs_set_pixel_format(sharp->link2, format);
+	if (err < 0) {
+		dev_err(panel->dev, "link2: failed to set pixel format: %d\n",
+					err);
+		goto poweroff;
+	}
 
 	/*
 	 * TODO: The device supports both left-right and even-odd split
@@ -243,6 +263,12 @@ static int sharp_panel_prepare(struct drm_panel *panel)
 		dev_err(panel->dev, "failed to set display on: %d\n", err);
 		goto poweroff;
 	}
+	err = mipi_dsi_dcs_set_display_on(sharp->link2);
+	if (err < 0) {
+		dev_err(panel->dev, "link2: failed to set display on: %d\n",
+					err);
+		goto poweroff;
+	}
 
 	sharp->prepared = true;
 
Signature · 1 line
2.1.4

A message that is not in the archive (sent off-list or not yet received): 1427266602-31905-1-git-send-email-markz-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org

#2 lore raw
Quoted 3 lines · Mark Zhang

Sharp lq101r1sx01 panel works as left-right gang mode. So link2 should send cmds like "exit sleep mode", "set display on" to panel as well.

What's the changelog v1->v2?

I expect you should CC the DRM list and maintainer too?

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#4 lore raw

I've talked with Thierry about this. The patch doesn't make sense for now. So please ignore it, thanks Stephen/Thierry.

Mark

Quoted 8 lines · Stephen Warren
Quoted 3 lines · Mark Zhang

Sharp lq101r1sx01 panel works as left-right gang mode. So link2 should send cmds like "exit sleep mode", "set display on" to panel as well.

What's the changelog v1->v2?

I expect you should CC the DRM list and maintainer too?