| /drivers/gpu/drm/i915/ |
| A D | i915_gem_ww.c | 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() 38 WARN_ON(ww->contended); in i915_gem_ww_ctx_fini() 39 ww_acquire_fini(&ww->ctx); in i915_gem_ww_ctx_fini() 46 if (WARN_ON(!ww->contended)) in i915_gem_ww_ctx_backoff() 50 if (ww->intr) in i915_gem_ww_ctx_backoff() 51 ret = dma_resv_lock_slow_interruptible(ww->contended->base.resv, &ww->ctx); in i915_gem_ww_ctx_backoff() 53 dma_resv_lock_slow(ww->contended->base.resv, &ww->ctx); in i915_gem_ww_ctx_backoff() 56 list_add_tail(&ww->contended->obj_link, &ww->obj_list); in i915_gem_ww_ctx_backoff() [all …]
|
| A D | i915_gem_evict.c | 67 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() 492 (ww && (dma_resv_locking_ctx(vma->obj->base.resv) == &ww->ctx))) { in i915_gem_evict_vm() [all …]
|
| A D | i915_gem_evict.h | 17 struct i915_gem_ww_ctx *ww, 23 struct i915_gem_ww_ctx *ww, 27 struct i915_gem_ww_ctx *ww,
|
| A D | i915_gem_ww.h | 23 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()
|
| A D | i915_gem_gtt.c | 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() 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()
|
| A D | i915_gem.c | 308 struct i915_gem_ww_ctx ww; in i915_gem_gtt_prepare() local 311 i915_gem_ww_ctx_init(&ww, true); in i915_gem_gtt_prepare() 314 ret = i915_gem_object_lock(obj, &ww); in i915_gem_gtt_prepare() 323 vma = i915_gem_object_ggtt_pin_ww(obj, &ww, NULL, 0, 0, in i915_gem_gtt_prepare() 353 ret = i915_gem_ww_ctx_backoff(&ww); in i915_gem_gtt_prepare() 357 i915_gem_ww_ctx_fini(&ww); in i915_gem_gtt_prepare() 904 struct i915_gem_ww_ctx *ww, in i915_gem_object_ggtt_pin_ww() argument 913 GEM_WARN_ON(!ww); in i915_gem_object_ggtt_pin_ww() 1010 struct i915_gem_ww_ctx ww; in i915_gem_object_ggtt_pin() local 1014 for_i915_gem_ww(&ww, err, true) { in i915_gem_object_ggtt_pin() [all …]
|
| A D | i915_gem_gtt.h | 29 struct i915_gem_ww_ctx *ww, 35 struct i915_gem_ww_ctx *ww,
|
| /drivers/gpu/drm/i915/gt/ |
| A D | intel_context.c | 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() 220 struct i915_gem_ww_ctx *ww) in __intel_context_do_pin_ww() argument 314 struct i915_gem_ww_ctx ww; in __intel_context_do_pin() local 317 i915_gem_ww_ctx_init(&ww, true); in __intel_context_do_pin() 325 i915_gem_ww_ctx_fini(&ww); in __intel_context_do_pin() 511 struct i915_gem_ww_ctx ww; in intel_context_create_request() local 515 i915_gem_ww_ctx_init(&ww, true); in intel_context_create_request() [all …]
|
| A D | intel_renderstate.c | 167 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()
|
| A D | selftest_migrate.c | 38 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() 223 struct i915_gem_ww_ctx *ww, in intel_migrate_ccs_copy() argument 257 struct i915_gem_ww_ctx *ww, in clear() argument 266 struct i915_gem_ww_ctx ww; in clear() local 282 for_i915_gem_ww(&ww, err, true) { in clear() 411 struct i915_gem_ww_ctx *ww, in __migrate_copy() argument 425 struct i915_gem_ww_ctx *ww, in __global_copy() argument 451 struct i915_gem_ww_ctx *ww, in __migrate_clear() argument [all …]
|
| A D | intel_ring_submission.c | 503 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 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() 1409 err = intel_timeline_pin(timeline, &ww); in intel_ring_submission_setup() 1411 err = intel_ring_pin(ring, &ww); in intel_ring_submission_setup() 1430 err = i915_gem_ww_ctx_backoff(&ww); in intel_ring_submission_setup() [all …]
|
| /drivers/gpu/drm/i915/gem/ |
| A D | i915_gem_object.h | 164 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() 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, ww && ww->intr); in i915_gem_object_lock() 198 WARN_ON(ww && !ww->intr); in i915_gem_object_lock_interruptible() 203 struct i915_gem_ww_ctx *ww) in i915_gem_object_trylock() argument 205 if (!ww) in i915_gem_object_trylock() [all …]
|
| A D | i915_gem_dmabuf.c | 121 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() 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; in i915_gem_dmabuf_attach() local [all …]
|
| A D | i915_gem_region.c | 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()
|
| A D | i915_gem_mman.c | 348 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() 421 ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); 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; in vm_access() local 523 i915_gem_ww_ctx_init(&ww, true); in vm_access() 525 err = i915_gem_object_lock(obj, &ww); in vm_access() 546 err = i915_gem_ww_ctx_backoff(&ww); in vm_access() [all …]
|
| A D | i915_gem_shrinker.c | 102 i915_gem_shrink(struct i915_gem_ww_ctx *ww, in i915_gem_shrink() argument 126 bool trylock_vm = !ww && intel_vm_no_concurrent_access_wa(i915); in i915_gem_shrink() 217 if (!ww) { in i915_gem_shrink() 221 err = i915_gem_object_lock(obj, ww); in i915_gem_shrink() 231 if (!ww) in i915_gem_shrink()
|
| /drivers/gpu/drm/i915/gem/selftests/ |
| A D | i915_gem_migrate.c | 53 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() 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() 192 struct i915_gem_ww_ctx ww; in __igt_lmem_pages_migrate() local 212 for_i915_gem_ww(&ww, err, true) { in __igt_lmem_pages_migrate() 213 err = i915_gem_object_lock(obj, &ww); in __igt_lmem_pages_migrate() 249 for_i915_gem_ww(&ww, err, true) in __igt_lmem_pages_migrate() [all …]
|
| /drivers/gpu/drm/i915/display/ |
| A D | intel_fb_pin.c | 34 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() 211 ret = i915_gem_ww_ctx_backoff(&ww); in intel_fb_pin_to_ggtt() [all …]
|
| A D | intel_fbdev_fb.c | 80 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()
|
| /drivers/gpu/drm/i915/selftests/ |
| A D | i915_gem.c | 214 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()
|
| A D | igt_spinner.c | 43 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()
|
| /drivers/gpu/drm/i915/gt/uc/ |
| A D | intel_gsc_uc_heci_cmd_submit.c | 142 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()
|
| /drivers/scsi/aic94xx/ |
| A D | aic94xx_reg.c | 108 #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();\
|
| /drivers/i2c/busses/ |
| A D | i2c-sis96x.c | 245 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()
|
| /drivers/video/fbdev/ |
| A D | cg3.c | 259 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()
|