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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org