Skip to content

Commit

Permalink
drm/panel: sharp: lq101r1sx01: Respect power timings
Browse files Browse the repository at this point in the history
Before shutting down the display using the DCS display_off command, wait
for 4 frames according to the datasheet.

Furthermore, after enabling the power supply, the supply voltage needs
around 10 ms to settle. After that, another 120 ms is required before a
DCS exit_sleep_mode command can be sent.

While at it, no longer send the DCS soft_reset command. This is totally
unnecessary because we've just powered up the display, hence it will be
in a reset state already.

Signed-off-by: Thierry Reding <treding@nvidia.com>
  • Loading branch information
Thierry Reding committed Jan 28, 2015
1 parent 4569619 commit ee920bc
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ static int sharp_panel_unprepare(struct drm_panel *panel)
if (!sharp->prepared)
return 0;

sharp_wait_frames(sharp, 4);

err = mipi_dsi_dcs_set_display_off(sharp->link1);
if (err < 0)
dev_err(panel->dev, "failed to set display off: %d\n", err);
Expand Down Expand Up @@ -180,15 +182,13 @@ static int sharp_panel_prepare(struct drm_panel *panel)
if (err < 0)
return err;

usleep_range(10000, 20000);

err = mipi_dsi_dcs_soft_reset(sharp->link1);
if (err < 0) {
dev_err(panel->dev, "soft reset failed: %d\n", err);
goto poweroff;
}

msleep(120);
/*
* According to the datasheet, the panel needs around 10 ms to fully
* power up. At least another 120 ms is required before exiting sleep
* mode to make sure the panel is ready. Throw in another 20 ms for
* good measure.
*/
msleep(150);

err = mipi_dsi_dcs_exit_sleep_mode(sharp->link1);
if (err < 0) {
Expand Down

0 comments on commit ee920bc

Please sign in to comment.