<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>The logic is a bit confusing at first.  "gated" means that SW CG is enabled not that the clocks are turned off.  When I sampled the registers in the original configuration the clocks were reading 100% when the core was active.  It would read 0% when idle
 but only because power was gated.</p>
<p><br>
</p>
<p>With the logic the way it is when the core is active I see many of the clocks throttle as they should.</p>
<p><br>
</p>
<p>Tom</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Deucher, Alexander<br>
<b>Sent:</b> Wednesday, August 3, 2016 12:28<br>
<b>To:</b> 'Tom St Denis'; amd-gfx@lists.freedesktop.org<br>
<b>Cc:</b> StDenis, Tom<br>
<b>Subject:</b> RE: [PATCH 2/6] drm/amd/amdgpu: Fix VCE CG order and resume defaults</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">> -----Original Message-----<br>
> From: amd-gfx [<a href="mailto:amd-gfx-bounces@lists.freedesktop.org">mailto:amd-gfx-bounces@lists.freedesktop.org</a>] On Behalf<br>
> Of Tom St Denis<br>
> Sent: Wednesday, August 03, 2016 11:52 AM<br>
> To: amd-gfx@lists.freedesktop.org<br>
> Cc: StDenis, Tom<br>
> Subject: [PATCH 2/6] drm/amd/amdgpu: Fix VCE CG order and resume<br>
> defaults<br>
> <br>
> CG was being enabled in reverse sense from dpm/powerplay.<br>
> Also fix the default CLK_EN signal to enable all of the blocks.<br>
> <br>
> Signed-off-by: Tom St Denis <tom.stdenis@amd.com><br>
> ---<br>
>  drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 6 +++---<br>
>  1 file changed, 3 insertions(+), 3 deletions(-)<br>
> <br>
> diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c<br>
> b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c<br>
> index 26fb606e2d3e..93604bb78257 100644<br>
> --- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c<br>
> +++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c<br>
> @@ -130,7 +130,7 @@ static void vce_v3_0_set_vce_sw_clock_gating(struct<br>
> amdgpu_device *adev,<br>
>        /* Set Override to disable Clock Gating */<br>
>        vce_v3_0_override_vce_clock_gating(adev, true);<br>
> <br>
> -     if (!gated) {<br>
> +     if (gated) {<br>
>                /* Force CLOCK ON for VCE_CLOCK_GATING_B,<br>
>                 * {*_FORCE_ON, *_FORCE_OFF} = {1, 0}<br>
<br>
This doesn't make sense to me unless I'm mis-understanding the specific CG feature.  Forcing the clocks on, implies ungating, not gating.  In this case if forcing the clocks on part of the fw controlled clockgating configuration?  If so, please add a comment
 to that effect in the function.<br>
<br>
Alex<br>
<br>
>                 * VREG can be FORCE ON or set to Dynamic, but can't be OFF<br>
> @@ -153,7 +153,7 @@ static void vce_v3_0_set_vce_sw_clock_gating(struct<br>
> amdgpu_device *adev,<br>
>                /* set VCE_UENC_CLOCK_GATING_2 */<br>
>                tmp = data = RREG32(mmVCE_UENC_CLOCK_GATING_2);<br>
>                data |= 0x2;<br>
> -             data &= ~0x2;<br>
> +             data &= ~0x00010000;<br>
>                if (tmp != data)<br>
>                        WREG32(mmVCE_UENC_CLOCK_GATING_2, data);<br>
> <br>
> @@ -538,7 +538,7 @@ static void vce_v3_0_mc_resume(struct<br>
> amdgpu_device *adev, int idx)<br>
>        WREG32_P(mmVCE_CLOCK_GATING_A, 0, ~(1 << 16));<br>
>        WREG32_P(mmVCE_UENC_CLOCK_GATING, 0x1FF000,<br>
> ~0xFF9FF000);<br>
>        WREG32_P(mmVCE_UENC_REG_CLOCK_GATING, 0x3F, ~0x3F);<br>
> -     WREG32(mmVCE_CLOCK_GATING_B, 0xf7);<br>
> +     WREG32(mmVCE_CLOCK_GATING_B, 0x1FF);<br>
> <br>
>        WREG32(mmVCE_LMI_CTRL, 0x00398000);<br>
>        WREG32_P(mmVCE_LMI_CACHE_CTRL, 0x0, ~0x1);<br>
> --<br>
> 2.9.2<br>
> <br>
> _______________________________________________<br>
> amd-gfx mailing list<br>
> amd-gfx@lists.freedesktop.org<br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><br>
</div>
</span></font></div>
</div>
</body>
</html>