I have an X1400, and I also get a hard lockup when trying this out.
I have discovered that removing 0x1D from clockregs on line 381 of radeontool.c avoids the hard lockup. After removing that and running radeontool power low, I see some significant performance reduction, so something must be working.
I took a look at the AMD specs. I'm very new to this and I confess I'm having some trouble making heads or tails of it. For example, I looked up the questionable 0x1D clock register and it looks like it is MC_GUI_DYN_CNTRL (CLKIND:0x1D), so at least the code seems to agree with the documentation. However, I don't see some of the others mentioned at all -- the list skips from 0x1A to 0x1D with no mention of 0x1B and 0x1C. Are these just not mentioned since they are so similar to 0x1D? I feel there is something I'm supposed to take as implicit here that I don't know about.
It appears radeontool.c doesn't even make use of CLOCK_CNTL_INDEX and CLOCK_CNTL_DATA as defined in radeon_reg.h. Instead, in the places where (I think) they should be used, it has 0x008 and 0x00C hardwired in. Changing those to 0xE008 and 0xE00C, respectively, causes radeontool clkind to report the contents of all the clock registers to be zero, so either I made the wrong changes, there is something wrong with the docs, or there is something else going on in the code.Originally Posted by vrodic
The output of the pertinent commands is here: http://pastebin.com/m234982f1
Running 8.02 on Ubuntu gutsy.