drm/amd/display: do not disable an invalid irq source in hdp finish
authorAlan Liu <HaoPing.Liu@amd.com>
Tue, 26 Apr 2022 11:50:00 +0000 (19:50 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 10 May 2022 21:53:12 +0000 (17:53 -0400)
[why]
Observing error log about trying to disable non-implemented irq source
when user unload the driver.

[how]
Check and filter the invalid irq source before disabling it.

Reviewed-by: Qingqing (Lillian) Zhuo <Qingqing.Zhuo@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Alan Liu <HaoPing.Liu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c

index 4aba0e8..19f543b 100644 (file)
@@ -928,7 +928,11 @@ void amdgpu_dm_hpd_fini(struct amdgpu_device *adev)
                                to_amdgpu_dm_connector(connector);
                const struct dc_link *dc_link = amdgpu_dm_connector->dc_link;
 
-               dc_interrupt_set(adev->dm.dc, dc_link->irq_source_hpd, false);
+               if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
+                       dc_interrupt_set(adev->dm.dc,
+                                       dc_link->irq_source_hpd,
+                                       false);
+               }
 
                if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd_rx) {
                        dc_interrupt_set(adev->dm.dc,