If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
The code is now in drm-radeon-testing, however I'm not very happy with the choice of low power mode switching.
While my card runs on 250Mhz on Windows most of the time (maximum clock is 750MHz), the radeon DRM only downclocks to 500MHz when the system is 'idling' (no 3D apps running).
Yeah I came to that same conclusion. Just tried d-r-t to see if the downvolting code was working, and it was a bit of a surprise to me that my system was actually consuming more power than the last time I tried d-r-t without the downvolting code. Apparently with the reworked pm code "low" actually means "medium", which is almost the same as high on my GPU. So definitely not a great power saver.
This just adds a 'minimum' profile which select the 'low'-powerstate and enables the lowest mode inside this state (the same as the one selected when DPMS has the screen turned off).
Works for me at least
Oh, and anyway - good work on the whole radeon stack Alex! It's really nice to see how everything evolves and how new features are constantly popping up (kms, pm, tiling, gallium, etc.)
I believe the power states are influenced at least in part by the range of speeds each card/laptop vendor chooses to validate and include in their video BIOS image. In some cases those states are very limited - the GPU and memory may be able to run fine at lower speeds but those speeds are not included in the BIOS power state list.
The driver can over-ride those settings but I don't think the devs want to rush into that without a *lot* of testing.
Yeah, but that's not the issue here.
The current code never selects the lowest mode inside a powerstate, unless the DPMS state if off - then it _does_ downclock to the lowest mode. That would be 250MHz core clock for me.
While a crtc is active the code only reclocks between the medium and high mode of a powerstate, in my case 500MHz and 750MHz.
I have verified this by monitoring radeon_pm_info but also by looking at the code. I'm no doubt that Alex did this intentional, probably because on some configurations the lowest mode inside the 'low'-powerstate doesn't provide enough memory bandwidth for scanout.
Since memory isn't reclocked on my card (at least I'm not seeing this and I think the ATOM tables all store the same mem clock) it doesn't make a difference for _me_.
Again, the diff's just a (dirty) hack, but enough for me to quiet down the card for watching e.g. HD movies on the system.
The code is now in drm-radeon-testing, however I'm not very happy with the choice of low power mode switching.
While my card runs on 250Mhz on Windows most of the time (maximum clock is 750MHz), the radeon DRM only downclocks to 500MHz when the system is 'idling' (no 3D apps running).
I believe the power states are influenced at least in part by the range of speeds each card/laptop vendor chooses to validate and include in their video BIOS image. In some cases those states are very limited - the GPU and memory may be able to run fine at lower speeds but those speeds are not included in the BIOS power state list.
The driver can over-ride those settings but I don't think the devs want to rush into that without a *lot* of testing.
I think that the priority at this point is getting the code into mainline, tested, and stabilised. The power profiles can easily be tweaked once everything is running smoothly. It's probably just a conservative default for the time being, to avoid strange corner cases, not a final decision set in stone.
Am I understanding correctly that this is a drm update, which doesn't need to touch other parts of the stack (like the ddx and Mesa)?
The code is now in drm-radeon-testing, however I'm not very happy with the choice of low power mode switching.
While my card runs on 250Mhz on Windows most of the time (maximum clock is 750MHz), the radeon DRM only downclocks to 500MHz when the system is 'idling' (no 3D apps running).
This just adds a 'minimum' profile which select the 'low'-powerstate and enables the lowest mode inside this state (the same as the one selected when DPMS has the screen turned off).
Works for me at least
Leave a comment: