Bug#508999: more on 508999 (lenny with wrong frequencies on Radeon Xpress 200)
Bernhard R. Link
brlink at debian.org
Sat Dec 20 10:48:23 PST 2008
Looking at the radeon_drv sources, it looks like those are only
accessing 8 bit at RADEON_CLOCK_CNTL_INDEX and not the whole int that
radeontool is writing, changing that in the driver via
--- xserver-xorg-video-ati-6.9.0/src/radeon_driver.c 2008-12-20 19:06:32.000000000 +0100
+++ xserver-xorg-video-ati-6.9.0/src/radeon_driver.c 2008-12-20 18:29:24.000000000 +0100
@@ -544,7 +544,7 @@
unsigned char *RADEONMMIO = info->MMIO;
uint32_t data;
- OUTREG8(RADEON_CLOCK_CNTL_INDEX, addr & 0x3f);
+ OUTREG(RADEON_CLOCK_CNTL_INDEX, addr & 0x3f);
RADEONPllErrataAfterIndex(info);
data = INREG(RADEON_CLOCK_CNTL_DATA);
RADEONPllErrataAfterData(info);
@@ -558,7 +558,7 @@
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
- OUTREG8(RADEON_CLOCK_CNTL_INDEX, (((addr) & 0x3f) |
+ OUTREG(RADEON_CLOCK_CNTL_INDEX, (((addr) & 0x3f) |
RADEON_PLL_WR_EN));
RADEONPllErrataAfterIndex(info);
OUTREG(RADEON_CLOCK_CNTL_DATA, data);
fixes my problem (i.e. I get a working display, and it still works after
switching to virtual console and back and changing resolutions and all those
things).
I fear that might be the case because it is overwriting some other data
in there that causes this, but I guess to know this someone with
knowledge about this registers is needed...
Hochachtungsvoll,
Bernhard R. Link
More information about the xorg-driver-ati
mailing list