<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - GPU lockups with kernel 3.11.0 / 3.12-rc1 when dpm=1 on r600g (Cayman)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=69723#c39">Comment # 39</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - GPU lockups with kernel 3.11.0 / 3.12-rc1 when dpm=1 on r600g (Cayman)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=69723">bug 69723</a>
from <span class="vcard"><a class="email" href="mailto:agd5f@yahoo.com" title="Alex Deucher <agd5f@yahoo.com>"> <span class="fn">Alex Deucher</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=69723#c38">comment #38</a>)
<span class="quote">> A couple of observations. I've forced power state to performance and
> performance state to high. Here is the result:
> [root@Xander device]# more /sys/kernel/debug/dri/64/radeon_pm_info
> uvd vclk: 0 dclk: 0
> power level 2 sclk: 83000 mclk: 130000 vddc: 1060 vddci: 1150
>
> Now, keeping this configuration, I launched a video relying on UVD. The
> result downclocks the core clock from 830 (probably limited to 800 as we
> know) to 725.
> [root@Xander device]# more /sys/kernel/debug/dri/64/radeon_pm_info
> uvd vclk: 54000 dclk: 40000
> power level 2 sclk: 72500 mclk: 130000 vddc: 1060 vddci: 1150
>
> However, if I don't force this power and performance states combination
> (letting it as balanced and auto or performance and auto), I have the
> following:
> [root@Xander device]# more /sys/kernel/debug/dri/64/radeon_pm_info
> uvd vclk: 54000 dclk: 40000
> power level 0 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
> [root@Xander device]# more /sys/kernel/debug/dri/64/radeon_pm_info
> uvd vclk: 54000 dclk: 40000
> power level 2 sclk: 72500 mclk: 130000 vddc: 1060 vddci: 1150
>
> As you can see, it will adapt to the needed performance state.
> </span >
Not exactly. Here are the power states defined for your system:
== power state 0 ==
ui class: none
internal class: boot
caps:
uvd vclk: 0 dclk: 0
power level 0 sclk: 25000 mclk: 15000 vddc: 1000 vddci: 1000
power level 1 sclk: 25000 mclk: 15000 vddc: 1000 vddci: 1000
power level 2 sclk: 25000 mclk: 15000 vddc: 1000 vddci: 1000
status: c r b
== power state 1 ==
ui class: performance
internal class: none
caps:
uvd vclk: 0 dclk: 0
power level 0 sclk: 25000 mclk: 15000 vddc: 900 vddci: 950
power level 1 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
power level 2 sclk: 83000 mclk: 130000 vddc: 1060 vddci: 1150
status:
== power state 2 ==
ui class: none
internal class: uvd
caps: video
uvd vclk: 54000 dclk: 40000
power level 0 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
power level 1 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
power level 2 sclk: 72500 mclk: 130000 vddc: 1060 vddci: 1150
status:
== power state 3 ==
ui class: none
internal class: uvd_mvc
caps: video
uvd vclk: 70000 dclk: 56000
power level 0 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
power level 1 sclk: 50000 mclk: 130000 vddc: 1000 vddci: 1150
power level 2 sclk: 72500 mclk: 130000 vddc: 1060 vddci: 1150
status:
When you select performance, battery, or balanced state on your system, power
state 1 is used. When you activate UVD, the driver selects power state 2.
When UVD is not in use, the previously active power state (1 in this case) is
selected again. The driver only selects the power state. The power levels
(0-2) within the power state are either selected automatically by the hw based
on GPU load (auto) or forced to power level 0 or 2 (low or high) is you force
the performance level. When you force the performance level to high, it will
apply to all power states that you select (both power state 1 and 2) which is
why you see the UVD state using 500 vs. 725 Mhz.
<span class="quote">> - So, first question: is it expected to see a lowered sclk when UVD is
> active?</span >
Yes since the driver selects a different power state (one tailored to the
requirements of the UVD block for smooth video playback).
<span class="quote">> - Second one: when the performance is changed automatically (auto), could we
> be triggering a performance state change too quickly?</span >
The driver doesn't trigger performance level changes, the hw does. The driver
just selects the overall power state.
<span class="quote">> - Third one: it was previously said mclk is tied to vddci AND vddc. Wouldn't
> there be a chance we could encounter a problem here if vddc=1000 and not
> 1060 when running at full speed?</span >
Sure. That's why we have the ni_apply_state_adjust_rules() to make sure the
power state is valid based on the current requirements.
<span class="quote">> - Last one: is there a way to monitor the GPU temperature and/or the GPU fan
> speed? (even at full speed when highly solicited, the fan is not running as
> fast as when dpm=0. I'm wondering if I'm not overheating from time to time).</span >
You can see the temperature in sysfs. There should be a entry under
/sys/class/hwmon/ for radeon.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>