Lines Matching refs:pipe

24 	struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp;  in lima_pp_handle_irq()  local
32 pipe->error = true; in lima_pp_handle_irq()
45 struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; in lima_pp_irq_handler() local
54 if (atomic_dec_and_test(&pipe->task)) in lima_pp_irq_handler()
55 lima_sched_pipe_task_done(pipe); in lima_pp_irq_handler()
66 struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; in lima_pp_bcast_irq_handler() local
70 if (!pipe->current_task) in lima_pp_bcast_irq_handler()
73 frame = pipe->current_task->frame; in lima_pp_bcast_irq_handler()
76 struct lima_ip *ip = pipe->processor[i]; in lima_pp_bcast_irq_handler()
79 if (pipe->done & (1 << i)) in lima_pp_bcast_irq_handler()
96 pipe->done |= (1 << i); in lima_pp_bcast_irq_handler()
97 if (atomic_dec_and_test(&pipe->task)) in lima_pp_bcast_irq_handler()
98 lima_sched_pipe_task_done(pipe); in lima_pp_bcast_irq_handler()
146 struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; in lima_pp_soft_reset_async_wait() local
147 struct drm_lima_m450_pp_frame *frame = pipe->current_task->frame; in lima_pp_soft_reset_async_wait()
150 err |= lima_pp_soft_reset_async_wait_one(pipe->processor[i]); in lima_pp_soft_reset_async_wait()
305 static int lima_pp_task_validate(struct lima_sched_pipe *pipe, in lima_pp_task_validate() argument
310 if (pipe->bcast_processor) { in lima_pp_task_validate()
323 if (num_pp == 0 || num_pp > pipe->num_processor) in lima_pp_task_validate()
329 static void lima_pp_task_run(struct lima_sched_pipe *pipe, in lima_pp_task_run() argument
332 if (pipe->bcast_processor) { in lima_pp_task_run()
334 struct lima_device *dev = pipe->bcast_processor->dev; in lima_pp_task_run()
335 struct lima_ip *ip = pipe->bcast_processor; in lima_pp_task_run()
338 pipe->done = 0; in lima_pp_task_run()
339 atomic_set(&pipe->task, frame->num_pp); in lima_pp_task_run()
356 struct lima_ip *ip = pipe->processor[i]; in lima_pp_task_run()
368 atomic_set(&pipe->task, frame->num_pp); in lima_pp_task_run()
371 struct lima_ip *ip = pipe->processor[i]; in lima_pp_task_run()
387 static void lima_pp_task_fini(struct lima_sched_pipe *pipe) in lima_pp_task_fini() argument
389 if (pipe->bcast_processor) in lima_pp_task_fini()
390 lima_pp_soft_reset_async(pipe->bcast_processor); in lima_pp_task_fini()
394 for (i = 0; i < pipe->num_processor; i++) in lima_pp_task_fini()
395 lima_pp_soft_reset_async(pipe->processor[i]); in lima_pp_task_fini()
399 static void lima_pp_task_error(struct lima_sched_pipe *pipe) in lima_pp_task_error() argument
403 for (i = 0; i < pipe->num_processor; i++) { in lima_pp_task_error()
404 struct lima_ip *ip = pipe->processor[i]; in lima_pp_task_error()
413 static void lima_pp_task_mmu_error(struct lima_sched_pipe *pipe) in lima_pp_task_mmu_error() argument
415 if (atomic_dec_and_test(&pipe->task)) in lima_pp_task_mmu_error()
416 lima_sched_pipe_task_done(pipe); in lima_pp_task_mmu_error()
425 struct lima_sched_pipe *pipe = dev->pipe + lima_pipe_pp; in lima_pp_pipe_init() local
442 pipe->frame_size = frame_size; in lima_pp_pipe_init()
443 pipe->task_slab = lima_pp_task_slab; in lima_pp_pipe_init()
445 pipe->task_validate = lima_pp_task_validate; in lima_pp_pipe_init()
446 pipe->task_run = lima_pp_task_run; in lima_pp_pipe_init()
447 pipe->task_fini = lima_pp_task_fini; in lima_pp_pipe_init()
448 pipe->task_error = lima_pp_task_error; in lima_pp_pipe_init()
449 pipe->task_mmu_error = lima_pp_task_mmu_error; in lima_pp_pipe_init()