On 2018-07-12 10:07 AM, David Francis wrote:
> [Why]
> When a dce100 asic was suspended, the clocks were not set to 0.
> Upon resume, the new clock was compared to the existing clock,
> they were found to be the same, and so the clock was not set.
> This resulted in a pernicious blackscreen.
> 
> [How]
> In atomic commit, check to see if there are any active pipes.
> If no, set clocks to 0
> 

Please add Fixes: tag with link to freedesktop bugzilla bug that this fixes.

I believe the issue is older than 4.18. Can you confirm? If so, please add

Cc: sta...@vger.kernel.org

Harry

> Signed-off-by: David Francis <david.fran...@amd.com>
> ---
>  .../amd/display/dc/dce100/dce100_resource.c   | 19 ++++++++++++++++---
>  1 file changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c 
> b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> index 8ed8eace42be..ad8ad4e1437c 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> @@ -678,9 +678,22 @@ bool dce100_validate_bandwidth(
>       struct dc  *dc,
>       struct dc_state *context)
>  {
> -     /* TODO implement when needed but for now hardcode max value*/
> -     context->bw.dce.dispclk_khz = 681000;
> -     context->bw.dce.yclk_khz = 250000 * MEMORY_TYPE_MULTIPLIER;
> +     int i;
> +     bool at_least_one_pipe = false;
> +
> +     for (i = 0; i < dc->res_pool->pipe_count; i++) {
> +             if (context->res_ctx.pipe_ctx[i].stream)
> +                     at_least_one_pipe = true;
> +     }
> +
> +     if (at_least_one_pipe) {
> +             /* TODO implement when needed but for now hardcode max value*/
> +             context->bw.dce.dispclk_khz = 681000;
> +             context->bw.dce.yclk_khz = 250000 * MEMORY_TYPE_MULTIPLIER;
> +     } else {
> +             context->bw.dce.dispclk_khz = 0;
> +             context->bw.dce.yclk_khz = 0;
> +     }
>  
>       return true;
>  }
> 
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to