Page 3 of 18 FirstFirst 1234513 ... LastLast
Results 21 to 30 of 180

Thread: More Radeon Power Management Improvements

  1. #21
    Join Date
    Jul 2009
    Posts
    87

    Default

    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!

  2. #22
    Join Date
    Nov 2009
    Posts
    45

    Default

    Quote 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?

  3. #23
    Join Date
    Nov 2009
    Posts
    21

    Default

    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...

  4. #24
    Join Date
    Jul 2009
    Posts
    87

    Default

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

  5. #25
    Join Date
    Nov 2009
    Posts
    15

    Default

    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?

  6. #26
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,458

    Default

    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

  7. #27
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,102

    Default

    Heh, thanks bridgman

  8. #28
    Join Date
    Dec 2007
    Posts
    2,371

    Default

    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.

  9. #29
    Join Date
    Nov 2009
    Posts
    45

    Default

    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!

  10. #30
    Join Date
    Dec 2007
    Posts
    2,371

    Default

    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •