mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
drm/panel: simple: Replace msleep() with usleep_range()
On rk3588-evb1-lp4-v10: Before: [ 266.604393][ T1971] PM: suspend exit [ 266.792421][ T410] dw-mipi-dsi2 fde20000.dsi: [drm:dw_mipi_dsi2_encoder_atomic_enable] final DSI-Link bandwidth: 880000 x 4 Kbps total: 0.188028 After: [ 153.394800][ T1972] PM: suspend exit [ 153.559644][ T409] dw-mipi-dsi2 fde20000.dsi: [drm:dw_mipi_dsi2_encoder_atomic_enable] final DSI-Link bandwidth: 880000 x 4 Kbps total: 0.164844, save about 0.023s Signed-off-by: Tao Huang <huangtao@rock-chips.com> Change-Id: Ifa5c73732478ee253fd81b7e4fd545a4d4b35ba8
This commit is contained in:
@@ -277,7 +277,7 @@ static int panel_simple_xfer_dsi_cmd_seq(struct panel_simple *panel,
|
|||||||
dev_err(dev, "failed to write dcs cmd: %d\n", err);
|
dev_err(dev, "failed to write dcs cmd: %d\n", err);
|
||||||
|
|
||||||
if (cmd->header.delay)
|
if (cmd->header.delay)
|
||||||
msleep(cmd->header.delay);
|
usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -300,7 +300,7 @@ static int panel_simple_xfer_spi_cmd_seq(struct panel_simple *panel, struct pane
|
|||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (cmd->header.delay)
|
if (cmd->header.delay)
|
||||||
usleep_range(cmd->header.delay * 1000, (cmd->header.delay + 1) * 1000);
|
usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -478,7 +478,7 @@ static int panel_simple_disable(struct drm_panel *panel)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (p->desc->delay.disable)
|
if (p->desc->delay.disable)
|
||||||
msleep(p->desc->delay.disable);
|
usleep_range(p->desc->delay.disable * 1000, p->desc->delay.disable * 1000 + 100);
|
||||||
|
|
||||||
p->enabled = false;
|
p->enabled = false;
|
||||||
|
|
||||||
@@ -510,7 +510,7 @@ static int panel_simple_unprepare(struct drm_panel *panel)
|
|||||||
panel_simple_regulator_disable(p);
|
panel_simple_regulator_disable(p);
|
||||||
|
|
||||||
if (p->desc->delay.unprepare)
|
if (p->desc->delay.unprepare)
|
||||||
msleep(p->desc->delay.unprepare);
|
usleep_range(p->desc->delay.unprepare * 1000, p->desc->delay.unprepare * 1000 + 100);
|
||||||
|
|
||||||
p->prepared = false;
|
p->prepared = false;
|
||||||
|
|
||||||
@@ -564,7 +564,7 @@ static int panel_simple_prepare(struct drm_panel *panel)
|
|||||||
if (p->no_hpd)
|
if (p->no_hpd)
|
||||||
delay += p->desc->delay.hpd_absent_delay;
|
delay += p->desc->delay.hpd_absent_delay;
|
||||||
if (delay)
|
if (delay)
|
||||||
msleep(delay);
|
usleep_range(delay * 1000, delay * 1000 + 100);
|
||||||
|
|
||||||
if (p->hpd_gpio) {
|
if (p->hpd_gpio) {
|
||||||
if (IS_ERR(p->hpd_gpio)) {
|
if (IS_ERR(p->hpd_gpio)) {
|
||||||
@@ -589,12 +589,12 @@ static int panel_simple_prepare(struct drm_panel *panel)
|
|||||||
gpiod_direction_output(p->reset_gpio, 1);
|
gpiod_direction_output(p->reset_gpio, 1);
|
||||||
|
|
||||||
if (p->desc->delay.reset)
|
if (p->desc->delay.reset)
|
||||||
msleep(p->desc->delay.reset);
|
usleep_range(p->desc->delay.reset * 1000, p->desc->delay.reset * 1000 + 100);
|
||||||
|
|
||||||
gpiod_direction_output(p->reset_gpio, 0);
|
gpiod_direction_output(p->reset_gpio, 0);
|
||||||
|
|
||||||
if (p->desc->delay.init)
|
if (p->desc->delay.init)
|
||||||
msleep(p->desc->delay.init);
|
usleep_range(p->desc->delay.init * 1000, p->desc->delay.init * 1000 + 100);
|
||||||
|
|
||||||
if (p->desc->init_seq) {
|
if (p->desc->init_seq) {
|
||||||
if (p->desc->cmd_type == CMD_TYPE_SPI) {
|
if (p->desc->cmd_type == CMD_TYPE_SPI) {
|
||||||
@@ -621,7 +621,7 @@ static int panel_simple_enable(struct drm_panel *panel)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (p->desc->delay.enable)
|
if (p->desc->delay.enable)
|
||||||
msleep(p->desc->delay.enable);
|
usleep_range(p->desc->delay.enable * 1000, p->desc->delay.enable * 1000 + 100);
|
||||||
|
|
||||||
p->enabled = true;
|
p->enabled = true;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user