disp: msm: sde: use different spin lock for frame events
Due to lock sequence inconsistency between sde_crtc->spin_lock and sde_kms->hw_intr->irq_lock can cause deadlock, to avoid this possible deadlock this change uses different spin lock for frame events. Change-Id: I51b1184dfa1069c87653099b95b992b277721daf Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
This commit is contained in:

committato da
Dhaval Patel

parent
f5148f4a7c
commit
21f527d47d
@@ -263,7 +263,8 @@ struct sde_crtc_misr_info {
|
||||
* @frame_pending : Whether or not an update is pending
|
||||
* @frame_events : static allocation of in-flight frame events
|
||||
* @frame_event_list : available frame event list
|
||||
* @spin_lock : spin lock for frame event, transaction status, etc...
|
||||
* @spin_lock : spin lock for transaction status, etc...
|
||||
* @fevent_spin_lock : spin lock for frame event
|
||||
* @event_thread : Pointer to event handler thread
|
||||
* @event_worker : Event worker queue
|
||||
* @event_cache : Local cache of event worker structures
|
||||
@@ -350,6 +351,7 @@ struct sde_crtc {
|
||||
struct sde_crtc_frame_event frame_events[SDE_CRTC_FRAME_EVENT_SIZE];
|
||||
struct list_head frame_event_list;
|
||||
spinlock_t spin_lock;
|
||||
spinlock_t fevent_spin_lock;
|
||||
|
||||
/* for handling internal event thread */
|
||||
struct sde_crtc_event event_cache[SDE_CRTC_MAX_EVENT_COUNT];
|
||||
|
Fai riferimento in un nuovo problema
Block a user