| /Linux-v5.15/drivers/gpu/drm/etnaviv/ |
| D | etnaviv_gem_submit.c | 34 struct etnaviv_gem_submit *submit; in submit_create() local 35 size_t sz = size_vstruct(nr_bos, sizeof(submit->bos[0]), sizeof(*submit)); in submit_create() 37 submit = kzalloc(sz, GFP_KERNEL); in submit_create() 38 if (!submit) in submit_create() 41 submit->pmrs = kcalloc(nr_pmrs, sizeof(struct etnaviv_perfmon_request), in submit_create() 43 if (!submit->pmrs) { in submit_create() 44 kfree(submit); in submit_create() 47 submit->nr_pmrs = nr_pmrs; in submit_create() 49 submit->gpu = gpu; in submit_create() 50 kref_init(&submit->refcount); in submit_create() [all …]
|
| D | etnaviv_sched.c | 24 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_dependency() local 28 if (unlikely(submit->in_fence)) { in etnaviv_sched_dependency() 29 fence = submit->in_fence; in etnaviv_sched_dependency() 30 submit->in_fence = NULL; in etnaviv_sched_dependency() 38 for (i = 0; i < submit->nr_bos; i++) { in etnaviv_sched_dependency() 39 struct etnaviv_gem_submit_bo *bo = &submit->bos[i]; in etnaviv_sched_dependency() 74 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_run_job() local 78 fence = etnaviv_gpu_submit(submit); in etnaviv_sched_run_job() 80 dev_dbg(submit->gpu->dev, "skipping bad job\n"); in etnaviv_sched_run_job() 88 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_timedout_job() local [all …]
|
| D | etnaviv_dump.c | 113 void etnaviv_core_dump(struct etnaviv_gem_submit *submit) in etnaviv_core_dump() argument 115 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_core_dump() 137 mmu_size + gpu->buffer.size + submit->cmdbuf.size; in etnaviv_core_dump() 140 for (i = 0; i < submit->nr_bos; i++) { in etnaviv_core_dump() 141 obj = submit->bos[i].obj; in etnaviv_core_dump() 179 submit->cmdbuf.vaddr, submit->cmdbuf.size, in etnaviv_core_dump() 180 etnaviv_cmdbuf_get_va(&submit->cmdbuf, in etnaviv_core_dump() 196 for (i = 0; i < submit->nr_bos; i++) { in etnaviv_core_dump() 201 obj = submit->bos[i].obj; in etnaviv_core_dump() 202 vram = submit->bos[i].mapping; in etnaviv_core_dump()
|
| D | etnaviv_gpu.c | 1280 const struct etnaviv_gem_submit *submit = event->submit; in sync_point_perfmon_sample() local 1283 for (i = 0; i < submit->nr_pmrs; i++) { in sync_point_perfmon_sample() 1284 const struct etnaviv_perfmon_request *pmr = submit->pmrs + i; in sync_point_perfmon_sample() 1287 etnaviv_perfmon_process(gpu, pmr, submit->exec_state); in sync_point_perfmon_sample() 1312 const struct etnaviv_gem_submit *submit = event->submit; in sync_point_perfmon_sample_post() local 1318 for (i = 0; i < submit->nr_pmrs; i++) { in sync_point_perfmon_sample_post() 1319 const struct etnaviv_perfmon_request *pmr = submit->pmrs + i; in sync_point_perfmon_sample_post() 1337 struct dma_fence *etnaviv_gpu_submit(struct etnaviv_gem_submit *submit) in etnaviv_gpu_submit() argument 1339 struct etnaviv_gpu *gpu = submit->gpu; in etnaviv_gpu_submit() 1344 if (!submit->runtime_resumed) { in etnaviv_gpu_submit() [all …]
|
| /Linux-v5.15/drivers/gpu/drm/msm/ |
| D | msm_gem_submit.c | 35 struct msm_gem_submit *submit; in submit_create() local 39 sz = struct_size(submit, bos, nr_bos) + in submit_create() 40 ((u64)nr_cmds * sizeof(submit->cmd[0])); in submit_create() 45 submit = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); in submit_create() 46 if (!submit) in submit_create() 49 ret = drm_sched_job_init(&submit->base, queue->entity, queue); in submit_create() 51 kfree(submit); in submit_create() 55 xa_init_flags(&submit->deps, XA_FLAGS_ALLOC); in submit_create() 57 kref_init(&submit->ref); in submit_create() 58 submit->dev = dev; in submit_create() [all …]
|
| D | msm_gpu.c | 170 struct msm_gem_submit *submit; in update_fences() local 174 list_for_each_entry(submit, &ring->submits, node) { in update_fences() 175 if (submit->seqno > fence) in update_fences() 178 msm_update_fence(submit->ring->fctx, in update_fences() 179 submit->hw_fence->seqno); in update_fences() 180 dma_fence_signal(submit->hw_fence); in update_fences() 263 struct msm_gem_submit *submit, char *comm, char *cmd) in msm_gpu_crashstate_capture() argument 284 if (submit) { in msm_gpu_crashstate_capture() 288 for (i = 0; i < submit->nr_bos; i++) in msm_gpu_crashstate_capture() 289 if (should_dump(submit, i)) in msm_gpu_crashstate_capture() [all …]
|
| D | msm_rd.c | 86 struct msm_gem_submit *submit; member 300 struct msm_gem_submit *submit, int idx, in snapshot_buf() argument 303 struct msm_gem_object *obj = submit->bos[idx].obj; in snapshot_buf() 308 offset = iova - submit->bos[idx].iova; in snapshot_buf() 310 iova = submit->bos[idx].iova; in snapshot_buf() 325 if (!(submit->bos[idx].flags & MSM_SUBMIT_BO_READ)) in snapshot_buf() 344 void msm_rd_dump_submit(struct msm_rd_state *rd, struct msm_gem_submit *submit, in msm_rd_dump_submit() argument 347 struct drm_device *dev = submit->dev; in msm_rd_dump_submit() 371 task = pid_task(submit->pid, PIDTYPE_PID); in msm_rd_dump_submit() 375 pid_nr(submit->pid), submit->seqno); in msm_rd_dump_submit() [all …]
|
| D | msm_ringbuffer.c | 17 struct msm_gem_submit *submit = to_msm_submit(job); in msm_job_dependency() local 19 if (!xa_empty(&submit->deps)) in msm_job_dependency() 20 return xa_erase(&submit->deps, submit->last_dep++); in msm_job_dependency() 27 struct msm_gem_submit *submit = to_msm_submit(job); in msm_job_run() local 28 struct msm_gpu *gpu = submit->gpu; in msm_job_run() 30 submit->hw_fence = msm_fence_alloc(submit->ring->fctx); in msm_job_run() 37 msm_gpu_submit(gpu, submit); in msm_job_run() 43 return dma_fence_get(submit->hw_fence); in msm_job_run() 48 struct msm_gem_submit *submit = to_msm_submit(job); in msm_job_free() local 51 msm_gem_submit_put(submit); in msm_job_free()
|
| D | msm_gpu_trace.h | 34 TP_PROTO(struct msm_gem_submit *submit, u64 ticks), 35 TP_ARGS(submit, ticks), 44 __entry->pid = pid_nr(submit->pid); 45 __entry->id = submit->ident; 46 __entry->ringid = submit->ring->id; 47 __entry->seqno = submit->seqno; 57 TP_PROTO(struct msm_gem_submit *submit, u64 elapsed, u64 clock, 59 TP_ARGS(submit, elapsed, clock, start, end), 71 __entry->pid = pid_nr(submit->pid); 72 __entry->id = submit->ident; [all …]
|
| /Linux-v5.15/crypto/async_tx/ |
| D | async_raid6_recov.c | 20 size_t len, struct async_submit_ctl *submit) in async_sum_product() argument 22 struct dma_chan *chan = async_tx_find_channel(submit, DMA_PQ, in async_sum_product() 39 if (submit->flags & ASYNC_TX_FENCE) in async_sum_product() 58 async_tx_submit(chan, tx, submit); in async_sum_product() 70 async_tx_quiesce(&submit->depend_tx); in async_sum_product() 89 struct async_submit_ctl *submit) in async_mult() argument 91 struct dma_chan *chan = async_tx_find_channel(submit, DMA_PQ, in async_mult() 107 if (submit->flags & ASYNC_TX_FENCE) in async_mult() 128 async_tx_submit(chan, tx, submit); in async_mult() 141 async_tx_quiesce(&submit->depend_tx); in async_mult() [all …]
|
| D | async_xor.c | 24 struct async_submit_ctl *submit) in do_async_xor() argument 28 dma_async_tx_callback cb_fn_orig = submit->cb_fn; in do_async_xor() 29 void *cb_param_orig = submit->cb_param; in do_async_xor() 30 enum async_tx_flags flags_orig = submit->flags; in do_async_xor() 40 submit->flags = flags_orig; in do_async_xor() 46 submit->flags &= ~ASYNC_TX_ACK; in do_async_xor() 47 submit->flags |= ASYNC_TX_FENCE; in do_async_xor() 48 submit->cb_fn = NULL; in do_async_xor() 49 submit->cb_param = NULL; in do_async_xor() 51 submit->cb_fn = cb_fn_orig; in do_async_xor() [all …]
|
| D | async_pq.c | 39 struct async_submit_ctl *submit) in do_async_gen_syndrome() argument 43 enum async_tx_flags flags_orig = submit->flags; in do_async_gen_syndrome() 44 dma_async_tx_callback cb_fn_orig = submit->cb_fn; in do_async_gen_syndrome() 45 dma_async_tx_callback cb_param_orig = submit->cb_param; in do_async_gen_syndrome() 52 submit->flags = flags_orig; in do_async_gen_syndrome() 59 submit->flags &= ~ASYNC_TX_ACK; in do_async_gen_syndrome() 60 submit->flags |= ASYNC_TX_FENCE; in do_async_gen_syndrome() 61 submit->cb_fn = NULL; in do_async_gen_syndrome() 62 submit->cb_param = NULL; in do_async_gen_syndrome() 64 submit->cb_fn = cb_fn_orig; in do_async_gen_syndrome() [all …]
|
| D | raid6test.c | 60 struct async_submit_ctl submit; in raid6_dual_recov() local 71 init_async_submit(&submit, 0, NULL, NULL, NULL, addr_conv); in raid6_dual_recov() 73 disks, bytes, &submit); in raid6_dual_recov() 91 init_async_submit(&submit, ASYNC_TX_XOR_ZERO_DST, NULL, in raid6_dual_recov() 93 tx = async_xor(dest, blocks, 0, count, bytes, &submit); in raid6_dual_recov() 95 init_async_submit(&submit, 0, tx, NULL, NULL, addr_conv); in raid6_dual_recov() 97 disks, bytes, &submit); in raid6_dual_recov() 102 init_async_submit(&submit, 0, NULL, NULL, NULL, addr_conv); in raid6_dual_recov() 104 faila, ptrs, offs, &submit); in raid6_dual_recov() 107 init_async_submit(&submit, 0, NULL, NULL, NULL, addr_conv); in raid6_dual_recov() [all …]
|
| D | async_tx.c | 43 __async_tx_find_channel(struct async_submit_ctl *submit, in __async_tx_find_channel() argument 46 struct dma_async_tx_descriptor *depend_tx = submit->depend_tx; in __async_tx_find_channel() 144 struct async_submit_ctl *submit) in async_tx_submit() argument 146 struct dma_async_tx_descriptor *depend_tx = submit->depend_tx; in async_tx_submit() 148 tx->callback = submit->cb_fn; in async_tx_submit() 149 tx->callback_param = submit->cb_param; in async_tx_submit() 204 if (submit->flags & ASYNC_TX_ACK) in async_tx_submit() 221 async_trigger_callback(struct async_submit_ctl *submit) in async_trigger_callback() argument 226 struct dma_async_tx_descriptor *depend_tx = submit->depend_tx; in async_trigger_callback() 245 async_tx_submit(chan, tx, submit); in async_trigger_callback() [all …]
|
| D | async_memcpy.c | 34 struct async_submit_ctl *submit) in async_memcpy() argument 36 struct dma_chan *chan = async_tx_find_channel(submit, DMA_MEMCPY, in async_memcpy() 48 if (submit->cb_fn) in async_memcpy() 50 if (submit->flags & ASYNC_TX_FENCE) in async_memcpy() 70 async_tx_submit(chan, tx, submit); in async_memcpy() 76 async_tx_quiesce(&submit->depend_tx); in async_memcpy() 86 async_tx_sync_epilog(submit); in async_memcpy()
|
| /Linux-v5.15/include/linux/ |
| D | async_tx.h | 103 __async_tx_find_channel(struct async_submit_ctl *submit, 118 async_tx_find_channel(struct async_submit_ctl *submit, in async_tx_find_channel() argument 133 async_tx_sync_epilog(struct async_submit_ctl *submit) in async_tx_sync_epilog() argument 135 if (submit->cb_fn) in async_tx_sync_epilog() 136 submit->cb_fn(submit->cb_param); in async_tx_sync_epilog() 159 struct async_submit_ctl *submit); 163 int src_cnt, size_t len, struct async_submit_ctl *submit); 168 int src_cnt, size_t len, struct async_submit_ctl *submit); 173 struct async_submit_ctl *submit); 179 struct async_submit_ctl *submit); [all …]
|
| /Linux-v5.15/drivers/gpu/drm/lima/ |
| D | lima_gem.c | 273 static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit) in lima_gem_add_deps() argument 277 for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) { in lima_gem_add_deps() 280 if (!submit->in_sync[i]) in lima_gem_add_deps() 283 err = drm_syncobj_find_fence(file, submit->in_sync[i], in lima_gem_add_deps() 288 err = drm_gem_fence_array_add(&submit->task->deps, fence); in lima_gem_add_deps() 298 int lima_gem_submit(struct drm_file *file, struct lima_submit *submit) in lima_gem_submit() argument 306 struct lima_bo **bos = submit->lbos; in lima_gem_submit() 308 if (submit->out_sync) { in lima_gem_submit() 309 out_sync = drm_syncobj_find(file, submit->out_sync); in lima_gem_submit() 314 for (i = 0; i < submit->nr_bos; i++) { in lima_gem_submit() [all …]
|
| D | lima_drv.c | 110 struct lima_submit submit = {0}; in lima_ioctl_gem_submit() local 124 bos = kvcalloc(args->nr_bos, sizeof(*submit.bos) + sizeof(*submit.lbos), GFP_KERNEL); in lima_ioctl_gem_submit() 128 size = args->nr_bos * sizeof(*submit.bos); in lima_ioctl_gem_submit() 156 submit.pipe = args->pipe; in lima_ioctl_gem_submit() 157 submit.bos = bos; in lima_ioctl_gem_submit() 158 submit.lbos = (void *)bos + size; in lima_ioctl_gem_submit() 159 submit.nr_bos = args->nr_bos; in lima_ioctl_gem_submit() 160 submit.task = task; in lima_ioctl_gem_submit() 161 submit.ctx = ctx; in lima_ioctl_gem_submit() 162 submit.flags = args->flags; in lima_ioctl_gem_submit() [all …]
|
| /Linux-v5.15/drivers/dma/ti/ |
| D | cppi41.c | 119 u16 submit; member 157 [ 0] = { .submit = 32, .complete = 93}, 158 [ 1] = { .submit = 34, .complete = 94}, 159 [ 2] = { .submit = 36, .complete = 95}, 160 [ 3] = { .submit = 38, .complete = 96}, 161 [ 4] = { .submit = 40, .complete = 97}, 162 [ 5] = { .submit = 42, .complete = 98}, 163 [ 6] = { .submit = 44, .complete = 99}, 164 [ 7] = { .submit = 46, .complete = 100}, 165 [ 8] = { .submit = 48, .complete = 101}, [all …]
|
| /Linux-v5.15/fs/iomap/ |
| D | direct-io.c | 43 } submit; member 70 dio->submit.last_queue = bdev_get_queue(iter->iomap.bdev); in iomap_dio_submit_bio() 72 dio->submit.cookie = dio->dops->submit_io(iter, bio, pos); in iomap_dio_submit_bio() 74 dio->submit.cookie = submit_bio(bio); in iomap_dio_submit_bio() 161 struct task_struct *waiter = dio->submit.waiter; in iomap_dio_bio_end_io() 162 WRITE_ONCE(dio->submit.waiter, NULL); in iomap_dio_bio_end_io() 236 unsigned int align = iov_iter_alignment(dio->submit.iter); in iomap_dio_bio_iter() 279 orig_count = iov_iter_count(dio->submit.iter); in iomap_dio_bio_iter() 280 iov_iter_truncate(dio->submit.iter, length); in iomap_dio_bio_iter() 282 if (!iov_iter_count(dio->submit.iter)) in iomap_dio_bio_iter() [all …]
|
| /Linux-v5.15/drivers/gpu/drm/msm/adreno/ |
| D | a2xx_gpu.c | 13 static void a2xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) in a2xx_submit() argument 16 struct msm_ringbuffer *ring = submit->ring; in a2xx_submit() 19 for (i = 0; i < submit->nr_cmds; i++) { in a2xx_submit() 20 switch (submit->cmd[i].type) { in a2xx_submit() 26 if (priv->lastctx == submit->queue->ctx) in a2xx_submit() 31 OUT_RING(ring, lower_32_bits(submit->cmd[i].iova)); in a2xx_submit() 32 OUT_RING(ring, submit->cmd[i].size); in a2xx_submit() 39 OUT_RING(ring, submit->seqno); in a2xx_submit() 48 OUT_RING(ring, submit->seqno); in a2xx_submit() 479 .submit = a2xx_submit,
|
| D | a5xx_gpu.c | 66 static void a5xx_submit_in_rb(struct msm_gpu *gpu, struct msm_gem_submit *submit) in a5xx_submit_in_rb() argument 69 struct msm_ringbuffer *ring = submit->ring; in a5xx_submit_in_rb() 74 for (i = 0; i < submit->nr_cmds; i++) { in a5xx_submit_in_rb() 75 switch (submit->cmd[i].type) { in a5xx_submit_in_rb() 79 if (priv->lastctx == submit->queue->ctx) in a5xx_submit_in_rb() 84 obj = submit->bos[submit->cmd[i].idx].obj; in a5xx_submit_in_rb() 85 dwords = submit->cmd[i].size; in a5xx_submit_in_rb() 121 ring->memptrs->fence = submit->seqno; in a5xx_submit_in_rb() 125 static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) in a5xx_submit() argument 130 struct msm_ringbuffer *ring = submit->ring; in a5xx_submit() [all …]
|
| D | a3xx_gpu.c | 31 static void a3xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) in a3xx_submit() argument 34 struct msm_ringbuffer *ring = submit->ring; in a3xx_submit() 37 for (i = 0; i < submit->nr_cmds; i++) { in a3xx_submit() 38 switch (submit->cmd[i].type) { in a3xx_submit() 44 if (priv->lastctx == submit->queue->ctx) in a3xx_submit() 49 OUT_RING(ring, lower_32_bits(submit->cmd[i].iova)); in a3xx_submit() 50 OUT_RING(ring, submit->cmd[i].size); in a3xx_submit() 57 OUT_RING(ring, submit->seqno); in a3xx_submit() 74 OUT_RING(ring, submit->seqno); in a3xx_submit() 494 .submit = a3xx_submit,
|
| /Linux-v5.15/drivers/gpu/drm/i915/selftests/ |
| D | i915_active.c | 80 struct i915_sw_fence *submit; in __live_active_setup() local 89 submit = heap_fence_create(GFP_KERNEL); in __live_active_setup() 90 if (!submit) { in __live_active_setup() 108 err = i915_sw_fence_await_sw_fence_gfp(&rq->submit, in __live_active_setup() 109 submit, in __live_active_setup() 134 i915_sw_fence_commit(submit); in __live_active_setup() 135 heap_fence_put(submit); in __live_active_setup()
|
| /Linux-v5.15/drivers/gpu/drm/tegra/ |
| D | firewall.c | 9 struct tegra_drm_submit_data *submit; member 31 for (i = 0; i < fw->submit->num_used_mappings; i++) { in fw_check_addr_valid() 32 struct tegra_drm_mapping *m = fw->submit->used_mappings[i].mapping; in fw_check_addr_valid() 142 u32 words, struct tegra_drm_submit_data *submit, in tegra_drm_fw_validate() argument 146 .submit = submit, in tegra_drm_fw_validate()
|