• Imre Deak's avatar
    drm/i915: Disable intel HPD poll after DRM poll init/enable · 24b412b1
    Imre Deak authored
    The only purpose of intel_hpd_poll_disable() during driver loading and
    system resume - at which point polling should be disabled anyway, except
    for connectors in an IRQ storm, for which the polling will stay enabled -
    is to force-detect all the connectors. However this detection in
    i915_hpd_poll_init_work() depends on drm.mode_config.poll_enabled, which
    will get set in drm_kms_helper_poll_init(), possibly after
    i915_hpd_poll_init_work() is scheduled. Hence the initial detection of
    connectors during driver loading may not happen.
    
    Fix the above by moving intel_hpd_poll_disable() after
    i915_hpd_poll_init_work(), the proper place anyway for doing the above
    detection after all the HW initialization steps are complete. Change the
    order the same way during system resume as well. The above race
    condition shouldn't matter here - as drm.mode_config.poll_enabled will
    be set - but the detection should happen here as well after the HW init
    steps are done.
    
    Link: https://patchwork.freedesktop.org/patch/msgid/20240104083008.2715733-5-imre.deak@intel.comReviewed-by: default avatarJouni Högander <jouni.hogander@intel.com>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    24b412b1
intel_display_driver.c 14.5 KB