• Guchun Chen's avatar
    drm/amdgpu: move poll enabled/disable into non DC path · 3fadda5d
    Guchun Chen authored
    Some amd asics having reliable hotplug support don't call
    drm_kms_helper_poll_init in driver init sequence. However,
    due to the unified suspend/resume path for all asics, because
    the output_poll_work->func is not set for these asics, a warning
    arrives when suspending.
    
    [   90.656049]  <TASK>
    [   90.656050]  ? console_unlock+0x4d/0x100
    [   90.656053]  ? __irq_work_queue_local+0x27/0x60
    [   90.656056]  ? irq_work_queue+0x2b/0x50
    [   90.656057]  ? __wake_up_klogd+0x40/0x60
    [   90.656059]  __cancel_work_timer+0xed/0x180
    [   90.656061]  drm_kms_helper_poll_disable.cold+0x1f/0x2c [drm_kms_helper]
    [   90.656072]  amdgpu_device_suspend+0x81/0x170 [amdgpu]
    [   90.656180]  amdgpu_pmops_runtime_suspend+0xb5/0x1b0 [amdgpu]
    [   90.656269]  pci_pm_runtime_suspend+0x61/0x1b0
    
    drm_kms_helper_poll_enable/disable is valid when poll_init is called in
    amdgpu code, which is only used in non DC path. So move such codes into
    non-DC path code to get rid of such warnings.
    
    v1: introduce use_kms_poll flag in amdgpu as the poll stuff check
    v2: use dc_enabled as the flag to simply code
    v3: move code into non DC path instead of relying on any flag
    
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2411
    Fixes: a4e77172 ("drm/probe_helper: sort out poll_running vs poll_enabled")
    Reported-by: default avatarBert Karwatzki <spasswolf@web.de>
    Suggested-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Suggested-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarGuchun Chen <guchun.chen@amd.com>
    Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    3fadda5d
amdgpu_device.c 162 KB