disp: msm: sde: wait for pending vsync event in encoder disable
In some corner cases there is pending vsync timestamp event to sf when encoder is getting disabled. This is keeping vblank irq to be enabled after sde_encoder_virt_reset leading to NULL ptr access. In these cases, wait for vsync event to be completed which disables the irq. Change-Id: If0a6be1fc282906fb1b9c0fd18ede1d31d2549b3 Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com> Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
这个提交包含在:
@@ -223,6 +223,7 @@ enum sde_sim_qsync_event {
|
||||
* @ctl_done_supported boolean flag to indicate the availability of
|
||||
* ctl done irq support for the hardware
|
||||
* @dynamic_irqs_config bitmask config to enable encoder dynamic irqs
|
||||
* @vsync_event_wq Queue to wait for the vsync event complete
|
||||
*/
|
||||
struct sde_encoder_virt {
|
||||
struct drm_encoder base;
|
||||
@@ -295,6 +296,7 @@ struct sde_encoder_virt {
|
||||
bool ctl_done_supported;
|
||||
|
||||
unsigned long dynamic_irqs_config;
|
||||
wait_queue_head_t vsync_event_wq;
|
||||
};
|
||||
|
||||
#define to_sde_encoder_virt(x) container_of(x, struct sde_encoder_virt, base)
|
||||
|
在新工单中引用
屏蔽一个用户