Home
last modified time | relevance | path

Searched refs:ww (Results 1 – 25 of 36) sorted by relevance

12

/linux/drivers/gpu/drm/i915/
H A Di915_gem_ww.c9 void i915_gem_ww_ctx_init(struct i915_gem_ww_ctx *ww, bool intr) in i915_gem_ww_ctx_init() argument
11 ww_acquire_init(&ww->ctx, &reservation_ww_class); in i915_gem_ww_ctx_init()
12 INIT_LIST_HEAD(&ww->obj_list); in i915_gem_ww_ctx_init()
13 ww->intr = intr; in i915_gem_ww_ctx_init()
14 ww->contended = NULL; in i915_gem_ww_ctx_init()
17 static void i915_gem_ww_ctx_unlock_all(struct i915_gem_ww_ctx *ww) in i915_gem_ww_ctx_unlock_all() argument
21 while ((obj = list_first_entry_or_null(&ww->obj_list, struct drm_i915_gem_object, obj_link))) { in i915_gem_ww_ctx_unlock_all()
35 void i915_gem_ww_ctx_fini(struct i915_gem_ww_ctx *ww) in i915_gem_ww_ctx_fini() argument
37 i915_gem_ww_ctx_unlock_all(ww); in i915_gem_ww_ctx_fini()
38 WARN_ON(ww->contended); in i915_gem_ww_ctx_fini()
[all …]
H A Di915_gem_evict.c67 static bool grab_vma(struct i915_vma *vma, struct i915_gem_ww_ctx *ww) in grab_vma() argument
74 if (!i915_gem_object_trylock(vma->obj, ww)) { in grab_vma()
97 struct i915_gem_ww_ctx *ww, in mark_free() argument
105 if (!grab_vma(vma, ww)) in mark_free()
149 struct i915_gem_ww_ctx *ww, in i915_gem_evict_something() argument
230 if (mark_free(&scan, ww, vma, flags, &eviction_list)) in i915_gem_evict_something()
305 grab_vma(vma, ww)) { in i915_gem_evict_something()
329 struct i915_gem_ww_ctx *ww, in i915_gem_evict_for_node() argument
410 if (!grab_vma(vma, ww)) { in i915_gem_evict_for_node()
458 int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww, in i915_gem_evict_vm() argument
[all …]
H A Di915_gem_evict.h17 struct i915_gem_ww_ctx *ww,
23 struct i915_gem_ww_ctx *ww,
27 struct i915_gem_ww_ctx *ww,
H A Di915_gem_ww.h23 static inline int __i915_gem_ww_fini(struct i915_gem_ww_ctx *ww, int err) in __i915_gem_ww_fini() argument
26 err = i915_gem_ww_ctx_backoff(ww); in __i915_gem_ww_fini()
32 i915_gem_ww_ctx_fini(ww); in __i915_gem_ww_fini()
H A Di915_gem_gtt.c97 struct i915_gem_ww_ctx *ww, in i915_gem_gtt_reserve() argument
122 err = i915_gem_evict_for_node(vm, ww, node, flags); in i915_gem_gtt_reserve()
190 struct i915_gem_ww_ctx *ww, in i915_gem_gtt_insert() argument
276 err = i915_gem_gtt_reserve(vm, ww, node, size, offset, color, flags); in i915_gem_gtt_insert()
284 err = i915_gem_evict_something(vm, ww, size, alignment, color, in i915_gem_gtt_insert()
H A Di915_gem_gtt.h29 struct i915_gem_ww_ctx *ww,
35 struct i915_gem_ww_ctx *ww,
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_context.c118 static int __context_pin_state(struct i915_vma *vma, struct i915_gem_ww_ctx *ww) in __context_pin_state() argument
123 err = i915_ggtt_pin(vma, ww, 0, bias | PIN_HIGH); in __context_pin_state()
153 struct i915_gem_ww_ctx *ww) in __ring_active() argument
157 err = intel_ring_pin(ring, ww); in __ring_active()
179 struct i915_gem_ww_ctx *ww) in intel_context_pre_pin() argument
185 err = __ring_active(ce->ring, ww); in intel_context_pre_pin()
189 err = intel_timeline_pin(ce->timeline, ww); in intel_context_pre_pin()
196 err = __context_pin_state(ce->state, ww); in intel_context_pre_pin()
220 struct i915_gem_ww_ctx *ww) in __intel_context_do_pin_ww() argument
238 err = i915_gem_object_lock(ce->timeline->hwsp_ggtt->obj, ww); in __intel_context_do_pin_ww()
[all …]
H A Dselftest_migrate.c38 struct i915_gem_ww_ctx *ww, in copy() argument
47 struct i915_gem_ww_ctx ww; in copy() local
61 for_i915_gem_ww(&ww, err, true) { in copy()
62 err = i915_gem_object_lock(src, &ww); in copy()
66 err = i915_gem_object_lock(dst, &ww); in copy()
90 err = fn(migrate, &ww, src, dst, &rq); in copy()
223 struct i915_gem_ww_ctx *ww, in intel_migrate_ccs_copy() argument
242 err = intel_context_pin_ww(ce, ww); in intel_migrate_ccs_copy()
257 struct i915_gem_ww_ctx *ww, in clear() argument
266 struct i915_gem_ww_ctx ww; in clear() local
[all …]
H A Dintel_migrate.h25 struct i915_gem_ww_ctx *ww,
47 struct i915_gem_ww_ctx *ww,
H A Dintel_context.h148 struct i915_gem_ww_ctx *ww);
164 struct i915_gem_ww_ctx *ww) in intel_context_pin_ww() argument
169 return __intel_context_do_pin_ww(ce, ww); in intel_context_pin_ww()
H A Dintel_renderstate.h36 struct i915_gem_ww_ctx ww; member
H A Dgen6_ppgtt.h71 int gen6_ppgtt_pin(struct i915_ppgtt *base, struct i915_gem_ww_ctx *ww);
H A Dintel_ring.c35 int intel_ring_pin(struct intel_ring *ring, struct i915_gem_ww_ctx *ww) in intel_ring_pin() argument
53 ret = i915_ggtt_pin(vma, ww, 0, flags); in intel_ring_pin()
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_dmabuf.c121 struct i915_gem_ww_ctx ww; in i915_gem_begin_cpu_access() local
124 i915_gem_ww_ctx_init(&ww, true); in i915_gem_begin_cpu_access()
126 err = i915_gem_object_lock(obj, &ww); in i915_gem_begin_cpu_access()
134 err = i915_gem_ww_ctx_backoff(&ww); in i915_gem_begin_cpu_access()
138 i915_gem_ww_ctx_fini(&ww); in i915_gem_begin_cpu_access()
145 struct i915_gem_ww_ctx ww; in i915_gem_end_cpu_access() local
148 i915_gem_ww_ctx_init(&ww, true); in i915_gem_end_cpu_access()
150 err = i915_gem_object_lock(obj, &ww); in i915_gem_end_cpu_access()
158 err = i915_gem_ww_ctx_backoff(&ww); in i915_gem_end_cpu_access()
162 i915_gem_ww_ctx_fini(&ww); in i915_gem_end_cpu_access()
[all …]
H A Di915_gem_mman.c349 struct i915_gem_ww_ctx ww; in vm_fault_gtt() local
367 i915_gem_ww_ctx_init(&ww, true); in vm_fault_gtt()
369 ret = i915_gem_object_lock(obj, &ww); in vm_fault_gtt()
388 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, NULL, 0, 0, in vm_fault_gtt()
407 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
411 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
422 ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); in vm_fault_gtt()
427 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
498 ret = i915_gem_ww_ctx_backoff(&ww); in vm_fault_gtt()
502 i915_gem_ww_ctx_fini(&ww); in vm_fault_gtt()
[all …]
H A Di915_gem_shrinker.h16 unsigned long i915_gem_shrink(struct i915_gem_ww_ctx *ww,
H A Di915_gem_region.h46 struct i915_gem_ww_ctx *ww; member
H A Di915_gem_pages.c152 struct i915_gem_ww_ctx ww; in i915_gem_object_pin_pages_unlocked() local
155 i915_gem_ww_ctx_init(&ww, true); in i915_gem_object_pin_pages_unlocked()
157 err = i915_gem_object_lock(obj, &ww); in i915_gem_object_pin_pages_unlocked()
162 err = i915_gem_ww_ctx_backoff(&ww); in i915_gem_object_pin_pages_unlocked()
166 i915_gem_ww_ctx_fini(&ww); in i915_gem_object_pin_pages_unlocked()
/linux/drivers/gpu/drm/i915/gem/selftests/
H A Di915_gem_migrate.c53 struct i915_gem_ww_ctx ww; in igt_create_migrate() local
64 for_i915_gem_ww(&ww, err, true) { in igt_create_migrate()
65 err = i915_gem_object_lock(obj, &ww); in igt_create_migrate()
73 err = i915_gem_object_migrate(obj, &ww, dst); in igt_create_migrate()
111 static int lmem_pages_migrate_one(struct i915_gem_ww_ctx *ww, in lmem_pages_migrate_one() argument
118 err = i915_gem_object_lock(obj, ww); in lmem_pages_migrate_one()
123 err = i915_vma_pin_ww(vma, ww, obj->base.size, 0, in lmem_pages_migrate_one()
141 err = i915_gem_object_migrate(obj, ww, INTEL_REGION_SMEM); in lmem_pages_migrate_one()
160 err = i915_gem_object_migrate(obj, ww, INTEL_REGION_LMEM_0); in lmem_pages_migrate_one()
192 struct i915_gem_ww_ctx ww; in __igt_lmem_pages_migrate() local
[all …]
/linux/drivers/scsi/aic94xx/
H A Daic94xx_reg.c108 #define ASD_READ_SW(ww, type, ord) \ argument
109 static type asd_read_##ww##_##ord(struct asd_ha_struct *asd_ha, \
113 u32 map_offs = (reg - io_handle->ww##_base) + asd_mem_offs_##ww();\
117 #define ASD_WRITE_SW(ww, type, ord) \ argument
118 static void asd_write_##ww##_##ord(struct asd_ha_struct *asd_ha, \
122 u32 map_offs = (reg - io_handle->ww##_base) + asd_mem_offs_##ww();\
/linux/tools/memory-model/
H A Dlinux-kernel.cat205 let ww-vis = fence | (strong-fence ; xbstar ; w-pre-bounded) |
217 let ww-incoh = pre-race & co & ww-vis^-1
218 empty (wr-incoh | rw-incoh | ww-incoh) as plain-coherence
221 let ww-nonrace = ww-vis & ((Marked * W) | rw-xbstar) & ((W * Marked) | wr-vis)
222 let ww-race = (pre-race & co) \ ww-nonrace
226 flag ~empty (ww-race | wr-race | rw-race) as data-race
/linux/drivers/video/fbdev/
H A Dcg3.c259 int ww, hh; in cg3_rdi_maybe_fixup_var() local
263 ww = simple_strtoul(params, &p, 10); in cg3_rdi_maybe_fixup_var()
264 if (ww && *p == 'x') { in cg3_rdi_maybe_fixup_var()
267 if (var->xres != ww || in cg3_rdi_maybe_fixup_var()
269 var->xres = var->xres_virtual = ww; in cg3_rdi_maybe_fixup_var()
/linux/drivers/gpu/drm/i915/selftests/
H A Digt_spinner.h32 struct i915_gem_ww_ctx *ww);
H A Di915_gem_evict.c336 struct i915_gem_ww_ctx ww; in igt_evict_vm() local
358 for_i915_gem_ww(&ww, err, false) { in igt_evict_vm()
360 err = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); in igt_evict_vm()
/linux/Documentation/translations/zh_CN/locking/
H A Dindex.rst29 * ww-mutex-design

12