• Hans de Goede's avatar
    drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel · aee6f25e
    Hans de Goede authored
    After the recently added commit fe0f1e3b ("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: fe0f1e3b ("drm/i915: Shut down displays gracefully on reboot")
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210325114823.44922-1-hdegoede@redhat.com
    (cherry picked from commit 2878b29f)
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    aee6f25e
vlv_dsi.c 60.3 KB