Home
last modified time | relevance | path

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

123

/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 in i915_gem_ww_ctx_fini()
42 i915_gem_ww_ctx_backoff(struct i915_gem_ww_ctx * ww) i915_gem_ww_ctx_backoff() argument
[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()
126 * @ww: An optional struct i915_gem_ww_ctx.
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()
319 * @ww: An optional struct i915_gem_ww_ctx.
329 struct i915_gem_ww_ctx *ww, in i915_gem_evict_for_node() argument
458 i915_gem_evict_vm(struct i915_address_space * vm,struct i915_gem_ww_ctx * ww,struct drm_i915_gem_object ** busy_bo) 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.c73 * @ww: An optional struct i915_gem_ww_ctx.
97 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()
157 * @ww: An optional struct i915_gem_ww_ctx.
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()
314 struct i915_gem_ww_ctx ww; __intel_context_do_pin() local
511 struct i915_gem_ww_ctx ww; intel_context_create_request() local
[all...]
H A Dintel_renderstate.c167 i915_gem_ww_ctx_init(&so->ww, true); in intel_renderstate_init()
169 err = intel_context_pin_ww(ce, &so->ww); in intel_renderstate_init()
177 err = i915_gem_object_lock(so->vma->obj, &so->ww); in intel_renderstate_init()
181 err = i915_vma_pin_ww(so->vma, &so->ww, 0, 0, PIN_GLOBAL | PIN_HIGH); in intel_renderstate_init()
197 err = i915_gem_ww_ctx_backoff(&so->ww); in intel_renderstate_init()
201 i915_gem_ww_ctx_fini(&so->ww); in intel_renderstate_init()
248 i915_gem_ww_ctx_fini(&so->ww); in intel_renderstate_fini()
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
411 __migrate_copy(struct intel_migrate * migrate,struct i915_gem_ww_ctx * ww,struct drm_i915_gem_object * src,struct drm_i915_gem_object * dst,struct i915_request ** out) __migrate_copy() argument
425 __global_copy(struct intel_migrate * migrate,struct i915_gem_ww_ctx * ww,struct drm_i915_gem_object * src,struct drm_i915_gem_object * dst,struct i915_request ** out) __global_copy() argument
451 __migrate_clear(struct intel_migrate * migrate,struct i915_gem_ww_ctx * ww,struct drm_i915_gem_object * obj,u32 value,struct i915_request ** out) __migrate_clear() argument
464 __global_clear(struct intel_migrate * migrate,struct i915_gem_ww_ctx * ww,struct drm_i915_gem_object * obj,u32 value,struct i915_request ** out) __global_clear() argument
[all...]
H A Dintel_ring_submission.c503 struct i915_gem_ww_ctx *ww) in ring_context_init_default_state() argument
522 struct i915_gem_ww_ctx *ww, in ring_context_pre_pin() argument
530 err = ring_context_init_default_state(ce, ww); in ring_context_pre_pin()
537 err = gen6_ppgtt_pin(i915_vm_to_ppgtt((vm)), ww); in ring_context_pre_pin()
1285 struct i915_gem_ww_ctx *ww, in gen7_ctx_switch_bb_init() argument
1290 err = i915_vma_pin_ww(vma, ww, 0, 0, PIN_USER | PIN_HIGH); in gen7_ctx_switch_bb_init()
1350 struct i915_gem_ww_ctx ww; in intel_ring_submission_setup() local
1400 i915_gem_ww_ctx_init(&ww, false); in intel_ring_submission_setup()
1403 err = i915_gem_object_lock(timeline->hwsp_ggtt->obj, &ww); in intel_ring_submission_setup()
1405 err = i915_gem_object_lock(gen7_wa_vma->obj, &ww); in intel_ring_submission_setup()
[all...]
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_object.h164 struct i915_gem_ww_ctx *ww, in __i915_gem_object_lock() argument
170 ret = dma_resv_lock_interruptible(obj->base.resv, ww ? &ww->ctx : NULL); in __i915_gem_object_lock()
172 ret = dma_resv_lock(obj->base.resv, ww ? &ww->ctx : NULL); in __i915_gem_object_lock()
174 if (!ret && ww) { in __i915_gem_object_lock()
176 list_add_tail(&obj->obj_link, &ww->obj_list); in __i915_gem_object_lock()
183 ww->contended = obj; in __i915_gem_object_lock()
190 struct i915_gem_ww_ctx *ww) in i915_gem_object_lock() argument
192 return __i915_gem_object_lock(obj, ww, w in i915_gem_object_lock()
196 i915_gem_object_lock_interruptible(struct drm_i915_gem_object * obj,struct i915_gem_ww_ctx * ww) i915_gem_object_lock_interruptible() argument
203 i915_gem_object_trylock(struct drm_i915_gem_object * obj,struct i915_gem_ww_ctx * ww) i915_gem_object_trylock() argument
[all...]
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()
170 struct i915_gem_ww_ctx ww; i915_gem_dmabuf_attach() local
[all...]
H A Di915_gem_region.c163 * In the future, a non-NULL apply->ww could mean the caller is in i915_gem_process_region()
166 GEM_WARN_ON(apply->ww); in i915_gem_process_region()
171 struct i915_gem_ww_ctx ww; in i915_gem_process_region() local
188 apply->ww = &ww; in i915_gem_process_region()
189 for_i915_gem_ww(&ww, ret, apply->interruptible) { in i915_gem_process_region()
190 ret = i915_gem_object_lock(obj, apply->ww); in i915_gem_process_region()
H A Di915_gem_mman.c348 struct i915_gem_ww_ctx ww; in vm_fault_gtt() local
366 i915_gem_ww_ctx_init(&ww, true); in vm_fault_gtt()
368 ret = i915_gem_object_lock(obj, &ww); in vm_fault_gtt()
387 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, NULL, 0, 0, in vm_fault_gtt()
406 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
410 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
421 ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); in vm_fault_gtt()
426 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, &view, 0, 0, flags); in vm_fault_gtt()
497 ret = i915_gem_ww_ctx_backoff(&ww); in vm_fault_gtt()
501 i915_gem_ww_ctx_fini(&ww); in vm_fault_gtt()
512 struct i915_gem_ww_ctx ww; vm_access() local
[all...]
/linux/drivers/gpu/drm/i915/display/
H A Dintel_fb_pin.c34 struct i915_gem_ww_ctx ww; in intel_fb_pin_to_dpt() local
50 for_i915_gem_ww(&ww, ret, true) { in intel_fb_pin_to_dpt()
51 ret = i915_gem_object_lock(obj, &ww); in intel_fb_pin_to_dpt()
66 ret = __i915_gem_object_migrate(obj, &ww, INTEL_REGION_LMEM_0, in intel_fb_pin_to_dpt()
88 ret = i915_vma_pin_ww(vma, &ww, 0, alignment, PIN_GLOBAL); in intel_fb_pin_to_dpt()
123 struct i915_gem_ww_ctx ww; in intel_fb_pin_to_ggtt() local
157 i915_gem_ww_ctx_init(&ww, true); in intel_fb_pin_to_ggtt()
159 ret = i915_gem_object_lock(obj, &ww); in intel_fb_pin_to_ggtt()
163 ret = i915_gem_object_migrate(obj, &ww, INTEL_REGION_LMEM_0); in intel_fb_pin_to_ggtt()
169 vma = i915_gem_object_pin_to_display_plane(obj, &ww, alignmen in intel_fb_pin_to_ggtt()
[all...]
H A Dintel_fbdev_fb.c80 struct i915_gem_ww_ctx ww; in intel_fbdev_fb_fill_info() local
102 for_i915_gem_ww(&ww, ret, false) { in intel_fbdev_fb_fill_info()
103 ret = i915_gem_object_lock(vma->obj, &ww); in intel_fbdev_fb_fill_info()
/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/kernel/locking/
H A Dww_mutex.h181 ww_mutex_lock_acquired(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired() argument
190 DEBUG_LOCKS_WARN_ON(ww->ctx); in ww_mutex_lock_acquired()
202 DEBUG_LOCKS_WARN_ON(ww_ctx->contending_lock != ww); in ww_mutex_lock_acquired()
215 DEBUG_LOCKS_WARN_ON(ww_ctx->ww_class != ww->ww_class); in ww_mutex_lock_acquired()
218 ww->ctx = ww_ctx; in ww_mutex_lock_acquired()
441 struct ww_mutex *ww; in __ww_mutex_kill() local
443 ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_kill()
445 ww_ctx->contending_lock = ww; in __ww_mutex_kill()
468 struct ww_mutex *ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_check_kill() local
469 struct ww_acquire_ctx *hold_ctx = READ_ONCE(ww->ctx); in __ww_mutex_check_kill()
[all …]
H A Dmutex.c295 struct ww_mutex *ww; in ww_mutex_spin_on_owner() local
297 ww = container_of(lock, struct ww_mutex, base); in ww_mutex_spin_on_owner()
300 * If ww->ctx is set the contents are undefined, only in ww_mutex_spin_on_owner()
310 if (ww_ctx->acquired > 0 && READ_ONCE(ww->ctx)) in ww_mutex_spin_on_owner()
568 struct ww_mutex *ww; in __mutex_lock_common() local
579 ww = container_of(lock, struct ww_mutex, base); in __mutex_lock_common()
581 if (unlikely(ww_ctx == READ_ONCE(ww->ctx))) in __mutex_lock_common()
606 ww_mutex_set_context_fastpath(ww, ww_ctx); in __mutex_lock_common()
736 ww_mutex_lock_acquired(ww, ww_ctx); in __mutex_lock_common()
772 * @ww
783 ww_mutex_trylock(struct ww_mutex * ww,struct ww_acquire_ctx * ww_ctx) ww_mutex_trylock() argument
[all...]
/linux/drivers/gpu/drm/i915/selftests/
H A Di915_gem.c214 struct i915_gem_ww_ctx ww; in igt_gem_ww_ctx() local
227 i915_gem_ww_ctx_init(&ww, true); in igt_gem_ww_ctx()
230 err = i915_gem_object_lock(obj, &ww); in igt_gem_ww_ctx()
232 err = i915_gem_object_lock_interruptible(obj, &ww); in igt_gem_ww_ctx()
234 err = i915_gem_object_lock_interruptible(obj2, &ww); in igt_gem_ww_ctx()
236 err = i915_gem_object_lock(obj2, &ww); in igt_gem_ww_ctx()
239 err = i915_gem_ww_ctx_backoff(&ww); in igt_gem_ww_ctx()
243 i915_gem_ww_ctx_fini(&ww); in igt_gem_ww_ctx()
H A Digt_spinner.c43 struct i915_gem_ww_ctx *ww, in igt_spinner_pin_obj() argument
54 ret = i915_gem_object_lock(obj, ww); in igt_spinner_pin_obj()
60 if (!ww) in igt_spinner_pin_obj()
66 if (ww) in igt_spinner_pin_obj()
67 ret = i915_vma_pin_ww(*vma, ww, 0, 0, PIN_USER); in igt_spinner_pin_obj()
81 struct i915_gem_ww_ctx *ww) in igt_spinner_pin() argument
90 vaddr = igt_spinner_pin_obj(ce, ww, spin->hws, I915_MAP_WB, &spin->hws_vma); in igt_spinner_pin()
101 vaddr = igt_spinner_pin_obj(ce, ww, spin->obj, mode, &spin->batch_vma); in igt_spinner_pin()
/linux/arch/x86/crypto/
H A Dcamellia_glue.c982 u64 kl, kr, ww; in camellia_setup128() local
1045 CAMELLIA_F(kl, CAMELLIA_SIGMA1L, CAMELLIA_SIGMA1R, ww); in camellia_setup128()
1046 kr ^= ww; in camellia_setup128()
1051 kr ^= ww; in camellia_setup128()
1052 CAMELLIA_F(kr, CAMELLIA_SIGMA4L, CAMELLIA_SIGMA4R, ww); in camellia_setup128()
1053 kl ^= ww; in camellia_setup128()
1090 u64 ww; /* temporary variables */ in camellia_setup256() local
1154 CAMELLIA_F(kl, CAMELLIA_SIGMA1L, CAMELLIA_SIGMA1R, ww); in camellia_setup256()
1155 kr ^= ww; in camellia_setup256()
1159 kr ^= ww in camellia_setup256()
[all...]
/linux/drivers/gpu/drm/i915/gt/uc/
H A Dintel_gsc_uc_heci_cmd_submit.c142 struct i915_gem_ww_ctx ww; in intel_gsc_uc_heci_cmd_submit_nonpriv() local
146 i915_gem_ww_ctx_init(&ww, false); in intel_gsc_uc_heci_cmd_submit_nonpriv()
148 err = i915_gem_object_lock(pkt->bb_vma->obj, &ww); in intel_gsc_uc_heci_cmd_submit_nonpriv()
151 err = i915_gem_object_lock(pkt->heci_pkt_vma->obj, &ww); in intel_gsc_uc_heci_cmd_submit_nonpriv()
154 err = intel_context_pin_ww(ce, &ww); in intel_gsc_uc_heci_cmd_submit_nonpriv()
216 err = i915_gem_ww_ctx_backoff(&ww); in intel_gsc_uc_heci_cmd_submit_nonpriv()
224 i915_gem_ww_ctx_fini(&ww); in intel_gsc_uc_heci_cmd_submit_nonpriv()
/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/drivers/i2c/busses/
H A Di2c-sis96x.c245 u16 ww = 0; in sis96x_probe() local
253 pci_read_config_word(dev, PCI_CLASS_DEVICE, &ww); in sis96x_probe()
254 if (PCI_CLASS_SERIAL_SMBUS != ww) { in sis96x_probe()
255 dev_err(&dev->dev, "Unsupported device class 0x%04x!\n", ww); in sis96x_probe()

123