Merge "disp: msm: sde: reset sw state on vm transition" into display-kernel.lnx.5.4

This commit is contained in:
Linux Build Service Account
2020-11-20 17:17:32 -08:00
committed by Gerrit - the friendly Code Review server
3 changed files with 12 additions and 2 deletions

View File

@@ -3974,7 +3974,7 @@ static void sde_crtc_clear_cached_mixer_cfg(struct drm_crtc *crtc)
SDE_EVT32(DRMID(crtc));
}
static void sde_crtc_reset_sw_state_for_ipc(struct drm_crtc *crtc)
void sde_crtc_reset_sw_state(struct drm_crtc *crtc)
{
struct sde_crtc_state *cstate = to_sde_crtc_state(crtc->state);
struct drm_plane *plane;
@@ -4077,7 +4077,7 @@ static void sde_crtc_handle_power_event(u32 event_type, void *arg)
sde_cp_crtc_pre_ipc(crtc);
break;
case SDE_POWER_EVENT_POST_DISABLE:
sde_crtc_reset_sw_state_for_ipc(crtc);
sde_crtc_reset_sw_state(crtc);
sde_cp_crtc_suspend(crtc);
event.type = DRM_EVENT_SDE_POWER;
event.length = sizeof(power_on);

View File

@@ -917,4 +917,11 @@ void sde_crtc_static_cache_read_kickoff(struct drm_crtc *crtc);
int sde_crtc_get_num_datapath(struct drm_crtc *crtc,
struct drm_connector *connector);
/**
* sde_crtc_reset_sw_state - reset dirty proerties on crtc and
* planes attached to the crtc
* @crtc: Pointer to DRM crtc object
*/
void sde_crtc_reset_sw_state(struct drm_crtc *crtc);
#endif /* _SDE_CRTC_H_ */

View File

@@ -1367,6 +1367,9 @@ int sde_kms_vm_pre_release(struct sde_kms *sde_kms,
/* disable vblank events */
drm_crtc_vblank_off(crtc);
/* reset sw state */
sde_crtc_reset_sw_state(crtc);
return rc;
}