Announcement

Collapse
No announcement yet.

More Radeon Power Management Improvements

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

  • #16
    AMD's policy on documentation is the reason I try to avoid Intel hardware these days. It's pretty easy on the desktop (both of my newer desktop machines are all AMD), but not so much on notebooks/netbooks. I really wish I could buy a notebook with an AMD processor, an AMD GPU, a non-Broadcom wifi chipset (preferably Atheros), and no Windows. Sadly, neither System76 nor zareason sell AMD notebooks, and zareason only has one AMD desktop.

    I guess the only fix for this is to lobby for laws requiring hardware vendors to make a preinstalled OS optional. Also, it would be nice if they were compelled to disclose what things like "Dell Wireless" or "Airport Extreme" really are. I want to know what it is before I buy it!

    Comment


    • #17
      Originally posted by waucka View Post
      AMD's policy on documentation is the reason I try to avoid Intel hardware these days. It's pretty easy on the desktop (both of my newer desktop machines are all AMD), but not so much on notebooks/netbooks. I really wish I could buy a notebook with an AMD processor, an AMD GPU, a non-Broadcom wifi chipset (preferably Atheros), and no Windows. Sadly, neither System76 nor zareason sell AMD notebooks, and zareason only has one AMD desktop.

      I guess the only fix for this is to lobby for laws requiring hardware vendors to make a preinstalled OS optional. Also, it would be nice if they were compelled to disclose what things like "Dell Wireless" or "Airport Extreme" really are. I want to know what it is before I buy it!
      You should check out the notebooks from Asus. They have some AMD-only machines and that also means Atheros. Actually, I'm writing from such a "beast", an N51Tp, but it is a year old and is not sold anymore. The newer version is the N60Dp I think.

      Comment


      • #18
        Here you are!

        Comment


        • #19
          Nice. I tested with HD 5750. After enabling dynpm GPU immediately switched to lowest state, giving a reduction in power consumption of 24 watts, that's only 7 watt short of fglrx. Wasn't able to further test how well dynpm behaves though, for that I need something to actually use the command processor i.e. acceleration (which is still missing for Evergreen), for now it just stays in the lowest power mode.

          Comment


          • #20
            Awesome! Finally PM is getting the kicks. I so wish it would be ported back / included in 2.6.34. Don't want to wait so long again to use these features. In my AMD 4850e box the dedicated R600 eats the main part of power so it'd be nice to have savings here.

            Comment


            • #21
              The two patchsets work great, fan speed is greatly reduced and the clocks stay at 250MHz most of the time.

              I'd really like to see this in the 2.6.35 kernel!

              Comment


              • #22
                Originally posted by LiquidAcid View Post
                The two patchsets work great, fan speed is greatly reduced and the clocks stay at 250MHz most of the time.

                I'd really like to see this in the 2.6.35 kernel!
                You've applied it against Linus' git or 2.6.34?

                Comment


                • #23
                  I wonder if it is possible to completely disable a PCIe GPU so it draws nearly no power at all (~1W would be fine) and only let an onboard GPU draw the desktop. So if I want to game, I XEN passthrough the sleeping card to a gaming OS.
                  Heck I would even go so far and hardwire a switch to the power cords, but I'm not sure if the card would like me flipping the switch while the computer is running...

                  Comment


                  • #24
                    Originally posted by Neuro View Post
                    You've applied it against Linus' git or 2.6.34?
                    Against drm-next, like instructed.

                    Comment


                    • #25
                      Hi,

                      I just compiled a fresh Linux kernel on top of Ubuntu 10.04 from commit id 7a1ffce50373c177d3f6eecce52badc40c90e1dd from drm-radeon-next. When running on a ATI Radeon Mobility HD2400, I am experiencing some issues:
                      1. The screen flickers while PM state changes.
                      2. The GPU does not upclock.
                      3. The system locks up.

                      My dmesg shows messages like "[drm] GUI not idle!!!" and "not in vbl on entry / exit".

                      Is there any way I could help debugging?

                      Comment


                      • #26
                        There was some discussion about the "GUI not idle!!!" issue on #radeon earlier today.

                        I think it's next on Matthew G's list after some rv515 problems and explaining to people that #radeon is not for people having trouble with their Vista systems

                        Comment


                        • #27
                          Heh, thanks bridgman

                          Comment


                          • #28
                            The gui idle interrupts don't seem to work properly on some older chips. So we just check for idle when we reclock rather than waiting for the interrupt. If the engine happens to be busy, we bail and try again the next time. That message is just telling you that it couldn't reclock since the engine wasn't idle when it tried.

                            Comment


                            • #29
                              So, a little feedback:

                              Got Lenovo Ideapad U330 here with Radeon 3450 and Intel 4500MHD. I'm running a kernel build form today's drm-radeon-testing (which AFAIK has the above patches included) on current Arch Linux with KDE 4.4.

                              My state table is:
                              Code:
                              [drm] Clocks initialized !
                              [drm] 6 Power State(s)
                              [drm] State 0  (default)
                              [drm]   16 PCIE Lanes
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 500000/700000
                              [drm]           1 engine/memory: 500000/700000
                              [drm]           2 engine/memory: 500000/700000
                              [drm] State 1 Performance 
                              [drm]   16 PCIE Lanes
                              [drm]   Single display only
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 110000/396000
                              [drm]           1 engine/memory: 300000/396000
                              [drm]           2 engine/memory: 500000/700000
                              [drm] State 2 Battery 
                              [drm]   16 PCIE Lanes
                              [drm]   Single display only
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 110000/396000
                              [drm]           1 engine/memory: 110000/396000
                              [drm]           2 engine/memory: 300000/396000
                              [drm] State 3  
                              [drm]   16 PCIE Lanes
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 300000/400000
                              [drm]           1 engine/memory: 550000/700000
                              [drm]           2 engine/memory: 550000/700000
                              [drm] State 4 Performance 
                              [drm]   16 PCIE Lanes
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 337000/700000
                              [drm]           1 engine/memory: 337000/700000
                              [drm]           2 engine/memory: 500000/700000
                              [drm] State 5 Battery 
                              [drm]   16 PCIE Lanes
                              [drm]   3 Clock Mode(s)
                              [drm]           0 engine/memory: 300000/396000
                              [drm]           1 engine/memory: 300000/396000
                              [drm]           2 engine/memory: 300000/396000
                              Observations:
                              By default the state is initialized to 1.0. This gives a massive reduction of 5W measured by powertop (23W vs 18W on idle system).

                              Unfortunately state 1.0 (and state 2.0) causes Kwin effects (like slide or present windows) work horribly horribly slow, same thing with scrolling in Firefox. After switching to anything that has a level 0 clock of more than 110MHz (like state 5.0) all is silky smooth.

                              Multi monitor setup. If running states 1.0 or 2.0 it causes vertical lines on the external HDMI display. When switching to any other state the disappear.

                              I'm also getting
                              Code:
                              [drm] GUI not idle!!!
                              I thought it was a problem with older systems. Is 3450 considered old?

                              Thoughts, wishes, questions:
                              1. Is it possible to modify the power state table so that states 1.0 and 2.0 have a but higher clock thatn 110MHz (so that KWin works smoothly) or is set in hardware?
                              2. Would it be possible for radeon to monitor ACPI events _in_kernel_ and switch modes accordingly and differentiating between non-multi and multi monitor setups? I mean it wouldn't be hard to do it in userspace, but it would be a lot of scripting
                              3. Could the messages printed in dmesg be a little bit more descriptory with a possibility of turning them off via module parameter? I mean dmesg is littered with messages as vogue as:
                              Code:
                              [drm] Setting: e: 11000
                              Overall, GREAT WORK GUYS!

                              Comment


                              • #30
                                The gui idle interrupt can be re-enabled for r6xx+; it works fine on those chips. Just older ones seem to be problematic. I just disabled it for testing on everything for testing. We should just switch to waiting on a fence. That will work on all asics.

                                The driver is supposed to switch to an appropriate power mode depending on the number of monitors attached, but there are likely still bugs in that area.

                                Comment

                                Working...
                                X