[PATCH] drm/amd/display: Only revalidate bandwidth on medium and fast updates
Alex Deucher
alexdeucher at gmail.com
Mon Jun 29 21:58:55 UTC 2020
On Mon, Jun 29, 2020 at 4:49 PM Nicholas Kazlauskas
<nicholas.kazlauskas at amd.com> wrote:
>
> [Why]
> Changes that are fast don't require updating DLG parameters making
> this call unnecessary. Considering this is an expensive call it should
> not be done on every flip.
>
> DML touches clocks, p-state support, DLG params and a few other DC
> internal flags and these aren't expected during fast. A hang has been
> reported with this change when called on every flip which suggests that
> modifying these fields is not recommended behavior on fast updates.
>
> [How]
> Guard the validation to only happen if update type isn't FAST.
>
> Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1191
> Fixes: e1995f0909e3 ("drm/amd/display: Revalidate bandwidth before commiting DC updates")
> Cc: Hersen Wu <hersenxs.wu at amd.com>
> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha at amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/display/dc/core/dc.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
> index 67402d75e67e..942ceb0f6383 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
> @@ -2607,10 +2607,12 @@ void dc_commit_updates_for_stream(struct dc *dc,
>
> copy_stream_update_to_stream(dc, context, stream, stream_update);
>
> - if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
> - DC_ERROR("Mode validation failed for stream update!\n");
> - dc_release_state(context);
> - return;
> + if (update_type > UPDATE_TYPE_FAST) {
> + if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
> + DC_ERROR("Mode validation failed for stream update!\n");
> + dc_release_state(context);
> + return;
> + }
> }
>
> commit_planes_for_stream(
> --
> 2.25.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list