From: Bhawanpreet Lakha <Bhawanpreet.Lakha@xxxxxxx> This struct is not updated on page flip and causes vblank_mode to not work as expected Change-Id: I0e8684c5b67ec5670054f4bb849fa26bc60ed4b1 Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha at amd.com> Reviewed-by: Tony Cheng <Tony.Cheng at amd.com> Acked-by: Harry Wentland <harry.wentland at amd.com> Tested-by: Michel Dänzer <michel.daenzer at amd.com> --- drivers/gpu/drm/amd/display/dc/core/dc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index d6938bf19c8f..802aebaa2e11 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1409,8 +1409,11 @@ void dc_commit_updates_for_stream(struct dc *dc, /* TODO: On flip we don't build the state, so it still has the * old address. Which is why we are updating the address here */ - if (srf_updates[i].flip_addr) + if (srf_updates[i].flip_addr) { surface->address = srf_updates[i].flip_addr->address; + surface->flip_immediate = srf_updates[i].flip_addr->flip_immediate; + + } if (update_type >= UPDATE_TYPE_MED) { for (j = 0; j < dc->res_pool->pipe_count; j++) { -- 2.14.1