Announcement

Collapse
No announcement yet.

ATI Radeon HD6970 (Cayman) power saving doesn't work with open source radeon driver

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ATI Radeon HD6970 (Cayman) power saving doesn't work with open source radeon driver

    After googling and searching various forums for help didn't solve my problem, I now post here:

    I'm running Kubuntu 12.04.01, Kernel 3.2, and using a Radeon 6970 (Cayman chip). Using two monitors side by side. The open source driver that comes with Ubuntu 12.04.01 is used. No xorg.conf exists.

    I tried to set power save as per: http://askubuntu.com/questions/16207...aining-it-afte via:

    Code:
    echo profile > /sys/class/drm/card0/device/power_method
    echo low > /sys/class/drm/card0/device/power_profile
    However
    Code:
    cat /sys/kernel/debug/dri/0/radeon_pm_info
    shows no change wether I set low, mid, high or auto profile. Using dynpm as power_method has no effect either.

    Any ideas what might cause this and how to proceed?

    Thanks and best regards
    Drake

  • #2
    It's a bug I've been looking at lately: https://bugs.freedesktop.org/show_bug.cgi?id=49981

    It's because the card use different power states depending on whether it's running one or two heads. The problem seems to be that for HD6000s there doesn't appear to be a second 'performance' power state in the atombios, or if there is, it doesn't allow the clock to be altered. If you grab the kernel source and alter the numbers I mention in the last post it will fix it, but all it's really doing is using the same low power mode as single-head configuration uses. The source file you want is drivers/gpu/drm/radeon/r600.c, line 510.
    Code:
    if (rdev->flags & RADEON_IS_MOBILITY)
    	idx = radeon_pm_get_type_index(rdev, POWER_STATE_TYPE_BATTERY, 1); // change to 0
    else
    	idx = radeon_pm_get_type_index(rdev, POWER_STATE_TYPE_PERFORMANCE, 1); // change to 0
    Can't really do much about the bug without knowing what power states the HD6000 series supports, and whether they are different from all the other families that use the r600 profile settings.

    Comment


    • #3
      Power-management is broken by design for the radeon driver and this is a explicit management decision say "hello" to "Bridgman".
      maybe ask the new guy "twriter" (tim writer)

      But I think he is not allowed to chance anything because he is forced to act inside of the corporatism logic and this drains the support money inside of the market-share to a useless and pointless contribution.

      But maybe Bridgman is innocent and he only act like this because the consumers force them (amd) to act like this.

      The best you can do is sell your AMD hardware on ebay and buy Loongson,ARM and Intel hardware.

      And don't even try to argue with these people because : resistance against corporatism is futile

      Comment


      • #4
        https://bugs.freedesktop.org/show_bug.cgi?id=49981

        Comment


        • #5
          Power management does not work so well with multiple monitors attached. Try booting with only one monitor attached, and see if that allows you to change the power profile. Also, use a more recent kernel if you can.

          Comment


          • #6
            Originally posted by chithanh View Post
            Power management does not work so well with multiple monitors attached. Try booting with only one monitor attached, and see if that allows you to change the power profile.
            I can confirm that the problem is related to the dualhead setup. Disabling the second monitor via
            Code:
            xrandr
            alows to the card to use low power profile imeadiately, no reboot required. Temperature difference is 10C. Upon reenabling the second monitor the low power state does however not presist, but the card siwtches to high again.

            Thanks for your pointers. Now I'm goingt to search for the easiest way around, maintaining my own kernel is more work than I would like ... Maybe the new kernel from Ubuntu 12.10 (linux-3.5.3) solves the problem?

            Comment


            • #7
              Originally posted by Ares Drake View Post
              Maybe the new kernel from Ubuntu 12.10 (linux-3.5.3) solves the problem?
              Nope, the bad PM code is still in the latest kernel source. Doesn't seem as if anyone wants to touch it. I could submit a patch, but the r600 profile affects so many cards, I wouldn't know if I was breaking the power profiles for all the others or not.

              Comment


              • #8
                Any chance anyone with an hd6k can add drm.debug=2 to the kernel options and print the output of
                dmesg | grep "radeon_pm_print_states"

                For me it results in:
                Code:
                [    7.946934] [drm:radeon_pm_print_states], State 0: Default
                [    7.946935] [drm:radeon_pm_print_states],    Default
                [    7.946936] [drm:radeon_pm_print_states], 
                [    7.946938] [drm:radeon_pm_print_states],    3 Clock Mode(s)
                [    7.946939] [drm:radeon_pm_print_states],            0 e: 900000     m: 1050000      v: 1175 No display only
                [    7.946940] [drm:radeon_pm_print_states],            1 e: 900000     m: 1050000      v: 1175
                [    7.946942] [drm:radeon_pm_print_states],            2 e: 900000     m: 1050000      v: 1175
                [    7.946943] [drm:radeon_pm_print_states], State 1: Performance
                [    7.946944] [drm:radeon_pm_print_states],    16 PCIE Lanes
                [    7.946945] [drm:radeon_pm_print_states],    3 Clock Mode(s)
                [    7.946946] [drm:radeon_pm_print_states],            0 e: 100000     m: 150000       v: 950  No display only
                [    7.946947] [drm:radeon_pm_print_states],            1 e: 775000     m: 1050000      v: 1100
                [    7.946948] [drm:radeon_pm_print_states],            2 e: 900000     m: 1050000      v: 1175
                [    7.946950] [drm:radeon_pm_print_states], State 2: Default
                [    7.946950] [drm:radeon_pm_print_states],    16 PCIE Lanes
                [    7.946951] [drm:radeon_pm_print_states],    3 Clock Mode(s)
                [    7.946952] [drm:radeon_pm_print_states],            0 e: 300000     m: 1050000      v: 950  No display only
                [    7.946953] [drm:radeon_pm_print_states],            1 e: 300000     m: 1050000      v: 950
                [    7.946955] [drm:radeon_pm_print_states],            2 e: 900000     m: 1050000      v: 1175
                [    7.946956] [drm:radeon_pm_print_states], State 3: Default
                [    7.946957] [drm:radeon_pm_print_states],    16 PCIE Lanes
                [    7.946958] [drm:radeon_pm_print_states],    3 Clock Mode(s)
                [    7.946959] [drm:radeon_pm_print_states],            0 e: 600000     m: 1050000      v: 1000 No display only
                [    7.946960] [drm:radeon_pm_print_states],            1 e: 600000     m: 1050000      v: 1000
                [    7.946961] [drm:radeon_pm_print_states],            2 e: 900000     m: 1050000      v: 1175
                So there is only one performance state, on my card at least, but it seems weird that there are 3 default states. That suggests there is something wrong in atombios I think. It would appear that the first default state is being used after failing to find the 2nd performance state. Even with the performance mode being used for single head mode, I don't think it should be using the first clock mode as that seems reserved for when dpms is off. If anything I think it should be using the second default with the clock at 300k.

                Comment


                • #9
                  Originally posted by c0ld View Post
                  Any chance anyone with an hd6k can add drm.debug=2 to the kernel options and print the output of
                  dmesg | grep "radeon_pm_print_states"
                  Hi! I'm running Debian GNU/Linux testing+unstable on HP laptop with integrated and discrete radeons. Linux kernel 3.2.30-1 amd64 (debian stock). I'm running with low profile and discrete card switched off with vgaswitcheroo (switches after initialization).

                  Here is my output:

                  1. For IGP (Radeon 4200):
                  [ 1.429314] [drm:radeon_pm_print_states], 6 Power State(s)
                  [ 1.429316] [drm:radeon_pm_print_states], State 0: Default
                  [ 1.429318] [drm:radeon_pm_print_states], Default
                  [ 1.429319] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429321] [drm:radeon_pm_print_states], 0 e: 500000
                  [ 1.429323] [drm:radeon_pm_print_states], State 1: Performance
                  [ 1.429325] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429327] [drm:radeon_pm_print_states], 0 e: 200000
                  [ 1.429329] [drm:radeon_pm_print_states], State 2: Battery
                  [ 1.429330] [drm:radeon_pm_print_states], Single display only
                  [ 1.429332] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429334] [drm:radeon_pm_print_states], 0 e: 200000
                  [ 1.429335] [drm:radeon_pm_print_states], State 3: Default
                  [ 1.429337] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429339] [drm:radeon_pm_print_states], 0 e: 500000
                  [ 1.429340] [drm:radeon_pm_print_states], State 4: Battery
                  [ 1.429342] [drm:radeon_pm_print_states], Single display only
                  [ 1.429344] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429345] [drm:radeon_pm_print_states], 0 e: 380000
                  [ 1.429347] [drm:radeon_pm_print_states], State 5: Battery
                  [ 1.429349] [drm:radeon_pm_print_states], Single display only
                  [ 1.429351] [drm:radeon_pm_print_states], 1 Clock Mode(s)
                  [ 1.429352] [drm:radeon_pm_print_states], 0 e: 380000
                  [ 1.429361] [drm] radeon: power management initialized

                  2. For discrete (Radeon 6650M):
                  [ 3.746209] [drm:radeon_pm_print_states], 6 Power State(s)
                  [ 3.746211] [drm:radeon_pm_print_states], State 0: Default
                  [ 3.746213] [drm:radeon_pm_print_states], Default
                  [ 3.746214] [drm:radeon_pm_print_states], 16 PCIE Lanes
                  [ 3.746216] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746218] [drm:radeon_pm_print_states], 0 e: 600000 m: 900000 v: 1000 No display only
                  [ 3.746220] [drm:radeon_pm_print_states], 1 e: 600000 m: 900000 v: 1000
                  [ 3.746222] [drm:radeon_pm_print_states], 2 e: 600000 m: 900000 v: 1000
                  [ 3.746225] [drm:radeon_pm_print_states], State 1: Performance
                  [ 3.746226] [drm:radeon_pm_print_states], 16 PCIE Lanes
                  [ 3.746228] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746230] [drm:radeon_pm_print_states], 0 e: 100000 m: 150000 v: 900 No display only
                  [ 3.746232] [drm:radeon_pm_print_states], 1 e: 400000 m: 900000 v: 1000
                  [ 3.746234] [drm:radeon_pm_print_states], 2 e: 600000 m: 900000 v: 1000
                  [ 3.746236] [drm:radeon_pm_print_states], State 2: Default
                  [ 3.746238] [drm:radeon_pm_print_states], 16 PCIE Lanes
                  [ 3.746239] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746241] [drm:radeon_pm_print_states], 0 e: 600000 m: 900000 v: 1000 No display only
                  [ 3.746243] [drm:radeon_pm_print_states], 1 e: 600000 m: 900000 v: 1000
                  [ 3.746246] [drm:radeon_pm_print_states], 2 e: 600000 m: 900000 v: 1000
                  [ 3.746248] [drm:radeon_pm_print_states], State 3: Battery
                  [ 3.746249] [drm:radeon_pm_print_states], 4 PCIE Lanes
                  [ 3.746251] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746252] [drm:radeon_pm_print_states], 0 e: 100000 m: 150000 v: 900 No display only
                  [ 3.746255] [drm:radeon_pm_print_states], 1 e: 100000 m: 150000 v: 900
                  [ 3.746257] [drm:radeon_pm_print_states], 2 e: 300000 m: 300000 v: 900
                  [ 3.746259] [drm:radeon_pm_print_states], State 4: Battery
                  [ 3.746260] [drm:radeon_pm_print_states], 4 PCIE Lanes
                  [ 3.746262] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746264] [drm:radeon_pm_print_states], 0 e: 600000 m: 900000 v: 1000 No display only
                  [ 3.746266] [drm:radeon_pm_print_states], 1 e: 600000 m: 900000 v: 1000
                  [ 3.746268] [drm:radeon_pm_print_states], 2 e: 600000 m: 900000 v: 1000
                  [ 3.746270] [drm:radeon_pm_print_states], State 5: Battery
                  [ 3.746272] [drm:radeon_pm_print_states], 4 PCIE Lanes
                  [ 3.746273] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                  [ 3.746275] [drm:radeon_pm_print_states], 0 e: 300000 m: 300000 v: 900 No display only
                  [ 3.746277] [drm:radeon_pm_print_states], 1 e: 300000 m: 300000 v: 900
                  [ 3.746279] [drm:radeon_pm_print_states], 2 e: 300000 m: 300000 v: 900
                  [ 3.747499] [drm] radeon: power management initialized

                  Hope this will help.

                  Comment


                  • #10
                    Originally posted by necro-lover View Post
                    The best you can do is sell your AMD hardware on ebay and buy Loongson,ARM and Intel hardware.
                    lolwut?

                    Loongson = Underpowered chip for which you still need a GPU. (ATI nVidia)

                    ARM = Underpowered chip for which you still need a GPU. (bonus closed drivers for every GPU related to ARM)

                    Intel = Buggy firmware mobos for which they don't give a fuck about linux. They don't support it. (+ GPUS not on par with AMD nVidia)

                    Enjoy.

                    Comment


                    • #11
                      result from radeon 6850

                      root /home/dim # dmesg | grep radeon
                      [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-bzImage-3.6.0-rc7 root=/dev/sda2 ro pcie_aspm=force radeon.pcie_gen2=1 radeon.dynclks=1 radeon.audio=0 drm.debug=2
                      [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-bzImage-3.6.0-rc7 root=/dev/sda2 ro pcie_aspm=force radeon.pcie_gen2=1 radeon.dynclks=1 radeon.audio=0 drm.debug=2
                      [ 5.761536] [drm] radeon defaulting to kernel modesetting.
                      [ 5.761659] [drm] radeon kernel modesetting enabled.
                      [ 5.761787] bus: 'pci': add driver radeon
                      [ 5.761830] bus: 'pci': driver_probe_device: matched device 0000:03:00.0 with driver radeon
                      [ 5.761833] bus: 'pci': really_probe: probing driver radeon with device 0000:03:00.0
                      [ 5.763466] radeon 0000:03:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
                      [ 5.763658] radeon 0000:03:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF
                      [ 5.766629] [drm] radeon: 1024M of VRAM memory ready
                      [ 5.766745] [drm] radeon: 512M of GTT memory ready.
                      [ 5.767182] radeon 0000:03:00.0: irq 43 for MSI/MSI-X
                      [ 5.767192] radeon 0000:03:00.0: radeon: using MSI.
                      [ 5.767343] [drm] radeon: irq initialized.
                      [ 5.768388] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
                      [ 5.768623] Registering platform device 'radeon_cp.0'. Parent at platform
                      [ 5.768625] device: 'radeon_cp.0': device_add
                      [ 5.768633] bus: 'platform': add device radeon_cp.0
                      [ 5.768642] PM: Adding info for platform:radeon_cp.0
                      [ 5.768847] device: 'radeon_cp.0': device_add
                      [ 5.768857] PM: Adding info for No Bus:radeon_cp.0
                      [ 5.768862] firmware radeon_cp.0: firmware: requesting radeon/BARTS_pfp.bin
                      [ 5.819565] PM: Removing info for No Bus:radeon_cp.0
                      [ 5.819650] device: 'radeon_cp.0': device_add
                      [ 5.819675] PM: Adding info for No Bus:radeon_cp.0
                      [ 5.819682] firmware radeon_cp.0: firmware: requesting radeon/BARTS_me.bin
                      [ 5.826437] PM: Removing info for No Bus:radeon_cp.0
                      [ 5.826486] device: 'radeon_cp.0': device_add
                      [ 5.826502] PM: Adding info for No Bus:radeon_cp.0
                      [ 5.826508] firmware radeon_cp.0: firmware: requesting radeon/BTC_rlc.bin
                      [ 5.976339] PM: Removing info for No Bus:radeon_cp.0
                      [ 5.976423] device: 'radeon_cp.0': device_add
                      [ 5.976444] PM: Adding info for No Bus:radeon_cp.0
                      [ 5.976450] firmware radeon_cp.0: firmware: requesting radeon/BARTS_mc.bin
                      [ 5.977126] PM: Removing info for No Bus:radeon_cp.0
                      [ 5.977181] PM: Removing info for platform:radeon_cp.0
                      [ 5.977190] bus: 'platform': remove device radeon_cp.0
                      [ 5.979918] radeon 0000:03:00.0: WB enabled
                      [ 5.980032] radeon 0000:03:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff88022237cc00
                      [ 6.001684] [drm:radeon_pm_print_states], 4 Power State(s)
                      [ 6.001686] [drm:radeon_pm_print_states], State 0: Default
                      [ 6.001688] [drm:radeon_pm_print_states], Default
                      [ 6.001689] [drm:radeon_pm_print_states],
                      [ 6.001691] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                      [ 6.001692] [drm:radeon_pm_print_states], 0 e: 775000 m: 1000000 v: 1150 No display only
                      [ 6.001694] [drm:radeon_pm_print_states], 1 e: 775000 m: 1000000 v: 1150
                      [ 6.001696] [drm:radeon_pm_print_states], 2 e: 775000 m: 1000000 v: 1150
                      [ 6.001698] [drm:radeon_pm_print_states], State 1: Performance
                      [ 6.001699] [drm:radeon_pm_print_states], 16 PCIE Lanes
                      [ 6.001700] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                      [ 6.001701] [drm:radeon_pm_print_states], 0 e: 100000 m: 150000 v: 950 No display only
                      [ 6.001703] [drm:radeon_pm_print_states], 1 e: 600000 m: 1000000 v: 1100
                      [ 6.001704] [drm:radeon_pm_print_states], 2 e: 775000 m: 1000000 v: 1150
                      [ 6.001706] [drm:radeon_pm_print_states], State 2: Default
                      [ 6.001707] [drm:radeon_pm_print_states], 16 PCIE Lanes
                      [ 6.001708] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                      [ 6.001709] [drm:radeon_pm_print_states], 0 e: 300000 m: 1000000 v: 950 No display only
                      [ 6.001711] [drm:radeon_pm_print_states], 1 e: 300000 m: 1000000 v: 950
                      [ 6.001712] [drm:radeon_pm_print_states], 2 e: 775000 m: 1000000 v: 1150
                      [ 6.001714] [drm:radeon_pm_print_states], State 3: Default
                      [ 6.001715] [drm:radeon_pm_print_states], 16 PCIE Lanes
                      [ 6.001716] [drm:radeon_pm_print_states], 3 Clock Mode(s)
                      [ 6.001717] [drm:radeon_pm_print_states], 0 e: 600000 m: 1000000 v: 1100 No display only
                      [ 6.001719] [drm:radeon_pm_print_states], 1 e: 600000 m: 1000000 v: 1100
                      [ 6.001720] [drm:radeon_pm_print_states], 2 e: 775000 m: 1000000 v: 1150
                      [ 6.002937] [drm] radeon: power management initialized
                      [ 6.073809] fbcon: radeondrmfb (fb0) is primary device
                      [ 6.277102] [drm:radeon_set_power_state], Setting: e: 77500
                      [ 6.277736] [drm:radeon_set_power_state], Setting: m: 100000
                      [ 6.292799] fb0: radeondrmfb frame buffer device
                      [ 6.292811] [drm] Initialized radeon 2.22.0 20080528 for 0000:03:00.0 on minor 0
                      [ 6.292813] driver: '0000:03:00.0': driver_bound: bound to device 'radeon'
                      [ 6.292817] bus: 'pci': really_probe: bound device 0000:03:00.0 to driver radeon
                      [ 48.065508] [drm:radeon_pm_compute_clocks], radeon: dynamic power management activated
                      root /home/dim #

                      Comment


                      • #12
                        Does anyone know wether it is possible to edit the BIOS of the Radeon 6970 card, so it would use the same power profile for dualhead as for single head?

                        There are bios editors available for Windows (e.g. http://www.techpowerup.com/rbe/ ) however I have no experience with them and don't know, wether they provide access to the second power profile for dualhead. If access is possible, it should be easy to just copy the profile for singlehead over to dualhead.

                        It would be nice if some of you experts could further clarify this, otherwise I am willing to experiment a little on my own. My card still has the bios switch, so experimenting should be possible.

                        Comment


                        • #13
                          Here is a table from an HD 5770 which does downclock when using two monitors (although not as low as when using one monitor).

                          Code:
                          [    3.192710] [drm:radeon_pm_print_states], State 0: Default
                          [    3.192715] [drm:radeon_pm_print_states], 	Default
                          [    3.192718] [drm:radeon_pm_print_states], 
                          [    3.192723] [drm:radeon_pm_print_states], 	3 Clock Mode(s)
                          [    3.192727] [drm:radeon_pm_print_states], 		0 e: 860000	m: 1200000	v: 1125	No display only
                          [    3.192733] [drm:radeon_pm_print_states], 		1 e: 860000	m: 1200000	v: 1125
                          [    3.192738] [drm:radeon_pm_print_states], 		2 e: 860000	m: 1200000	v: 1125
                          [    3.192743] [drm:radeon_pm_print_states], State 1: Performance
                          [    3.192747] [drm:radeon_pm_print_states], 	16 PCIE Lanes
                          [    3.192750] [drm:radeon_pm_print_states], 	Single display only
                          [    3.192753] [drm:radeon_pm_print_states], 	3 Clock Mode(s)
                          [    3.192757] [drm:radeon_pm_print_states], 		0 e: 157000	m: 300000	v: 1000	No display only
                          [    3.192762] [drm:radeon_pm_print_states], 		1 e: 600000	m: 1200000	v: 1000
                          [    3.192766] [drm:radeon_pm_print_states], 		2 e: 860000	m: 1200000	v: 1125
                          [    3.192771] [drm:radeon_pm_print_states], State 2: Default
                          [    3.192775] [drm:radeon_pm_print_states], 	16 PCIE Lanes
                          [    3.192779] [drm:radeon_pm_print_states], 	3 Clock Mode(s)
                          [    3.192782] [drm:radeon_pm_print_states], 		0 e: 400000	m: 900000	v: 1000	No display only
                          [    3.192787] [drm:radeon_pm_print_states], 		1 e: 400000	m: 900000	v: 1000
                          [    3.192792] [drm:radeon_pm_print_states], 		2 e: 400000	m: 900000	v: 1000
                          [    3.192796] [drm:radeon_pm_print_states], State 3: Performance
                          [    3.192800] [drm:radeon_pm_print_states], 	16 PCIE Lanes
                          [    3.192804] [drm:radeon_pm_print_states], 	3 Clock Mode(s)
                          [    3.192807] [drm:radeon_pm_print_states], 		0 e: 400000	m: 1200000	v: 1000	No display only
                          [    3.192812] [drm:radeon_pm_print_states], 		1 e: 600000	m: 1200000	v: 1000
                          [    3.192817] [drm:radeon_pm_print_states], 		2 e: 860000	m: 1200000	v: 1125
                          [    3.192822] [drm:radeon_pm_print_states], State 4: Default
                          [    3.192825] [drm:radeon_pm_print_states], 	16 PCIE Lanes
                          [    3.192829] [drm:radeon_pm_print_states], 	3 Clock Mode(s)
                          [    3.192833] [drm:radeon_pm_print_states], 		0 e: 157000	m: 300000	v: 1000	No display only
                          [    3.192837] [drm:radeon_pm_print_states], 		1 e: 157000	m: 300000	v: 1000
                          [    3.192842] [drm:radeon_pm_print_states], 		2 e: 157000	m: 300000	v: 1000
                          With one monitor the State 1 section is used, with the 0/1/2 modes matching the low/mid/high power profiles.
                          With two monitors the State 3 section is used, with low profile dropping the engine clock to 400,000 kHz.

                          I get the same behaviour in Windows 7 using the Catalyst driver, I checked the clock values using GPU-Z and looking at the sensors tab.

                          IIRC bridgman has said that the power tables are set by the card manufacturer and are different for each card. This particular card is a Sapphire Vapor-X HD 5770.

                          Comment


                          • #14
                            Originally posted by Agent20 View Post
                            Here is a table from an HD 5770 which does downclock when using two monitors (although not as low as when using one monitor).
                            Hi, thanks that's useful. I can see that it has two performance states, one for single head and one for dual head. That's exactly what the current code is targeting, but which is absent in the HD6000 series.



                            Originally posted by Agent20 View Post
                            IIRC bridgman has said that the power tables are set by the card manufacturer and are different for each card.
                            Well that complicates things, but I guess anything is better than the current version, which doesn't seem to target Northern Islands at all.


                            I could use the states for cayman, caicos and turks still if anyone has them.

                            Comment


                            • #15
                              I don't think this is an open-source or even an AMD specific problem. As far as I know, all drivers run the cards at full power when several monitors are attached. This is because power state changes are synced to v-blank, so when there are several monitors installed, there is no single v-blank you can use for reference. This is way out of my area of expertise, maybe someone else can explain it better.

                              Comment

                              Working...
                              X