File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -310,6 +310,7 @@ static void adp_crtc_atomic_flush(struct drm_crtc *crtc,
310
310
struct drm_atomic_state * state )
311
311
{
312
312
u32 frame_num = 1 ;
313
+ unsigned long flags ;
313
314
struct adp_drv_private * adp = crtc_to_adp (crtc );
314
315
struct drm_crtc_state * new_state = drm_atomic_get_new_crtc_state (state , crtc );
315
316
u64 new_size = ALIGN (new_state -> mode .hdisplay *
@@ -330,13 +331,13 @@ static void adp_crtc_atomic_flush(struct drm_crtc *crtc,
330
331
}
331
332
writel (ADBE_FIFO_SYNC | frame_num , adp -> be + ADBE_FIFO );
332
333
//FIXME: use adbe flush interrupt
333
- spin_lock_irq (& crtc -> dev -> event_lock );
334
+ spin_lock_irqsave (& crtc -> dev -> event_lock , flags );
334
335
if (crtc -> state -> event ) {
335
336
drm_crtc_vblank_get (crtc );
336
337
adp -> event = crtc -> state -> event ;
337
338
}
338
339
crtc -> state -> event = NULL ;
339
- spin_unlock_irq (& crtc -> dev -> event_lock );
340
+ spin_unlock_irqrestore (& crtc -> dev -> event_lock , flags );
340
341
}
341
342
342
343
static const struct drm_crtc_funcs adp_crtc_funcs = {
You can’t perform that action at this time.
0 commit comments