This question seems to keep getting asked and there doesn't appear to be a definitive reference available, so this is post is intended to capture all the relevant details necessary to underclock your 6990 memory to 150MHz, and drop your core voltage to 1.050V on Linux.
At the present time there are no software tools available to reliably do this, and it requires reflashing the BIOS. The following procedure documents how to do so.
First a disclaimer: This procedure may damage/brick your card. You have been warned.
With that out of the way, I applied these settings on my two XFX 6990s in mid October 2011 and have been running without issues since that time.
Lets get started:
Download the latest version of the following tools: RBE
For the overclock BIOS I did the following:
1) With power off, set BIOS switch to overclock position on each 6990.
2) Boot to DOS on your mining rig with CD/USB/floppy (like Ultimate Boot CD) and attach media with ATIFlash.exe if not on the boot media.
3) Enumerate all cards detected with ATIFlash -i
4) Document the BIOS checksum for each of your cards with ATIFlash -cb x
where x is your adapter ID provided in step 3.
5) Dump BIOS on each adapter to USB/floppy with ATIFlash -s x BIOSx.ROM
where x is the adapter ID.
6) Remove USB/floppy and attach to a Windows PC with RBE.
7) Load each BIOSx.ROM into RBE where x is the adapter ID.
8) In the Clock settings tab, locate Clock info 00
(this should have GPU (MHz) = 880).
9) Modify the settings for Clock info 00
to have GPU (MHz) = 880, RAM (MHz) = 150, Voltage (V) = ?. (Note: Only change the RAM MHz
10) Modify the settings for Clock info 03
to have GPU (MHz) = 800, RAM (MHz) = 150, Voltage (V) = ?. (Note: Only change the RAM MHz
11) In the GPU registers edit VID4 (mV) from 1175 to 1050. Note: The voltage may or may not update in the Clock info section of RBE. This doesn't matter.
12) Save each BIOS image to the USB/floppy named as BIOSxNEW.ROM where x is the adapter ID.
13) Move the USB/Floppy back to your mining rig.
14) Confirm the checksum on each ROM image with ATIFlash -cf BIOSx.ROM
and compare with your previously documented values for each adapter. You can also see these in the Info section of RBE:If and only if the checksums match proceed to the next steps
15) Flash each new BIOS onto the respective adapter with ATIFlash -p x BIOSxNEW.ROM where x is the adapter ID.
16) Once all adapter BIOS images have been flashed, reboot. It is important not to reboot until both master/slave BIOS on a card have been flashed before rebooting.
17) Boot back into Linux, and confirm the clock settings have been updated with DISPLAY=:0 aticonfig --adapter=all --odgc
18) Mine away (cgminer no longer requires setting --gpu-memdiff)