drm/amdgpu/virtual_dce: Virtual display doesn't support disable vblank immediately
authorEmily Deng <Emily.Deng@amd.com>
Mon, 21 Aug 2017 01:51:10 +0000 (09:51 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 29 Aug 2017 19:27:38 +0000 (15:27 -0400)
For virtual display, it uses software timer to emulate the vsync interrupt,
it doesn't have high precision, so doesn't support disable vblank immediately.

BUG: SWDEV-129274

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c

index 4bdd851f56d081310614f27dce5093255ecf7dfd..538e5f27d1205809ec293dee0aae8da5b5711e8b 100644 (file)
@@ -221,8 +221,9 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
 
        spin_lock_init(&adev->irq.lock);
 
-       /* Disable vblank irqs aggressively for power-saving */
-       adev->ddev->vblank_disable_immediate = true;
+       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) {