]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel
authorHans de Goede <hdegoede@redhat.com>
Thu, 25 Mar 2021 11:48:22 +0000 (12:48 +0100)
committerHans de Goede <hdegoede@redhat.com>
Mon, 12 Apr 2021 08:47:08 +0000 (10:47 +0200)
commit093b7a927caf3216880916f962e8ec6945c5f4e9
tree3935c2f55d580909e5140dcc5c296afcf3f45d8a
parent0761d4407a21691516ccaa75d973aa8c433c628a
drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel

After the recently added commit 4bef0e789624 ("drm/i915: Shut down
displays gracefully on reboot"), the DSI panel on a Cherry Trail based
Predia Basic tablet would no longer properly light up after reboot.

I've managed to reproduce this without rebooting by doing:
chvt 3; echo 1 > /sys/class/graphics/fb0/blank;\
echo 0 > /sys/class/graphics/fb0/blank

Which rapidly turns the panel off and back on again.

The vlv_dsi.c code uses an intel_dsi_msleep() helper for the various delays
used for panel on/off, since starting with MIPI-sequences version >= 3 the
delays are already included inside the MIPI-sequences.

The problems exposed by the "Shut down displays gracefully on reboot"
change, show that using this helper for the panel_pwr_cycle_delay is
not the right thing to do. This has not been noticed until now because
normally the panel never is cycled off and directly on again in quick
succession.

Change the msleep for the panel_pwr_cycle_delay to a normal msleep()
call to avoid the panel staying black after a quick off + on cycle.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: 4bef0e789624 ("drm/i915: Shut down displays gracefully on reboot")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210325114823.44922-1-hdegoede@redhat.com
drivers/gpu/drm/i915/display/vlv_dsi.c