[PATCH 62/66] drm/amd/display: Explicitly specify update type per plane info change
Aurabindo Pillai
aurabindo.pillai at amd.com
Mon Apr 17 15:41:58 UTC 2023
Hi,
Please add:
Fixes: aa5fdb1ab5b6 ("drm/amd/display: Explicitly specify update type
per plane info change")
On 4/14/23 11:53, Qingqing Zhuo wrote:
> From: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
>
> [Why]
> The bit for flip addr is being set causing the determination for
> FAST vs MEDIUM to always return MEDIUM when plane info is provided
> as a surface update. This causes extreme stuttering for the typical
> atomic update path on Linux.
>
> [How]
> Don't use update_flags->raw for determining FAST vs MEDIUM. It's too
> fragile to changes like this.
>
> Explicitly specify the update type per update flag instead. It's not
> as clever as checking the bits itself but at least it's correct.
>
> Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> ---
> drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
> index 238a13266ad8..e65ba87ee2c5 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
> @@ -2482,9 +2482,6 @@ static enum surface_update_type det_surface_update(const struct dc *dc,
> enum surface_update_type overall_type = UPDATE_TYPE_FAST;
> union surface_update_flags *update_flags = &u->surface->update_flags;
>
> - if (u->flip_addr)
> - update_flags->bits.addr_update = 1;
> -
> if (!is_surface_in_context(context, u->surface) || u->surface->force_full_update) {
> update_flags->raw = 0xFFFFFFFF;
> return UPDATE_TYPE_FULL;
More information about the amd-gfx
mailing list