mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-24 04:30:00 +07:00
drm/radeon/kms/evergreen: add missing pm.vblank_sync update in vbl handler
Should fix dynpm problems on evergreen boards Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
7c6048b7c8
commit
f5d8e0eb7a
@ -2295,6 +2295,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D1 vblank */
|
||||
if (disp_int & LB_D1_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 0);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int &= ~LB_D1_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D1 vblank\n");
|
||||
@ -2316,6 +2317,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D2 vblank */
|
||||
if (disp_int_cont & LB_D2_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 1);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int_cont &= ~LB_D2_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D2 vblank\n");
|
||||
@ -2337,6 +2339,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D3 vblank */
|
||||
if (disp_int_cont2 & LB_D3_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 2);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int_cont2 &= ~LB_D3_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D3 vblank\n");
|
||||
@ -2358,6 +2361,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D4 vblank */
|
||||
if (disp_int_cont3 & LB_D4_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 3);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int_cont3 &= ~LB_D4_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D4 vblank\n");
|
||||
@ -2379,6 +2383,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D5 vblank */
|
||||
if (disp_int_cont4 & LB_D5_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 4);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int_cont4 &= ~LB_D5_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D5 vblank\n");
|
||||
@ -2400,6 +2405,7 @@ int evergreen_irq_process(struct radeon_device *rdev)
|
||||
case 0: /* D6 vblank */
|
||||
if (disp_int_cont5 & LB_D6_VBLANK_INTERRUPT) {
|
||||
drm_handle_vblank(rdev->ddev, 5);
|
||||
rdev->pm.vblank_sync = true;
|
||||
wake_up(&rdev->irq.vblank_queue);
|
||||
disp_int_cont5 &= ~LB_D6_VBLANK_INTERRUPT;
|
||||
DRM_DEBUG("IH: D6 vblank\n");
|
||||
|
Loading…
Reference in New Issue
Block a user