drm/panel-simple: Use ktime_get_boottime for delays
ktime_get_boottime continues while the device is suspended. This change ensures that the resume path will not be delayed if the power off delay has already been met while the device is suspended Signed-off-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20221117133655.3.Iebd9f79aba0a62015fd2383fe6986c2d6fe12cfd@changeid
This commit is contained in:
parent
62e43673ca
commit
7e682946db
|
@ -280,7 +280,7 @@ static void panel_simple_wait(ktime_t start_ktime, unsigned int min_ms)
|
|||
return;
|
||||
|
||||
min_ktime = ktime_add(start_ktime, ms_to_ktime(min_ms));
|
||||
now_ktime = ktime_get();
|
||||
now_ktime = ktime_get_boottime();
|
||||
|
||||
if (ktime_before(now_ktime, min_ktime))
|
||||
msleep(ktime_to_ms(ktime_sub(min_ktime, now_ktime)) + 1);
|
||||
|
@ -307,7 +307,7 @@ static int panel_simple_suspend(struct device *dev)
|
|||
|
||||
gpiod_set_value_cansleep(p->enable_gpio, 0);
|
||||
regulator_disable(p->supply);
|
||||
p->unprepared_time = ktime_get();
|
||||
p->unprepared_time = ktime_get_boottime();
|
||||
|
||||
kfree(p->edid);
|
||||
p->edid = NULL;
|
||||
|
@ -351,7 +351,7 @@ static int panel_simple_resume(struct device *dev)
|
|||
if (p->desc->delay.prepare)
|
||||
msleep(p->desc->delay.prepare);
|
||||
|
||||
p->prepared_time = ktime_get();
|
||||
p->prepared_time = ktime_get_boottime();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue