diff options
Diffstat (limited to 'drivers/gpu/drm/lima/lima_pp.c')
-rw-r--r-- | drivers/gpu/drm/lima/lima_pp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/lima/lima_pp.c b/drivers/gpu/drm/lima/lima_pp.c index d29721e177bf..8fef224b93c8 100644 --- a/drivers/gpu/drm/lima/lima_pp.c +++ b/drivers/gpu/drm/lima/lima_pp.c | |||
@@ -64,7 +64,13 @@ static irqreturn_t lima_pp_bcast_irq_handler(int irq, void *data) | |||
64 | struct lima_ip *pp_bcast = data; | 64 | struct lima_ip *pp_bcast = data; |
65 | struct lima_device *dev = pp_bcast->dev; | 65 | struct lima_device *dev = pp_bcast->dev; |
66 | struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; | 66 | struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; |
67 | struct drm_lima_m450_pp_frame *frame = pipe->current_task->frame; | 67 | struct drm_lima_m450_pp_frame *frame; |
68 | |||
69 | /* for shared irq case */ | ||
70 | if (!pipe->current_task) | ||
71 | return IRQ_NONE; | ||
72 | |||
73 | frame = pipe->current_task->frame; | ||
68 | 74 | ||
69 | for (i = 0; i < frame->num_pp; i++) { | 75 | for (i = 0; i < frame->num_pp; i++) { |
70 | struct lima_ip *ip = pipe->processor[i]; | 76 | struct lima_ip *ip = pipe->processor[i]; |