summaryrefslogtreecommitdiff
path: root/src/radeon_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-01-26 15:39:44 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-02-01 12:07:26 -0500
commit8ad40d3c32ad5b91725bd37fcade6bed504df421 (patch)
tree3c8e49387b451213521e0da394d21e0ce17ae357 /src/radeon_crtc.c
parent2c9cf0a07ff9e5a4989861bc2fdfd71d841013a8 (diff)
evergreen: add crtc set base/format support
Diffstat (limited to 'src/radeon_crtc.c')
-rw-r--r--src/radeon_crtc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index b50cf42d..b5ce9f64 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -644,7 +644,14 @@ radeon_crtc_set_origin(xf86CrtcPtr crtc, int x, int y)
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
- if (IS_AVIVO_VARIANT) {
+
+ if (IS_DCE4_VARIANT) {
+ x &= ~3;
+ y &= ~1;
+ atombios_lock_crtc(info->atomBIOS, radeon_crtc->crtc_id, 1);
+ OUTREG(EVERGREEN_VIEWPORT_START + radeon_crtc->crtc_offset, (x << 16) | y);
+ atombios_lock_crtc(info->atomBIOS, radeon_crtc->crtc_id, 0);
+ } else if (IS_AVIVO_VARIANT) {
x &= ~3;
y &= ~1;
atombios_lock_crtc(info->atomBIOS, radeon_crtc->crtc_id, 1);