]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
Merge tag 'ceph-for-4.15-rc1' of git://github.com/ceph/ceph-client
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_irq.c
index 538e5f27d1205809ec293dee0aae8da5b5711e8b..47c5ce9807db28f8f9e6906ca53338cbee24742a 100644 (file)
 
 #include <linux/pm_runtime.h>
 
+#ifdef CONFIG_DRM_AMD_DC
+#include "amdgpu_dm_irq.h"
+#endif
+
 #define AMDGPU_WAIT_IDLE_TIMEOUT 200
 
 /*
@@ -221,15 +225,6 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
 
        spin_lock_init(&adev->irq.lock);
 
-       if (!adev->enable_virtual_display)
-               /* Disable vblank irqs aggressively for power-saving */
-               adev->ddev->vblank_disable_immediate = true;
-
-       r = drm_vblank_init(adev->ddev, adev->mode_info.num_crtc);
-       if (r) {
-               return r;
-       }
-
        /* enable msi */
        adev->irq.msi_enabled = false;
 
@@ -241,7 +236,21 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
                }
        }
 
-       INIT_WORK(&adev->hotplug_work, amdgpu_hotplug_work_func);
+       if (!amdgpu_device_has_dc_support(adev)) {
+               if (!adev->enable_virtual_display)
+                       /* Disable vblank irqs aggressively for power-saving */
+                       /* XXX: can this be enabled for DC? */
+                       adev->ddev->vblank_disable_immediate = true;
+
+               r = drm_vblank_init(adev->ddev, adev->mode_info.num_crtc);
+               if (r)
+                       return r;
+
+               /* pre DCE11 */
+               INIT_WORK(&adev->hotplug_work,
+                               amdgpu_hotplug_work_func);
+       }
+
        INIT_WORK(&adev->reset_work, amdgpu_irq_reset_work_func);
 
        adev->irq.installed = true;
This page took 0.036451 seconds and 4 git commands to generate.