Bug 41664

Summary: R580 Powermanagement with Kernelmodesetting:
Product: DRI Reporter: revealed <revealed>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
VBIOS ROM from my GFX; none

Description revealed 2011-10-10 15:49:59 UTC
Hello!

I hope you can help me on this:
- Chipset: "ATI Radeon X1950" (ChipID = 0x7240)
- OpenSuSE 11.4 2.6.37.6-0.7-desktop x86_64 GNU/Linux

I had the same problem with the 32 Bit version of SuSE 11.4.

I an able to start my system using kernelmodesetting. Most things related to my GFX seem to work fine so far.

As i read on the xorg wiki there is powermanagement available for many cards.

If i issue:
cat /sys/kernel/debug/dri/0/radeon_pm_info

I recieve this output:
default engine clock: 508000 kHz
current engine clock: 506250 kHz
default memory clock: 600000 kHz
current memory clock: 594000 kHz
PCIE lanes: 0

I was just wondering, why there is no Voltage information available. And as my card is a PCI Express Extension card and not an integrated one i thought i might find PCIE Lanes 16 normally?

In dmesg output i can also find:
[    2.614836] [drm] radeon: power management initialized

According to lsmod the lm63 module was loaded automatically. So theres a hwmon structure for my card.

And debugfs contains some dri related files and is also accessible by a normal system user.

But if i want to switch powerprofiles (profile based) or dynpm it won´t work. I installed the radeonpm plasmoid from kdelook.org as i would want to comfortably switch profiles. 

I get temperatures and actual clock information from the for radeon created filestructure. But no voltage info?

While searching freedesktop for information, i found it could be usefull for you to have a look into "vbios.rom" as i dont know how to read it, i will attache mine here.

Many thanks for your Help!

Greetings,

R
Comment 1 revealed 2011-10-10 15:51:43 UTC
Created attachment 52201 [details]
VBIOS ROM from my GFX;

Maybe you could check for me if my GFX would provide required information for Voltages and PCI-E Lanes and Powermanagement and so on? Many thanks!
Comment 2 Alex Deucher 2011-10-10 19:33:54 UTC
Pre-R6xx desktop cards did not generally have low power modes and the open source driver does not support overclocking at the moment.
Comment 3 revealed 2011-10-11 13:19:32 UTC
Hello!

Many thanks for your reply! Is the output that i get and that i can not switch powermethod and profiles correct?

I thought it should report voltages and so on? Because it is i am just wondering. The problem in my next words is, they are related to another operating system. Using windows i thought, the card would have something like a 2D mode, where the core and ram are working with less mhz. And i thought in 3D mode it would power up to the standard mhz?

I would need to verify this myselves now, because i am not sure. 

But usually i dont use Windows, because i can not do what i need to do with my PC using windows.

I would just personally need verification, that my card works properly and that it does not consume more energy than it should. And that it runs at it's designed speed. Better would be, that Linux would handle the card even better than windows could.

How is it?

Greetings,

R
Comment 4 revealed 2011-10-11 13:22:50 UTC
I mean the Plasmoid just says, that it runs at 506 MHZ core and 594 MHZ ran and something like 41 degrees? Somehow in a stuck way.

Greetings,

R
Comment 5 Alex Deucher 2011-10-11 13:31:01 UTC
On pre-R6xx desktop asics, there are generally no low power states.  There is generally only a single default state or, on some high end cards cards, default state and an overclock state.  Your card has two power states:

1. default state
engine: 508Mhz, memory: 600Mhz

2. 3D/overclock state
engine: 650Mhz, memory: 1000Mhz

We don't currently support overclock states so that leaves just one state.
Comment 6 revealed 2011-10-11 13:55:22 UTC
Ah. Ok thats what i did not get. So it is intended to run at the default. Thats what i also found in the catalyst on windows even.

506 MHZ (core) 594 MHZ (RAM)

The temperature reading is just slightly different. Without having started special 3D apps from just exiting linux and booting in windows. The catalyst tool reports 68 degrees and not 41.

If i tick that Overdrive function i can call an assistant and it tests the GFX's capabilities and so on. In 3D overclocking mode it would run up to:


695 MHZ (core) 1026 MHZ (RAM)

With stock cooler from ASUS. Huummm... so no underclocking? My basic intention was that i thought it would reduce its consumption.

I would not intend to enable something like Overclocking features normally. I hope i haven't stolen too much of your time. Many thanks for opening my eyes.

So i could just even go ahead and uninstall the Plasmoid. I would not be able switching profiles. 

So my card is not in a low power mode or anything? It is just at it's default core speed?

I am a little confused.

Greetings,

R
Comment 7 Alex Deucher 2011-10-11 14:02:08 UTC
Your OEM only defined two power state: default and overclock.  The driver sticks to the states defined in the vbios since they have been validated and are known to been good combinations.  You could in theory define your own low power state and hack it up in the driver, but certain clock combinations cause stability problems on some cards so YMMV.
Comment 8 revealed 2011-10-11 14:21:46 UTC
Basically i remember that when i initially read the first time about powermanagement on radeon for linux, that i read on a forum like phoronix.

At that time it sounded somehow in this article that until now not supported cards get set to something like a emergency value that prohibits the core from melting basically until the values can be set to the intended values by default with further developement.

Somehow something like a matrix on radeon wiki would be cool. If it would tell:

R580 cards like mine: 
(Usually two powerstates (default) and (overclocked) overclocking not implemented yet.) (No: Dynamic Low Mid High Automatic).

So if this now is default and inteded. I can and should just forget that.

Better would be underclocking. But i think i lack of skill doing this. :) I would love that be sure.

Many thanks for your resolution!
Comment 9 Paul Menzel 2011-10-11 14:52:48 UTC
(In reply to comment #8)

[…]

> Somehow something like a matrix on radeon wiki would be cool. If it would tell:
> 
> R580 cards like mine: 
> (Usually two powerstates (default) and (overclocked) overclocking not
> implemented yet.) (No: Dynamic Low Mid High Automatic).
> 
> So if this now is default and inteded. I can and should just forget that.
> 
> Better would be underclocking. But i think i lack of skill doing this. :) I
> would love that be sure.

Maybe instead of maintaining a table in the Wiki, more information could be printed to the console/log files by the Radeon driver(?)? This would of course not help users wanting to easily know if a Linux kernel upgrade would bring them new supported features. They can only look at the source comments/print outs in the repository.

So Alex, how hard would it be to print something like the following to `Xorg.log` or the kernel ring buffer?

    Powermanagement: pre-R6xx does not support low power states: disabled
    Overclocking: not implemented yet, using default
    Temperature reading not working correctly yet.


Thanks,

Paul

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.