Announcement

Collapse
No announcement yet.

ATI Kernel Power Management Moves A Bit More

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

  • darkbasic
    replied
    Originally posted by yotambien View Post
    I guess the same thinking applies to composite desktops, where moving a window shouldn't need to put the card on a higher power state
    Indeed it doesn't. FPS are fixed in compositing and so only a small amount of power is used and it shouldn't put the gpu on a higher power state.

    Leave a comment:


  • yotambien
    replied
    I'm curious about how dynamic power adjustments will be supposed to work. Is this anything like CPU frequency scaling, where changes are applied extremely fast depending on the load? It seems that all these engine and memory reclockings, pci lane adjustments, perhaps future voltage changes and what not are cumbersome operations (no technical reason to think so, but the glitches I see when I adjust the clocks never fail to give me bad vibrations).

    Many OpenGL applications do not need to use all the power available from the GPU. Imagine a molecular (or any other kind of) viewer; the user will touch it at discrete intervals, rotate a couple of things, zoom here, move there and so on. As long as the displayed scene is fluid you don't need to go over the top with the GPU. I guess the same thinking applies to composite desktops, where moving a window shouldn't need to put the card on a higher power state, increasing the heat produced and ultimately (gasp!) kicking the fan in.

    I'm sure this has been thought through; what behaviour should we expect? Will there be an option to force everything down irrespective of the load?

    Leave a comment:


  • RussDill
    replied
    I'll be interested to see how the DRM ends up communicating with the hwmon components as I'm not sure how this is supposed to be done in-kernel.

    Leave a comment:


  • yotambien
    replied
    I see. KMS is the final solution to power saving then. Personally I'm not extremely bothered about the power drain, but the noise from the fan kills me and my concentration--aside from the fact that my partner doesn't appreciate it all too much when I work until late : )

    Thanks!

    Leave a comment:


  • agd5f
    replied
    Originally posted by yotambien View Post
    I can't say I fully understood you, but I take it that there are some technical drawbacks with using rovclock. The point is that if ForceLowPowerMode is just halving the clocks, that's a bit conservative, isn't it? This is, I use rovclock to set the core and memory frequencies to the values reported by fglrx in its lowest power settings, and those are 1/4 and 1/3 their original values, respectively.
    The problem is rovclock isn't necessary setting the clocks to what you think it is. It only works if your current clock happens to use a post divider (post_div) of 1. If not, your clocks will be 2, 4, or 8x slower than rovclock reports.

    The output frequencies of the plls used for the engine and memory are calculated from the following formula:

    output frequency = ((reference clock * fb_div) / ref_div) / post_div;

    As you can see the post divider dividers the clock down by 1, 2, 4, or 8, depending on what it's set to. If you don't take it into account, your output frequencies will be wrong. This is why rovclock shows the same clock as before even when the driver has set the engine clock to half of the default value. Also, the engine and memory plls share the same ref_div, so you have to take that into account when setting the clocks.

    You can adjust the ForceLowPowerMode driver option to set values lower than 1/2 by changing it in he driver. That's just what a conservative value that I picked as a stop gab until the dynamic kms pm code was finished. The new dynamic pm code in kms does a much better job.

    Leave a comment:


  • yotambien
    replied
    I can't say I fully understood you, but I take it that there are some technical drawbacks with using rovclock. The point is that if ForceLowPowerMode is just halving the clocks, that's a bit conservative, isn't it? This is, I use rovclock to set the core and memory frequencies to the values reported by fglrx in its lowest power settings, and those are 1/4 and 1/3 their original values, respectively.

    Leave a comment:


  • agd5f
    replied
    Stupid $^$^&% edit limit. If the post divider is initially set to 1 and you half the engine clock, the post divider will likely be 2. since rovclock does look at the post divider, it will still report the old clock.

    Leave a comment:


  • agd5f
    replied
    Originally posted by yotambien View Post
    So rovclock is reporting the wrong numbers? If it's not, why is the card at its highest frequency settings with the ForceLowPowerMode option activated and why should this tool be avoided?
    Last time I looked at rovclock it did not take into account the post divider for the engine or memory clocks so if the post divider is anything other an 1, it will set/report the wrong value. Also, IIRC, some of the vram setup stuff in the memory reclocking code is wrong for r2xx+ chips.

    Leave a comment:


  • yotambien
    replied
    Originally posted by agd5f View Post
    ForceLowPowerMode works on all asics. rovclock should be avoided.
    So rovclock is reporting the wrong numbers? If it's not, why is the card at its highest frequency settings with the ForceLowPowerMode option activated and why should this tool be avoided?

    Leave a comment:


  • agd5f
    replied
    Originally posted by yotambien View Post
    I probably should have posted in another thread to avoid confusion: my card is an R300. I just thought ForceLowPowerMode also worked for legacy cards. Should owners of these cards keep using rovclock then?
    ForceLowPowerMode works on all asics. rovclock should be avoided.

    Leave a comment:

Working...
X