Merge "disp: msm: sde: reset sw state on vm transition" into display-kernel.lnx.5.4
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
3f6007cead
@@ -3974,7 +3974,7 @@ static void sde_crtc_clear_cached_mixer_cfg(struct drm_crtc *crtc)
|
|||||||
SDE_EVT32(DRMID(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 sde_crtc_state *cstate = to_sde_crtc_state(crtc->state);
|
||||||
struct drm_plane *plane;
|
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);
|
sde_cp_crtc_pre_ipc(crtc);
|
||||||
break;
|
break;
|
||||||
case SDE_POWER_EVENT_POST_DISABLE:
|
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);
|
sde_cp_crtc_suspend(crtc);
|
||||||
event.type = DRM_EVENT_SDE_POWER;
|
event.type = DRM_EVENT_SDE_POWER;
|
||||||
event.length = sizeof(power_on);
|
event.length = sizeof(power_on);
|
||||||
|
@@ -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,
|
int sde_crtc_get_num_datapath(struct drm_crtc *crtc,
|
||||||
struct drm_connector *connector);
|
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_ */
|
#endif /* _SDE_CRTC_H_ */
|
||||||
|
@@ -1367,6 +1367,9 @@ int sde_kms_vm_pre_release(struct sde_kms *sde_kms,
|
|||||||
/* disable vblank events */
|
/* disable vblank events */
|
||||||
drm_crtc_vblank_off(crtc);
|
drm_crtc_vblank_off(crtc);
|
||||||
|
|
||||||
|
/* reset sw state */
|
||||||
|
sde_crtc_reset_sw_state(crtc);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user