disp: msm: sde: remove fb's attached to a drm_file in preclose
This change avoids upstream drm issuing drm_atomic_commit in drm_fb_release which is leading to artifacts on screen or atomic_check failures due to atomically unstaging each fb from plane_state and committing remaining planes on hardware. a) This patch moves the state operations for setting crtc to connector state to a helper api. b) This patch clears any dim_layers present in the crtc_state as part of null commit. c) This patch removes any framebuffers attached to a drm_file in msm_preclose whose refcount is not managed by composer kill inadvertently and issues null flush to hardware in such cases. d) This patch handles msm_preclose as part of msm_release operation since legacy feature is not supported for msm_driver. Change-Id: Ib2068d74d4b23b73b7c84544858c9f6bb6adfa67 Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org> Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Cette révision appartient à :

révisé par
Samantha Tran

Parent
2df01bf3aa
révision
0e3d422520
@@ -1022,4 +1022,10 @@ void sde_crtc_reset_sw_state(struct drm_crtc *crtc);
|
||||
*/
|
||||
void sde_crtc_disable_cp_features(struct drm_crtc *crtc);
|
||||
|
||||
/*
|
||||
* _sde_crtc_clear_dim_layers_v1 - clear all dim layer settings
|
||||
* @cstate: Pointer to drm crtc state
|
||||
*/
|
||||
void _sde_crtc_clear_dim_layers_v1(struct drm_crtc_state *state);
|
||||
|
||||
#endif /* _SDE_CRTC_H_ */
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur