Commit e8cb7a4d authored by Aric Cyr's avatar Aric Cyr Committed by Alex Deucher

drm/amd/display: Flip pending check timeout due to disabled hubp

[Why]
When pipe locks are being taken we wait for flip pending to clear first.
In some cases the pipe mapping is changed and the pending we're checking
for will never clear.

[How]
Don't check disabled pipes for flip pending.
Signed-off-by: default avatarAric Cyr <aric.cyr@amd.com>
Acked-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 123ecf68
...@@ -734,6 +734,9 @@ bool hubp1_is_flip_pending(struct hubp *hubp) ...@@ -734,6 +734,9 @@ bool hubp1_is_flip_pending(struct hubp *hubp)
struct dcn10_hubp *hubp1 = TO_DCN10_HUBP(hubp); struct dcn10_hubp *hubp1 = TO_DCN10_HUBP(hubp);
struct dc_plane_address earliest_inuse_address; struct dc_plane_address earliest_inuse_address;
if (hubp && hubp->power_gated)
return false;
REG_GET(DCSURF_FLIP_CONTROL, REG_GET(DCSURF_FLIP_CONTROL,
SURFACE_FLIP_PENDING, &flip_pending); SURFACE_FLIP_PENDING, &flip_pending);
......
...@@ -908,6 +908,9 @@ bool hubp2_is_flip_pending(struct hubp *hubp) ...@@ -908,6 +908,9 @@ bool hubp2_is_flip_pending(struct hubp *hubp)
struct dcn20_hubp *hubp2 = TO_DCN20_HUBP(hubp); struct dcn20_hubp *hubp2 = TO_DCN20_HUBP(hubp);
struct dc_plane_address earliest_inuse_address; struct dc_plane_address earliest_inuse_address;
if (hubp && hubp->power_gated)
return false;
REG_GET(DCSURF_FLIP_CONTROL, REG_GET(DCSURF_FLIP_CONTROL,
SURFACE_FLIP_PENDING, &flip_pending); SURFACE_FLIP_PENDING, &flip_pending);
......
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