Home
last modified time | relevance | path

Searched refs:dma_resv (Results 1 – 25 of 85) sorted by relevance

1234

/linux-6.12.1/include/linux/
Ddma-resv.h155 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 …]
Ddma-buf.h429 struct dma_resv *resv;
544 struct dma_resv *resv;
/linux-6.12.1/drivers/dma-buf/
Ddma-resv.c71 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 …]
Dst-dma-resv.c40 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
Dselftests.h16 selftest(dma_resv, dma_resv)
Ddma-buf.c104 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/
Damdgpu_sync.h30 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);
Damdgpu_ttm.h164 struct dma_resv *resv,
171 struct dma_resv *resv,
174 struct dma_resv *resv,
178 struct dma_resv *resv,
Damdgpu_ids.h76 void amdgpu_pasid_free_delayed(struct dma_resv *resv,
Damdgpu_sync.c236 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()
Damdgpu_gem.h47 struct dma_resv *resv,
/linux-6.12.1/Documentation/gpu/
Ddrm-vm-bind-locking.rst48 * ``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/
Di915_deps.h13 struct dma_resv;
40 int i915_deps_add_resv(struct i915_deps *deps, struct dma_resv *resv,
Di915_sw_fence.h19 struct dma_resv;
93 struct dma_resv *resv,
DTODO.txt17 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/
Dttm_bo.h189 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/
Dnouveau_bo.h68 struct sg_table *sg, struct dma_resv *robj);
71 struct dma_resv *robj,
/linux-6.12.1/drivers/gpu/drm/i915/gem/
Di915_gem_wait.c36 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/
Dlsdc_gem.h35 struct dma_resv *resv);
/linux-6.12.1/include/drm/
Ddrm_gem.h382 struct dma_resv *resv;
391 struct dma_resv _resv;
Dgpu_scheduler.h54 struct dma_resv;
564 struct dma_resv *resv,
/linux-6.12.1/drivers/gpu/drm/ttm/tests/
Dttm_kunit_helpers.h40 struct dma_resv *obj);
/linux-6.12.1/drivers/gpu/drm/radeon/
Dradeon_asic.h89 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/
Dlima_gem.h32 static inline struct dma_resv *lima_bo_resv(struct lima_bo *bo) in lima_bo_resv()
/linux-6.12.1/drivers/gpu/drm/imagination/
Dpvr_vm.h45 struct dma_resv *pvr_vm_get_dma_resv(struct pvr_vm_context *vm_ctx);

1234