Bug 30922
Summary: | [radeon] Noisy fan with Radeon R600 and Toshiba Satellite L500-164 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Denis Washington (denisw) |
Component: | Video(DRI - non Intel) | Assignee: | drivers_video-dri |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | alan, alexdeucher |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.38-rc8 (at least since 2.6.35) | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Denis Washington
2011-03-11 13:38:35 UTC
For more information about the power management options in the driver, see the "KMS Power Management Options" section of this page: http://wiki.x.org/wiki/RadeonFeature Laptops generally expose the GPU temperature via an acpi thermal zone or an oem specific sensor. I am aware of the power management options you pointed to, but they don't help with the fan problem (at best, they delay it slightly). /sys/class/thermal does not contain any thermal zones, there are only two CPU-related cooling devices and an LCD cooling device listed there: $ ls /sys/class/thermal cooling_device0 cooling_device1 cooling_device2 $ cat /sys/class/thermal/cooling_device0/type Processor $ cat /sys/class/thermal/cooling_device0/device/path \_PR_.CPU0 $ cat /sys/class/thermal/cooling_device1/type Processor $ cat /sys/class/thermal/cooling_device1/device/path \_PR_.CPU1 $ cat /sys/class/thermal/cooling_device2/type LCD $ cat /sys/class/thermal/cooling_device2/device/path \_SB_.PCI0.P0P2.VGA_.LCD_ Does that mean it is an OEM-specific sensor? Why is it that fglrx can control the fan just fine then? (Or does fglrx have code specific to certain hardware vendors?) How I can find out more about how the GPU fan is controlled with this laptop? I have talked to Dave Airlie on IRC (#radeon at freenode) today and it seems that my assumption that thermal sensor access is needed for proper fan control is wrong. Rather, the GPU seems to do fan control automatically and can only be influenced by the driver by giving a new policy table to the graphics card's BIOS. The radeon driver doesn't currently do this, however, and relies on the BIOS' defaults, which however seem to be bad on my machine. This is why my fan mostly runs in full speed. Dave says he thinks that there's some of the code lying around inside AMD to do proper fan control setup, but still in need of a lot of review. If this is the case, I would be happy to test the code once it's published in git. (Please correct me if I am wrong about anything I've written here.) Laptops don't generally use the onboard GPU fan controller and thermal sensor since they usually have a single fan for both the GPU and the CPU. The fan and thermal zones are generally exposed via ACPI or a vendor specific control. For more info on the power management options in the driver see the page I linked in comment #1. As I have already stated, changing the power management options didn't change anything at all. Even running the "low" profile doesn't stop the fan from cranking up to full speed under normal desktop load and never spinning down again, even if the system is idling. I am also most certain that my laptop has a separate GPU fan; I can, in fact, control the CPU fan per sysfs, but whatever I do, the GPU fan keeps spinning at the same speed, so I guess there must be separate fans for CPU and GPU. |