Commit 3273d3bf authored by Andrey Grodzovsky's avatar Andrey Grodzovsky Committed by Alex Deucher

drm/amd/display: Fix race.

Problem :
A race between two adjecent page flips makes the earlier one
to release an alocated frame buffer for the subsequent one -
since there are 2 frambuffer swapped back and forth between flips,
the 'new' fb of the later flip is actually the 'previous' fb for the earlier flip.
Fix:
Don't set fb->address = 0 in cleanup hook, this is unnecessery and
erases the newly cached adress that was set in prepare_fb of the second
flip.
Signed-off-by: default avatarAndrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: default avatarAndrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f3e43418
...@@ -1622,9 +1622,7 @@ static void dm_plane_helper_cleanup_fb( ...@@ -1622,9 +1622,7 @@ static void dm_plane_helper_cleanup_fb(
amdgpu_bo_unpin(rbo); amdgpu_bo_unpin(rbo);
amdgpu_bo_unreserve(rbo); amdgpu_bo_unreserve(rbo);
amdgpu_bo_unref(&rbo); amdgpu_bo_unref(&rbo);
} };
afb->address = 0;
} }
int dm_create_validation_set_for_connector(struct drm_connector *connector, int dm_create_validation_set_for_connector(struct drm_connector *connector,
......
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