Lines Matching defs:vc4

63 	struct vc4_dev *vc4 =
70 mutex_lock(&vc4->bin_bo_lock);
72 if (!vc4->bin_bo)
75 bo = vc4->bin_bo;
77 bin_bo_slot = vc4_v3d_get_bin_slot(vc4);
83 spin_lock_irqsave(&vc4->job_lock, irqflags);
85 if (vc4->bin_alloc_overflow) {
92 exec = vc4_first_bin_job(vc4);
94 exec = vc4_last_render_job(vc4);
96 exec->bin_slots |= vc4->bin_alloc_overflow;
101 vc4->bin_alloc_used &= ~vc4->bin_alloc_overflow;
104 vc4->bin_alloc_overflow = BIT(bin_bo_slot);
106 V3D_WRITE(V3D_BPOA, bo->base.dma_addr + bin_bo_slot * vc4->bin_alloc_size);
110 spin_unlock_irqrestore(&vc4->job_lock, irqflags);
113 mutex_unlock(&vc4->bin_bo_lock);
119 struct vc4_dev *vc4 = to_vc4_dev(dev);
120 struct vc4_exec_info *next, *exec = vc4_first_bin_job(vc4);
128 next = vc4_first_bin_job(vc4);
141 struct vc4_dev *vc4 = to_vc4_dev(dev);
142 struct vc4_exec_info *exec = vc4_first_bin_job(vc4);
149 vc4_perfmon_stop(vc4, exec->perfmon, false);
151 list_move_tail(&exec->head, &vc4->bin_job_list);
158 struct vc4_dev *vc4 = to_vc4_dev(dev);
159 struct vc4_exec_info *exec = vc4_first_render_job(vc4);
167 vc4->finished_seqno++;
168 list_move_tail(&exec->head, &vc4->job_done_list);
170 nextbin = vc4_first_bin_job(vc4);
171 nextrender = vc4_first_render_job(vc4);
178 vc4_perfmon_stop(vc4, exec->perfmon, true);
198 wake_up_all(&vc4->job_wait_queue);
199 schedule_work(&vc4->job_done_work);
206 struct vc4_dev *vc4 = to_vc4_dev(dev);
223 schedule_work(&vc4->overflow_mem_work);
228 spin_lock(&vc4->job_lock);
230 spin_unlock(&vc4->job_lock);
235 spin_lock(&vc4->job_lock);
237 spin_unlock(&vc4->job_lock);
247 struct vc4_dev *vc4 = to_vc4_dev(dev);
249 if (!vc4->v3d)
252 init_waitqueue_head(&vc4->job_wait_queue);
253 INIT_WORK(&vc4->overflow_mem_work, vc4_overflow_mem_work);
264 struct vc4_dev *vc4 = to_vc4_dev(dev);
266 if (WARN_ON_ONCE(vc4->is_vc5))
269 if (!vc4->v3d)
281 struct vc4_dev *vc4 = to_vc4_dev(dev);
283 if (WARN_ON_ONCE(vc4->is_vc5))
286 if (!vc4->v3d)
296 synchronize_irq(vc4->irq);
298 cancel_work_sync(&vc4->overflow_mem_work);
303 struct vc4_dev *vc4 = to_vc4_dev(dev);
306 if (WARN_ON_ONCE(vc4->is_vc5))
325 struct vc4_dev *vc4 = to_vc4_dev(dev);
327 if (WARN_ON_ONCE(vc4->is_vc5))
331 free_irq(vc4->irq, dev);
337 struct vc4_dev *vc4 = to_vc4_dev(dev);
340 if (WARN_ON_ONCE(vc4->is_vc5))
354 spin_lock_irqsave(&vc4->job_lock, irqflags);
357 spin_unlock_irqrestore(&vc4->job_lock, irqflags);