• Hans de Goede's avatar
    drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep() · c8c2969b
    Hans de Goede authored
    The intel_dsi_msleep() helper skips sleeping if the MIPI-sequences have
    a version of 3 or newer and the panel is in vid-mode.
    
    This is based on the big comment around line 730 which starts with
    "Panel enable/disable sequences from the VBT spec.", where
    the "v3 video mode seq" column does not have any wait t# entries.
    
    Checking the Windows driver shows that it does always honor
    the VBT delays independent of the version of the VBT sequences.
    
    Commit 6fdb335f ("drm/i915/dsi: Use unconditional msleep for
    the panel_on_delay when there is no reset-deassert MIPI-sequence")
    switched to a direct msleep() instead of intel_dsi_msleep()
    when there is no MIPI_SEQ_DEASSERT_RESET sequence, to fix
    the panel on an Acer Aspire Switch 10 E SW3-016 not turning on.
    
    And now testing on a Nextbook Ares 8A shows that panel_on_delay
    must always be honored otherwise the panel will not turn on.
    
    Instead of only always using regular msleep() for panel_on_delay
    do as Windows does and always use regular msleep() everywhere
    were intel_dsi_msleep() is used and drop the intel_dsi_msleep()
    helper.
    
    Changes in v2:
    - Replace all intel_dsi_msleep() calls instead of just
      the intel_dsi_msleep(panel_on_delay) call
    
    Cc: stable@vger.kernel.org
    Fixes: 6fdb335f ("drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence")
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230425194441.68086-1-hdegoede@redhat.com
    (cherry picked from commit fa83c121)
    Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
    c8c2969b
intel_dsi_vbt.c 30.6 KB