/linux-master/drivers/gpu/drm/virtio/ |
H A D | virtgpu_submit.c | 48 static int virtio_gpu_do_fence_wait(struct virtio_gpu_submit *submit, argument 51 u32 context = submit->fence_ctx + submit->ring_idx; 59 static int virtio_gpu_dma_fence_wait(struct virtio_gpu_submit *submit, argument 67 err = virtio_gpu_do_fence_wait(submit, f); 89 virtio_gpu_parse_deps(struct virtio_gpu_submit *submit) argument 91 struct drm_virtgpu_execbuffer *exbuf = submit->exbuf; 129 ret = drm_syncobj_find_fence(submit->file, syncobj_desc.handle, 134 ret = virtio_gpu_dma_fence_wait(submit, fence); 141 syncobjs[i] = drm_syncobj_find(submit 186 virtio_gpu_parse_post_deps(struct virtio_gpu_submit *submit) argument 250 virtio_gpu_process_post_deps(struct virtio_gpu_submit *submit) argument 298 virtio_gpu_init_submit_buflist(struct virtio_gpu_submit *submit) argument 329 virtio_gpu_cleanup_submit(struct virtio_gpu_submit *submit) argument 351 virtio_gpu_submit(struct virtio_gpu_submit *submit) argument 359 virtio_gpu_complete_submit(struct virtio_gpu_submit *submit) argument 367 virtio_gpu_init_submit(struct virtio_gpu_submit *submit, struct drm_virtgpu_execbuffer *exbuf, struct drm_device *dev, struct drm_file *file, u64 fence_ctx, u32 ring_idx) argument 435 virtio_gpu_wait_in_fence(struct virtio_gpu_submit *submit) argument 457 virtio_gpu_install_out_fence_fd(struct virtio_gpu_submit *submit) argument 465 virtio_gpu_lock_buflist(struct virtio_gpu_submit *submit) argument 480 struct virtio_gpu_submit submit; local [all...] |
/linux-master/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_gem_submit.c | 34 struct etnaviv_gem_submit *submit; local 35 size_t sz = size_vstruct(nr_bos, sizeof(submit->bos[0]), sizeof(*submit)); 37 submit = kzalloc(sz, GFP_KERNEL); 38 if (!submit) 41 submit->pmrs = kcalloc(nr_pmrs, sizeof(struct etnaviv_perfmon_request), 43 if (!submit->pmrs) { 44 kfree(submit); 47 submit->nr_pmrs = nr_pmrs; 49 submit 55 submit_lookup_objects(struct etnaviv_gem_submit *submit, struct drm_file *file, struct drm_etnaviv_gem_submit_bo *submit_bos, unsigned nr_bos) argument 111 submit_unlock_object(struct etnaviv_gem_submit *submit, int i) argument 121 submit_lock_objects(struct etnaviv_gem_submit *submit, struct ww_acquire_ctx *ticket) argument 174 submit_fence_sync(struct etnaviv_gem_submit *submit) argument 199 submit_attach_object_fences(struct etnaviv_gem_submit *submit) argument 213 submit_pin_objects(struct etnaviv_gem_submit *submit) argument 244 submit_bo(struct etnaviv_gem_submit *submit, u32 idx, struct etnaviv_gem_submit_bo **bo) argument 259 submit_reloc(struct etnaviv_gem_submit *submit, void *stream, u32 size, const struct drm_etnaviv_gem_submit_reloc *relocs, u32 nr_relocs) argument 313 submit_perfmon_validate(struct etnaviv_gem_submit *submit, u32 exec_state, const struct drm_etnaviv_gem_submit_pmr *pmrs) argument 361 struct etnaviv_gem_submit *submit = local 407 etnaviv_submit_put(struct etnaviv_gem_submit *submit) argument 421 struct etnaviv_gem_submit *submit; local [all...] |
H A D | etnaviv_sched.c | 22 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); local 26 fence = etnaviv_gpu_submit(submit); 28 dev_dbg(submit->gpu->dev, "skipping bad job\n"); 36 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); local 37 struct etnaviv_gpu *gpu = submit->gpu; 48 if (dma_fence_is_signaled(submit->out_fence)) 70 etnaviv_core_dump(submit); 71 etnaviv_gpu_recover_hang(submit); 86 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); local 90 etnaviv_submit_put(submit); 99 etnaviv_sched_push_job(struct etnaviv_gem_submit *submit) argument [all...] |
H A D | etnaviv_dump.c | 118 void etnaviv_core_dump(struct etnaviv_gem_submit *submit) argument 120 struct etnaviv_gpu *gpu = submit->gpu; 133 mutex_lock(&submit->mmu_context->lock); 135 mmu_size = etnaviv_iommu_dump_size(submit->mmu_context); 142 mmu_size + gpu->buffer.size + submit->cmdbuf.size; 145 for (i = 0; i < submit->nr_bos; i++) { 146 obj = submit->bos[i].obj; 165 mutex_unlock(&submit->mmu_context->lock); 177 etnaviv_core_dump_mmu(&iter, submit->mmu_context, mmu_size); 181 &submit [all...] |
H A D | etnaviv_sched.h | 21 int etnaviv_sched_push_job(struct etnaviv_gem_submit *submit);
|
H A D | etnaviv_dump.h | 39 void etnaviv_core_dump(struct etnaviv_gem_submit *submit);
|
/linux-master/drivers/gpu/drm/msm/ |
H A D | msm_gem_submit.c | 23 #define SUBMIT_ERROR(submit, fmt, ...) \ 24 DRM_DEV_DEBUG_DRIVER((submit)->dev->dev, fmt, ##__VA_ARGS__) 36 struct msm_gem_submit *submit; local 40 sz = struct_size(submit, bos, nr_bos) + 41 ((u64)nr_cmds * sizeof(submit->cmd[0])); 46 submit = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN); 47 if (!submit) 50 submit->hw_fence = msm_fence_alloc(); 51 if (IS_ERR(submit->hw_fence)) { 52 ret = PTR_ERR(submit 84 struct msm_gem_submit *submit = local 118 submit_lookup_objects(struct msm_gem_submit *submit, struct drm_msm_gem_submit *args, struct drm_file *file) argument 184 submit_lookup_cmds(struct msm_gem_submit *submit, struct drm_msm_gem_submit *args, struct drm_file *file) argument 252 submit_lock_objects(struct msm_gem_submit *submit) argument 274 submit_fence_sync(struct msm_gem_submit *submit) argument 299 submit_pin_objects(struct msm_gem_submit *submit) argument 340 submit_unpin_objects(struct msm_gem_submit *submit) argument 354 submit_attach_object_fences(struct msm_gem_submit *submit) argument 370 submit_bo(struct msm_gem_submit *submit, uint32_t idx, struct drm_gem_object **obj, uint64_t *iova) argument 388 submit_reloc(struct msm_gem_submit *submit, struct drm_gem_object *obj, uint32_t offset, uint32_t nr_relocs, struct drm_msm_gem_submit_reloc *relocs) argument 459 submit_cleanup(struct msm_gem_submit *submit, bool error) argument 471 msm_submit_retire(struct msm_gem_submit *submit) argument 488 msm_parse_deps(struct msm_gem_submit *submit, struct drm_file *file, uint64_t in_syncobjs_addr, uint32_t nr_in_syncobjs, size_t syncobj_stride) argument 655 struct msm_gem_submit *submit = NULL; local [all...] |
H A D | msm_rd.c | 13 * cmdstream for the next fence, you can narrow down which process and submit 27 * all (non-written) buffers in the submit, rather than just cmdstream bo's. 313 struct msm_gem_submit *submit, int idx, 316 struct drm_gem_object *obj = submit->bos[idx].obj; 321 offset = iova - submit->bos[idx].iova; 323 iova = submit->bos[idx].iova; 338 if (!(submit->bos[idx].flags & MSM_SUBMIT_BO_READ)) 353 void msm_rd_dump_submit(struct msm_rd_state *rd, struct msm_gem_submit *submit, argument 376 task = pid_task(submit->pid, PIDTYPE_PID); 380 pid_nr(submit 312 snapshot_buf(struct msm_rd_state *rd, struct msm_gem_submit *submit, int idx, uint64_t iova, uint32_t size, bool full) argument [all...] |
H A D | msm_ringbuffer.c | 16 struct msm_gem_submit *submit = to_msm_submit(job); local 17 struct msm_fence_context *fctx = submit->ring->fctx; 18 struct msm_gpu *gpu = submit->gpu; 22 msm_fence_init(submit->hw_fence, fctx); 26 for (i = 0; i < submit->nr_bos; i++) { 27 struct drm_gem_object *obj = submit->bos[i].obj; 32 submit->bos_pinned = false; 36 /* TODO move submit path over to using a per-ring lock.. */ 39 msm_gpu_submit(gpu, submit); 43 return dma_fence_get(submit 48 struct msm_gem_submit *submit = to_msm_submit(job); local [all...] |
H A D | msm_gpu.c | 258 struct msm_gem_submit *submit, char *comm, char *cmd) 279 if (submit) { 282 state->bos = kcalloc(submit->nr_bos, 285 for (i = 0; state->bos && i < submit->nr_bos; i++) { 286 msm_gpu_crashstate_get_bo(state, submit->bos[i].obj, 287 submit->bos[i].iova, 288 should_dump(submit, i)); 300 struct msm_gem_submit *submit, char *comm, char *cmd) 312 struct msm_gem_submit *submit; local 316 list_for_each_entry(submit, 257 msm_gpu_crashstate_capture(struct msm_gpu *gpu, struct msm_gem_submit *submit, char *comm, char *cmd) argument 299 msm_gpu_crashstate_capture(struct msm_gpu *gpu, struct msm_gem_submit *submit, char *comm, char *cmd) argument 329 get_comm_cmdline(struct msm_gem_submit *submit, char **comm, char **cmd) argument 358 struct msm_gem_submit *submit; local 454 struct msm_gem_submit *submit; local 647 retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, struct msm_gem_submit *submit) argument 705 struct msm_gem_submit *submit = NULL; local 749 msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) argument [all...] |
H A 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 [all...] |
H A D | msm_gem.h | 251 /* Created per submit-ioctl, to track bo's and cmdstream bufs, etc, 261 struct list_head node; /* node in ring submit list */ 263 uint32_t seqno; /* Sequence number of the submit on the ring */ 279 bool fault_dumped:1;/* Limit devcoredump dumping to one per submit */ 284 u32 ident; /* A "identifier" for the submit for logging */ 311 static inline void msm_gem_submit_get(struct msm_gem_submit *submit) argument 313 kref_get(&submit->ref); 316 static inline void msm_gem_submit_put(struct msm_gem_submit *submit) argument 318 kref_put(&submit->ref, __msm_gem_submit_destroy); 321 void msm_submit_retire(struct msm_gem_submit *submit); 327 should_dump(struct msm_gem_submit *submit, int idx) argument [all...] |
/linux-master/crypto/async_tx/ |
H A D | async_xor.c | 24 struct async_submit_ctl *submit) 28 dma_async_tx_callback cb_fn_orig = submit->cb_fn; 29 void *cb_param_orig = submit->cb_param; 30 enum async_tx_flags flags_orig = submit->flags; 40 submit->flags = flags_orig; 46 submit->flags &= ~ASYNC_TX_ACK; 47 submit->flags |= ASYNC_TX_FENCE; 48 submit->cb_fn = NULL; 49 submit->cb_param = NULL; 51 submit 23 do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap, struct async_submit_ctl *submit) argument 100 do_sync_xor_offs(struct page *dest, unsigned int offset, struct page **src_list, unsigned int *src_offs, int src_cnt, size_t len, struct async_submit_ctl *submit) argument 182 async_xor_offs(struct page *dest, unsigned int offset, struct page **src_list, unsigned int *src_offs, int src_cnt, size_t len, struct async_submit_ctl *submit) argument 273 async_xor(struct page *dest, struct page **src_list, unsigned int offset, int src_cnt, size_t len, struct async_submit_ctl *submit) argument 287 xor_val_chan(struct async_submit_ctl *submit, struct page *dest, struct page **src_list, int src_cnt, size_t len) argument 315 async_xor_val_offs(struct page *dest, unsigned int offset, struct page **src_list, unsigned int *src_offs, int src_cnt, size_t len, enum sum_check_flags *result, struct async_submit_ctl *submit) argument 409 async_xor_val(struct page *dest, struct page **src_list, unsigned int offset, int src_cnt, size_t len, enum sum_check_flags *result, struct async_submit_ctl *submit) argument [all...] |
H A D | async_raid6_recov.c | 20 size_t len, struct async_submit_ctl *submit) 22 struct dma_chan *chan = async_tx_find_channel(submit, DMA_PQ, 39 if (submit->flags & ASYNC_TX_FENCE) 58 async_tx_submit(chan, tx, submit); 70 async_tx_quiesce(&submit->depend_tx); 89 struct async_submit_ctl *submit) 91 struct dma_chan *chan = async_tx_find_channel(submit, DMA_PQ, 107 if (submit->flags & ASYNC_TX_FENCE) 128 async_tx_submit(chan, tx, submit); 141 async_tx_quiesce(&submit 18 async_sum_product(struct page *dest, unsigned int d_off, struct page **srcs, unsigned int *src_offs, unsigned char *coef, size_t len, struct async_submit_ctl *submit) argument 87 async_mult(struct page *dest, unsigned int d_off, struct page *src, unsigned int s_off, u8 coef, size_t len, struct async_submit_ctl *submit) argument 153 __2data_recov_4(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 203 __2data_recov_5(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 294 __2data_recov_n(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 393 async_raid6_2data_recov(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 471 async_raid6_datap_recov(int disks, size_t bytes, int faila, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument [all...] |
H A D | async_pq.c | 39 struct async_submit_ctl *submit) 43 enum async_tx_flags flags_orig = submit->flags; 44 dma_async_tx_callback cb_fn_orig = submit->cb_fn; 45 dma_async_tx_callback cb_param_orig = submit->cb_param; 52 submit->flags = flags_orig; 59 submit->flags &= ~ASYNC_TX_ACK; 60 submit->flags |= ASYNC_TX_FENCE; 61 submit->cb_fn = NULL; 62 submit->cb_param = NULL; 64 submit 35 do_async_gen_syndrome(struct dma_chan *chan, const unsigned char *scfs, int disks, struct dmaengine_unmap_data *unmap, enum dma_ctrl_flags dma_flags, struct async_submit_ctl *submit) argument 107 do_sync_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, size_t len, struct async_submit_ctl *submit) argument 177 async_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, size_t len, struct async_submit_ctl *submit) argument 272 pq_val_chan(struct async_submit_ctl *submit, struct page **blocks, int disks, size_t len) argument 298 async_syndrome_val(struct page **blocks, unsigned int *offsets, int disks, size_t len, enum sum_check_flags *pqres, struct page *spare, unsigned int s_off, struct async_submit_ctl *submit) argument [all...] |
H A D | async_memcpy.c | 27 * @submit: submission / completion modifiers 34 struct async_submit_ctl *submit) 36 struct dma_chan *chan = async_tx_find_channel(submit, DMA_MEMCPY, 48 if (submit->cb_fn) 50 if (submit->flags & ASYNC_TX_FENCE) 70 async_tx_submit(chan, tx, submit); 76 async_tx_quiesce(&submit->depend_tx); 86 async_tx_sync_epilog(submit); 32 async_memcpy(struct page *dest, struct page *src, unsigned int dest_offset, unsigned int src_offset, size_t len, struct async_submit_ctl *submit) argument
|
H A D | async_tx.c | 39 * @submit: transaction dependency and submission modifiers 43 __async_tx_find_channel(struct async_submit_ctl *submit, argument 46 struct dma_async_tx_descriptor *depend_tx = submit->depend_tx; 130 * @ASYNC_TX_DIRECT_SUBMIT: when the lock is dropped submit directly 144 struct async_submit_ctl *submit) 146 struct dma_async_tx_descriptor *depend_tx = submit->depend_tx; 148 tx->callback = submit->cb_fn; 149 tx->callback_param = submit->cb_param; 168 /* we have a parent so we can not submit directly 178 /* we do not have a parent so we may be able to submit 143 async_tx_submit(struct dma_chan *chan, struct dma_async_tx_descriptor *tx, struct async_submit_ctl *submit) argument 221 async_trigger_callback(struct async_submit_ctl *submit) argument [all...] |
H A D | raid6test.c | 60 struct async_submit_ctl submit; local 71 init_async_submit(&submit, 0, NULL, NULL, NULL, addr_conv); 73 disks, bytes, &submit); 91 init_async_submit(&submit, ASYNC_TX_XOR_ZERO_DST, NULL, 93 tx = async_xor(dest, blocks, 0, count, bytes, &submit); 95 init_async_submit(&submit, 0, tx, NULL, NULL, addr_conv); 97 disks, bytes, &submit); 102 init_async_submit(&submit, 0, NULL, NULL, NULL, addr_conv); 104 faila, ptrs, offs, &submit); 107 init_async_submit(&submit, 155 struct async_submit_ctl submit; local [all...] |
/linux-master/include/linux/ |
H A D | async_tx.h | 103 __async_tx_find_channel(struct async_submit_ctl *submit, 118 async_tx_find_channel(struct async_submit_ctl *submit, argument 133 async_tx_sync_epilog(struct async_submit_ctl *submit) argument 135 if (submit->cb_fn) 136 submit->cb_fn(submit->cb_param); 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); [all...] |
/linux-master/drivers/gpu/drm/lima/ |
H A D | lima_gem.c | 280 static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit) argument 284 for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) { 285 if (!submit->in_sync[i]) 288 err = drm_sched_job_add_syncobj_dependency(&submit->task->base, file, 289 submit->in_sync[i], 0); 297 int lima_gem_submit(struct drm_file *file, struct lima_submit *submit) argument 305 struct lima_bo **bos = submit->lbos; 307 if (submit->out_sync) { 308 out_sync = drm_syncobj_find(file, submit->out_sync); 313 for (i = 0; i < submit [all...] |
H A D | lima_drv.c | 111 struct lima_submit submit = {0}; local 125 bos = kvcalloc(args->nr_bos, sizeof(*submit.bos) + sizeof(*submit.lbos), GFP_KERNEL); 129 size = args->nr_bos * sizeof(*submit.bos); 157 submit.pipe = args->pipe; 158 submit.bos = bos; 159 submit.lbos = (void *)bos + size; 160 submit.nr_bos = args->nr_bos; 161 submit.task = task; 162 submit [all...] |
/linux-master/drivers/gpu/drm/tegra/ |
H A D | submit.h | 18 u32 words, struct tegra_drm_submit_data *submit,
|
/linux-master/drivers/dma/ti/ |
H A D | cppi41.c | 119 u16 submit; member in struct:chan_queues 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 [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | async_tx.h | 26 __async_tx_find_channel(struct async_submit_ctl *submit,
|
/linux-master/drivers/dma/idxd/ |
H A D | Makefile | 7 idxd-y := init.o irq.o device.o sysfs.o submit.o dma.o cdev.o debugfs.o defaults.o
|