Commit c803bb4e authored by Nicholas Kazlauskas's avatar Nicholas Kazlauskas Committed by Alex Deucher

drm/amd/display: Pass triplebuffer surface flip flags down to plane state

[Why]
A "dcn20_program_front_end_for_ctx" warning is observed on Renoir.

Since the resource definition doesn't explicitly disable triplebuffer
flips like Navi10 DC actually attempts to go and setup triplebuffering
even when we pass in false to the plane state.

If we hit a full update after triplebuffering has been setup we see the
assertion since we don't expect full updates while performing
triplebuffer flips.

Normally this would get reset back to false whne we pass in the new
plane state, but since we never actually copy the flag when doing
surface updates this doesn't happen.

[How]
Copy the flag onto the plane update based on the requested surface
update state.
Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: default avatarHersen Wu <hersenxs.wu@amd.com>
Acked-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent cd3e05a7
...@@ -1871,6 +1871,8 @@ static void copy_surface_update_to_plane( ...@@ -1871,6 +1871,8 @@ static void copy_surface_update_to_plane(
surface->time.index++; surface->time.index++;
if (surface->time.index >= DC_PLANE_UPDATE_TIMES_MAX) if (surface->time.index >= DC_PLANE_UPDATE_TIMES_MAX)
surface->time.index = 0; surface->time.index = 0;
surface->triplebuffer_flips = srf_update->flip_addr->triplebuffer_flips;
} }
if (srf_update->scaling_info) { if (srf_update->scaling_info) {
......
...@@ -872,6 +872,7 @@ struct dc_flip_addrs { ...@@ -872,6 +872,7 @@ struct dc_flip_addrs {
unsigned int flip_timestamp_in_us; unsigned int flip_timestamp_in_us;
bool flip_immediate; bool flip_immediate;
/* TODO: add flip duration for FreeSync */ /* TODO: add flip duration for FreeSync */
bool triplebuffer_flips;
}; };
bool dc_post_update_surfaces_to_stream( bool dc_post_update_surfaces_to_stream(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment