aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/evergreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
-rw-r--r--drivers/gpu/drm/radeon/evergreen.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
index 0318230ef274..653eff814504 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -4355,7 +4355,6 @@ int evergreen_irq_set(struct radeon_device *rdev)
4355 u32 crtc1 = 0, crtc2 = 0, crtc3 = 0, crtc4 = 0, crtc5 = 0, crtc6 = 0; 4355 u32 crtc1 = 0, crtc2 = 0, crtc3 = 0, crtc4 = 0, crtc5 = 0, crtc6 = 0;
4356 u32 hpd1, hpd2, hpd3, hpd4, hpd5, hpd6; 4356 u32 hpd1, hpd2, hpd3, hpd4, hpd5, hpd6;
4357 u32 grbm_int_cntl = 0; 4357 u32 grbm_int_cntl = 0;
4358 u32 grph1 = 0, grph2 = 0, grph3 = 0, grph4 = 0, grph5 = 0, grph6 = 0;
4359 u32 afmt1 = 0, afmt2 = 0, afmt3 = 0, afmt4 = 0, afmt5 = 0, afmt6 = 0; 4358 u32 afmt1 = 0, afmt2 = 0, afmt3 = 0, afmt4 = 0, afmt5 = 0, afmt6 = 0;
4360 u32 dma_cntl, dma_cntl1 = 0; 4359 u32 dma_cntl, dma_cntl1 = 0;
4361 u32 thermal_int = 0; 4360 u32 thermal_int = 0;
@@ -4538,15 +4537,21 @@ int evergreen_irq_set(struct radeon_device *rdev)
4538 WREG32(INT_MASK + EVERGREEN_CRTC5_REGISTER_OFFSET, crtc6); 4537 WREG32(INT_MASK + EVERGREEN_CRTC5_REGISTER_OFFSET, crtc6);
4539 } 4538 }
4540 4539
4541 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, grph1); 4540 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET,
4542 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, grph2); 4541 GRPH_PFLIP_INT_MASK);
4542 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET,
4543 GRPH_PFLIP_INT_MASK);
4543 if (rdev->num_crtc >= 4) { 4544 if (rdev->num_crtc >= 4) {
4544 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, grph3); 4545 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET,
4545 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, grph4); 4546 GRPH_PFLIP_INT_MASK);
4547 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET,
4548 GRPH_PFLIP_INT_MASK);
4546 } 4549 }
4547 if (rdev->num_crtc >= 6) { 4550 if (rdev->num_crtc >= 6) {
4548 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, grph5); 4551 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET,
4549 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, grph6); 4552 GRPH_PFLIP_INT_MASK);
4553 WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET,
4554 GRPH_PFLIP_INT_MASK);
4550 } 4555 }
4551 4556
4552 WREG32(DC_HPD1_INT_CONTROL, hpd1); 4557 WREG32(DC_HPD1_INT_CONTROL, hpd1);
@@ -4935,6 +4940,15 @@ restart_ih:
4935 break; 4940 break;
4936 } 4941 }
4937 break; 4942 break;
4943 case 8: /* D1 page flip */
4944 case 10: /* D2 page flip */
4945 case 12: /* D3 page flip */
4946 case 14: /* D4 page flip */
4947 case 16: /* D5 page flip */
4948 case 18: /* D6 page flip */
4949 DRM_DEBUG("IH: D%d flip\n", ((src_id - 8) >> 1) + 1);
4950 radeon_crtc_handle_flip(rdev, (src_id - 8) >> 1);
4951 break;
4938 case 42: /* HPD hotplug */ 4952 case 42: /* HPD hotplug */
4939 switch (src_data) { 4953 switch (src_data) {
4940 case 0: 4954 case 0: