<div dir="auto"><div>Hi Sylvain,<br><br><div class="gmail_quote"><div dir="ltr">Il lun 15 ott 2018, 03:25 <<a href="mailto:sylvain.bertrand@gmail.com">sylvain.bertrand@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, Oct 14, 2018 at 11:47:18PM +0200, Mauro Rossi wrote:<br>
> DOUBT: I think that it would make sense to set "power level 0" i.e.<br>
> the "lower state" as safe default,<br>
> considering that powerplay smu6/hwmgr are not implemented for SI and<br>
> smu7 CIK functions do not work,<br>
> the AS-IS dpm is the only available option. (and it seams to be<br>
> working, looking at the framerates 250-280 in the V1 Vulkan benchmark)<br>
<br>
dpm not implemented for SI? Are you sure? Because I recall passing "messages"<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">dpm for SI is available, while powerplay for SI is not, but display/amdgpu_dm uses some powerplay calls, where get_static_clock functions not available and the *ERROR* DM_PPLIB is due to missing handling in powerplay</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
to the smu6 to switch between major power modes. And currently in amdgpu I<br>
switch back and forth between "high" and "auto". And if I stay on "high" my GPU<br>
fans are going crazy all the time, which forces me to switch back to "auto" in<br>
order to quiet the fans.<br>
Any major state change for any block would have to go through the dpm block<br>
(smu), because it has to be accounted by this block for proper operation. One<br>
of the hard thing to code, coze no proper documentation, was to set the blocks<br>
in an initial state from a poweron/hard reset/etc which the dpm will know<br>
how to start/catch-up its operations from. In a perfect world, the dpm block<br>
would have the knowledge on how to program any block in an initial working<br>
state from any unknown state (and in case of hard block hang, would know how to<br>
hard reset it and set it in a initial state).<br>
<br>
> If freesync is about reducing the framerate rate for power saving,<br>
> provided that I've seen it be mentioned the first time for GCN 2nd generation,<br>
> I'm not expecting freesync as a mandatory capability for the series.<br>
<br>
Well, there are the low FPS games, and the movies. I am a regular gamer, and I<br>
know that sustained 60 fps is the very lower bound for many games on a desktop<br>
computer display.<br>
It does not apply to mobile size display, and "couch playing" on a TV. The<br>
readibilty of the game depends directly on the amplitude of movements in<br>
physical distance on the display, their speed, the viewing distance, and the<br>
FPS. From my personal comfort point of view and types of games I play, on a<br>
desktop display (dpi, typical viewing distance, typical size), I would target a<br>
minimum of 80-100 fps (120/144 fps seems to be "perfect" targets).<br>
Played rise of the tomb raider (vulkan) on my tahiti part, and even with a blur<br>
effect to "smooth" the perceived fps like in movies, sub-60 fps is really<br>
uncomfortable. I was about to stop playing to this game even though it is a<br>
rather "slow" video game.<br>
<br>
> In amd-staging-drm-next dce_clock_source is generic, SI specifics are<br>
> not necessary anymore.<br>
<br>
If I recall properly, "bandwidths" and "watermarks" calcs had asic generations<br>
specific code paths. bandwidth is important for displayport programming or<br>
maybe you can presume the maximum all the time (and sacrifice some unkown<br>
amount of power) and watermarks, I know in my old driver I was giving the<br>
highest priority the the dce block anyway (something related to a "memory<br>
aribtrer" and "line buffer").<br>
<br>
> Any other testing tools worth a run?<br>
<br>
AAA games (vulkan: rize of the tomb raider, GL:bioshock infinite) and AAAA games<br>
(dota2(gl and vulkan), cs:go...)<br>
<br>
-- <br>
Sylvain<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Thanks a lot</div><div dir="auto">Mauro</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>