disp: msm: sde: reset plane cache state on plane disable

Plane cache state is updated based on the crtc's cache state.
The plane is left with state cache state, if the particular plane
is not used in the subsequent frame by the same crtc. Reset the
plane cache state on plane disable and reset_custom_properties to
avoid this case.

Change-Id: Ic6d31567af23906e94c5404d1d366e030b9be199
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
This commit is contained in:
Veera Sundaram Sankaran
2022-03-21 16:27:59 -07:00
parent beeab715ac
commit c5121825bf

View File

@@ -3450,6 +3450,7 @@ static void _sde_plane_atomic_disable(struct drm_plane *plane,
pstate->multirect_mode);
pstate->pending = true;
pstate->static_cache_state = CACHE_STATE_DISABLED;
if (is_sde_plane_virtual(plane))
multirect_index = SDE_SSPP_RECT_1;
@@ -4305,6 +4306,8 @@ int sde_plane_helper_reset_custom_properties(struct drm_plane *plane,
psde = to_sde_plane(plane);
pstate = to_sde_plane_state(plane_state);
pstate->static_cache_state = CACHE_STATE_DISABLED;
for (prop_idx = 0; prop_idx < PLANE_PROP_COUNT; prop_idx++) {
uint64_t val = pstate->property_values[prop_idx].value;
uint64_t def;