disp: msm: sde: check all dirty properties during plane update

Previously when updating a plane's dirty features, if the
dirty all flag was set, the optimization was to break early.
This optimization left out color property updates for that plane.
This fix removes the mutex locks in the msm_prop function so
the break optimization is no longer needed. Function callers will
now need to acquire the lock and unlock the property lock when done.
Now the plane will iterate through all dirty properties.

Change-Id: I3114ac44d62ac0f0633897d757b6fd9a5b1f5d2e
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Esse commit está contido em:
Samantha Tran
2019-10-25 14:27:04 -07:00
commit de Gerrit - the friendly Code Review server
commit 4de15bb6ef
4 arquivos alterados com 9 adições e 6 exclusões

Ver arquivo

@@ -3182,14 +3182,13 @@ static int sde_plane_sspp_atomic_update(struct drm_plane *plane,
}
/* determine what needs to be refreshed */
mutex_lock(&psde->property_info.property_lock);
while ((idx = msm_property_pop_dirty(&psde->property_info,
&pstate->property_state)) >= 0) {
dirty_prop_flag = plane_prop_array[idx];
pstate->dirty |= dirty_prop_flag;
if (dirty_prop_flag == SDE_PLANE_DIRTY_ALL)
break;
}
mutex_unlock(&psde->property_info.property_lock);
/**
* since plane_atomic_check is invoked before crtc_atomic_check