aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/atombios_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-10-22 16:12:34 -0400
committerDave Airlie <airlied@redhat.com>2009-10-25 23:28:22 -0400
commitc290dadf4cac25cc91529d84004795ab43fc0821 (patch)
tree22015727d8ccfeb2dcb638c5cd29bb04b8353171 /drivers/gpu/drm/radeon/atombios_crtc.c
parent33fdb15c99aac20d238af487fa363d3e5c7ed197 (diff)
drm/radeon/kms/r7xx: add regs for 40 bit CUR/GRPH addresses
The *_HIGH regs are reversed. The secondary ones are in the primary block and vice versa. We currently only use a 32 bit internal address, so these are 0 for now. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index f7dcb6916837..9c26e538a1e0 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -577,6 +577,16 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
577 WREG32(AVIVO_D1VGA_CONTROL, 0); 577 WREG32(AVIVO_D1VGA_CONTROL, 0);
578 else 578 else
579 WREG32(AVIVO_D2VGA_CONTROL, 0); 579 WREG32(AVIVO_D2VGA_CONTROL, 0);
580
581 if (rdev->family >= CHIP_RV770) {
582 if (radeon_crtc->crtc_id) {
583 WREG32(R700_D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH, 0);
584 WREG32(R700_D2GRPH_SECONDARY_SURFACE_ADDRESS_HIGH, 0);
585 } else {
586 WREG32(R700_D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH, 0);
587 WREG32(R700_D1GRPH_SECONDARY_SURFACE_ADDRESS_HIGH, 0);
588 }
589 }
580 WREG32(AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS + radeon_crtc->crtc_offset, 590 WREG32(AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS + radeon_crtc->crtc_offset,
581 (u32) fb_location); 591 (u32) fb_location);
582 WREG32(AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS + 592 WREG32(AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS +