aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
diff options
context:
space:
mode:
authorMonk Liu <Monk.Liu@amd.com>2018-01-19 06:02:16 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-28 14:18:03 -0500
commit6ec956f5f57e81523a787eede9d82357465d639e (patch)
treee8bd85f8544bf17484bec1e49644bcc87dcf8652 /drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
parent7b6cbae2b15b13378995aa8ec049083713d4fbcc (diff)
drm/amdgpu: only flush hotplug work without DC
since hotplug_work is initialized under the case of no dc support Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index f6f2a662bb8f..11dfe57bd8bb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -208,7 +208,8 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
208 r = drm_irq_install(adev->ddev, adev->ddev->pdev->irq); 208 r = drm_irq_install(adev->ddev, adev->ddev->pdev->irq);
209 if (r) { 209 if (r) {
210 adev->irq.installed = false; 210 adev->irq.installed = false;
211 flush_work(&adev->hotplug_work); 211 if (!amdgpu_device_has_dc_support(adev))
212 flush_work(&adev->hotplug_work);
212 cancel_work_sync(&adev->reset_work); 213 cancel_work_sync(&adev->reset_work);
213 return r; 214 return r;
214 } 215 }
@@ -234,7 +235,8 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
234 adev->irq.installed = false; 235 adev->irq.installed = false;
235 if (adev->irq.msi_enabled) 236 if (adev->irq.msi_enabled)
236 pci_disable_msi(adev->pdev); 237 pci_disable_msi(adev->pdev);
237 flush_work(&adev->hotplug_work); 238 if (!amdgpu_device_has_dc_support(adev))
239 flush_work(&adev->hotplug_work);
238 cancel_work_sync(&adev->reset_work); 240 cancel_work_sync(&adev->reset_work);
239 } 241 }
240 242