/linux-6.12.1/include/linux/ |
D | dma-resv.h | 155 struct dma_resv { struct 195 struct dma_resv *obj; 231 struct dma_resv *obj, in dma_resv_iter_begin() 315 void dma_resv_reset_max_fences(struct dma_resv *obj); 317 static inline void dma_resv_reset_max_fences(struct dma_resv *obj) {} in dma_resv_reset_max_fences() 342 static inline int dma_resv_lock(struct dma_resv *obj, in dma_resv_lock() 369 static inline int dma_resv_lock_interruptible(struct dma_resv *obj, in dma_resv_lock_interruptible() 386 static inline void dma_resv_lock_slow(struct dma_resv *obj, in dma_resv_lock_slow() 402 static inline int dma_resv_lock_slow_interruptible(struct dma_resv *obj, in dma_resv_lock_slow_interruptible() 422 static inline bool __must_check dma_resv_trylock(struct dma_resv *obj) in dma_resv_trylock() [all …]
|
D | dma-buf.h | 429 struct dma_resv *resv; 544 struct dma_resv *resv;
|
/linux-6.12.1/drivers/dma-buf/ |
D | dma-resv.c | 71 struct dma_resv *resv, struct dma_fence **fence, in dma_resv_list_entry() 138 void dma_resv_init(struct dma_resv *obj) in dma_resv_init() 150 void dma_resv_fini(struct dma_resv *obj) in dma_resv_fini() 162 static inline struct dma_resv_list *dma_resv_fences_list(struct dma_resv *obj) in dma_resv_fences_list() 182 int dma_resv_reserve_fences(struct dma_resv *obj, unsigned int num_fences) in dma_resv_reserve_fences() 263 void dma_resv_reset_max_fences(struct dma_resv *obj) in dma_resv_reset_max_fences() 287 void dma_resv_add_fence(struct dma_resv *obj, struct dma_fence *fence, in dma_resv_add_fence() 342 void dma_resv_replace_fences(struct dma_resv *obj, uint64_t context, in dma_resv_replace_fences() 520 int dma_resv_copy_fences(struct dma_resv *dst, struct dma_resv *src) in dma_resv_copy_fences() 568 int dma_resv_get_fences(struct dma_resv *obj, enum dma_resv_usage usage, in dma_resv_get_fences() [all …]
|
D | st-dma-resv.c | 40 struct dma_resv resv; in sanitycheck() 66 struct dma_resv resv; in test_signaling() 114 struct dma_resv resv; in test_for_each() 175 struct dma_resv resv; in test_for_each_unlocked() 248 struct dma_resv resv; in test_get_fences() 296 int dma_resv(void) in dma_resv() function
|
D | selftests.h | 16 selftest(dma_resv, dma_resv)
|
D | dma-buf.c | 104 if (dmabuf->resv == (struct dma_resv *)&dmabuf[1]) in dma_buf_release() 234 static bool dma_buf_poll_add_cb(struct dma_resv *resv, bool write, in dma_buf_poll_add_cb() 256 struct dma_resv *resv; in dma_buf_poll() 627 struct dma_resv *resv = exp_info->resv; in dma_buf_export() 655 alloc_size += sizeof(struct dma_resv); in dma_buf_export() 677 dmabuf->resv = (struct dma_resv *)&dmabuf[1]; in dma_buf_export() 1374 struct dma_resv *resv = dmabuf->resv; in __dma_buf_begin_cpu_access()
|
/linux-6.12.1/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_sync.h | 30 struct dma_resv; 52 struct dma_resv *resv, enum amdgpu_sync_mode mode, 54 int amdgpu_sync_kfd(struct amdgpu_sync *sync, struct dma_resv *resv);
|
D | amdgpu_ttm.h | 164 struct dma_resv *resv, 171 struct dma_resv *resv, 174 struct dma_resv *resv, 178 struct dma_resv *resv,
|
D | amdgpu_ids.h | 76 void amdgpu_pasid_free_delayed(struct dma_resv *resv,
|
D | amdgpu_sync.c | 236 struct dma_resv *resv, enum amdgpu_sync_mode mode, in amdgpu_sync_resv() 271 int amdgpu_sync_kfd(struct amdgpu_sync *sync, struct dma_resv *resv) in amdgpu_sync_kfd()
|
D | amdgpu_gem.h | 47 struct dma_resv *resv,
|
/linux-6.12.1/Documentation/gpu/ |
D | drm-vm-bind-locking.rst | 48 * ``dma_resv``: A struct dma_resv (a.k.a reservation object) that is used 50 gpu_vm or a GEM object. The dma_resv contains an array / list 52 additional dma_fences to the dma_resv. The lock is of a type that 64 single VM. Local GEM objects share the gpu_vm's dma_resv. 73 dma_resv object and hence the dma_resv lock. So, even with a huge 106 object's dma_resv, but some drivers protects this list differently, 112 with the dma_resv locks, a special scheme is needed when iterating 122 same as the GEM object's dma_resv, but if the driver 154 pseudo-code. In particular, the dma_resv deadlock avoidance algorithm 155 as well as reserving memory for dma_resv fences is left out. [all …]
|
/linux-6.12.1/drivers/gpu/drm/i915/ |
D | i915_deps.h | 13 struct dma_resv; 40 int i915_deps_add_resv(struct i915_deps *deps, struct dma_resv *resv,
|
D | i915_sw_fence.h | 19 struct dma_resv; 93 struct dma_resv *resv,
|
D | TODO.txt | 17 with VM_BIND using userspace should be removed. Looking at amdgpu dma_resv on 20 This is the matching task on the vm side compared to ttm/dma_resv on the
|
/linux-6.12.1/include/drm/ttm/ |
D | ttm_bo.h | 189 struct dma_resv *resv; 403 struct sg_table *sg, struct dma_resv *resv, 408 struct sg_table *sg, struct dma_resv *resv,
|
/linux-6.12.1/drivers/gpu/drm/nouveau/ |
D | nouveau_bo.h | 68 struct sg_table *sg, struct dma_resv *robj); 71 struct dma_resv *robj,
|
/linux-6.12.1/drivers/gpu/drm/i915/gem/ |
D | i915_gem_wait.c | 36 i915_gem_object_boost(struct dma_resv *resv, unsigned int flags) in i915_gem_object_boost() 67 i915_gem_object_wait_reservation(struct dma_resv *resv, in i915_gem_object_wait_reservation()
|
/linux-6.12.1/drivers/gpu/drm/loongson/ |
D | lsdc_gem.h | 35 struct dma_resv *resv);
|
/linux-6.12.1/include/drm/ |
D | drm_gem.h | 382 struct dma_resv *resv; 391 struct dma_resv _resv;
|
D | gpu_scheduler.h | 54 struct dma_resv; 564 struct dma_resv *resv,
|
/linux-6.12.1/drivers/gpu/drm/ttm/tests/ |
D | ttm_kunit_helpers.h | 40 struct dma_resv *obj);
|
/linux-6.12.1/drivers/gpu/drm/radeon/ |
D | radeon_asic.h | 89 struct dma_resv *resv); 160 struct dma_resv *resv); 349 struct dma_resv *resv); 353 struct dma_resv *resv); 474 struct dma_resv *resv); 548 struct dma_resv *resv); 727 struct dma_resv *resv); 798 struct dma_resv *resv); 802 struct dma_resv *resv);
|
/linux-6.12.1/drivers/gpu/drm/lima/ |
D | lima_gem.h | 32 static inline struct dma_resv *lima_bo_resv(struct lima_bo *bo) in lima_bo_resv()
|
/linux-6.12.1/drivers/gpu/drm/imagination/ |
D | pvr_vm.h | 45 struct dma_resv *pvr_vm_get_dma_resv(struct pvr_vm_context *vm_ctx);
|