/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_migrate.c | 1 // SPDX-License-Identifier: MIT 33 GEM_BUG_ON(engine->class != COPY_ENGINE_CLASS); in engine_supports_migration() 48 vm->insert_page(vm, 0, d->offset, in xehp_toggle_pdes() 49 i915_gem_get_pat_index(vm->i915, I915_CACHE_NONE), in xehp_toggle_pdes() 51 GEM_BUG_ON(!pt->is_compact); in xehp_toggle_pdes() 52 d->offset += SZ_2M; in xehp_toggle_pdes() 68 vm->insert_page(vm, px_dma(pt), d->offset, in xehp_insert_pte() 69 i915_gem_get_pat_index(vm->i915, I915_CACHE_NONE), in xehp_insert_pte() 71 d->offset += SZ_64K; in xehp_insert_pte() 80 vm->insert_page(vm, px_dma(pt), d->offset, in insert_pte() [all …]
|
H A D | selftest_engine_cs.c | 1 // SPDX-License-Identifier: GPL-2.0 21 return *a - *b; in cmp_u32() 29 atomic_inc(>->rps.num_waiters); in perf_begin() 30 queue_work(gt->i915->unordered_wq, >->rps.work); in perf_begin() 31 flush_work(>->rps.work); in perf_begin() 38 atomic_dec(>->rps.num_waiters); in perf_end() 41 return igt_flush_test(gt->i915); in perf_end() 46 struct drm_i915_private *i915 = engine->i915; in timestamp_reg() 49 return RING_TIMESTAMP_UDW(engine->mmio_base); in timestamp_reg() 51 return RING_TIMESTAMP(engine->mmio_base); in timestamp_reg() [all …]
|
H A D | selftest_execlists.c | 1 // SPDX-License-Identifier: MIT 24 #define CS_GPR(engine, n) ((engine)->mmio_base + 0x600 + (n) * 4) 47 tasklet_hi_schedule(&engine->sched_engine->tasklet); in wait_for_submit() 58 if (!READ_ONCE(engine->execlists.pending[0]) && is_active(rq)) in wait_for_submit() 62 return -ETIME; in wait_for_submit() 78 if (READ_ONCE(engine->execlists.pending[0])) in wait_for_reset() 84 if (READ_ONCE(rq->fence.error)) in wait_for_reset() 88 if (rq->fence.error != -EIO) { in wait_for_reset() 90 engine->name, in wait_for_reset() 91 rq->fence.context, in wait_for_reset() [all …]
|
H A D | selftest_timeline.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright © 2017-2018 Intel Corporation 29 struct drm_i915_gem_object *obj = tl->hwsp_ggtt->obj; in hwsp_page() 32 return sg_page(obj->mm.pages->sgl); in hwsp_page() 39 return (address + offset_in_page(tl->hwsp_offset)) / TIMELINE_SEQNO_BYTES; in hwsp_cacheline() 49 err = i915_gem_object_lock(tl->hwsp_ggtt->obj, &ww); in selftest_tl_pin() 53 if (err == -EDEADLK) { in selftest_tl_pin() 81 tl = xchg(&state->history[idx], tl); in __mock_hwsp_record() 83 radix_tree_delete(&state->cachelines, hwsp_cacheline(tl)); in __mock_hwsp_record() 96 while (count--) { in __mock_hwsp_timeline() [all …]
|
H A D | selftest_ring_submission.c | 1 // SPDX-License-Identifier: MIT 13 u32 *cs; in create_wally() local 16 obj = i915_gem_object_create_internal(engine->i915, 4096); in create_wally() 20 vma = i915_vma_instance(obj, engine->gt->vm, NULL); in create_wally() 38 cs = i915_gem_object_pin_map_unlocked(obj, I915_MAP_WC); in create_wally() 39 if (IS_ERR(cs)) { in create_wally() 41 return ERR_CAST(cs); in create_wally() 44 if (GRAPHICS_VER(engine->i915) >= 6) { in create_wally() 45 *cs++ = MI_STORE_DWORD_IMM_GEN4; in create_wally() 46 *cs++ = 0; in create_wally() [all …]
|
H A D | selftest_rc6.c | 1 // SPDX-License-Identifier: MIT 35 struct intel_rc6 *rc6 = >->rc6; in live_rc6_manual() 36 struct intel_rps *rps = >->rps; in live_rc6_manual() 58 if (!rc6->enabled) in live_rc6_manual() 62 if (IS_VALLEYVIEW(gt->i915) || IS_CHERRYVIEW(gt->i915)) in live_rc6_manual() 65 has_power = librapl_supported(gt->i915); in live_rc6_manual() 66 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in live_rc6_manual() 78 rc0_sample_energy[1] = librapl_energy_uJ() - rc0_sample_energy[0]; in live_rc6_manual() 82 if ((res[1] - res[0]) >> 10) { in live_rc6_manual() 84 (res[1] - res[0]) >> 10); in live_rc6_manual() [all …]
|
H A D | selftest_workarounds.c | 1 // SPDX-License-Identifier: MIT 42 err = -EIO; in request_add_sync() 55 err = -ETIMEDOUT; in request_add_spin() 69 wa_init_start(&lists->gt_wa_list, gt, "GT_REF", "global"); in reference_lists_init() 70 gt_init_workarounds(gt, &lists->gt_wa_list); in reference_lists_init() 71 wa_init_finish(&lists->gt_wa_list); in reference_lists_init() 74 struct i915_wa_list *wal = &lists->engine[id].wa_list; in reference_lists_init() 76 wa_init_start(wal, gt, "REF", engine->name); in reference_lists_init() 81 &lists->engine[id].ctx_wa_list, in reference_lists_init() 93 intel_wa_list_free(&lists->engine[id].wa_list); in reference_lists_fini() [all …]
|
H A D | selftest_engine_pm.c | 1 // SPDX-License-Identifier: GPL-2.0 25 return *a - *b; in cmp_u64() 34 static u32 *emit_wait(u32 *cs, u32 offset, int op, u32 value) in emit_wait() argument 36 *cs++ = MI_SEMAPHORE_WAIT | in emit_wait() 40 *cs++ = value; in emit_wait() 41 *cs++ = offset; in emit_wait() 42 *cs++ = 0; in emit_wait() 44 return cs; in emit_wait() 47 static u32 *emit_store(u32 *cs, u32 offset, u32 value) in emit_store() argument 49 *cs++ = MI_STORE_DWORD_IMM_GEN4 | MI_USE_GGTT; in emit_store() [all …]
|
H A D | selftest_tlb.c | 1 // SPDX-License-Identifier: MIT 27 memset64(page_mask_bits(vma->obj->mm.mapping) + in vma_set_qw() 28 (addr - i915_vma_offset(vma)), val, 1); in vma_set_qw() 41 i915_gem_get_pat_index(ce->vm->i915, I915_CACHE_NONE); in pte_tlbinv() 48 u32 *cs; in pte_tlbinv() local 50 batch = i915_gem_object_create_internal(ce->vm->i915, 4096); in pte_tlbinv() 54 vma = i915_vma_instance(batch, ce->vm, NULL); in pte_tlbinv() 57 goto out; in pte_tlbinv() 62 goto out; in pte_tlbinv() 65 addr = round_up(vma->node.start + vma->node.size, align); in pte_tlbinv() [all …]
|
/linux/drivers/accel/habanalabs/common/ |
H A D | command_submission.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright 2016-2021 HabanaLabs, Ltd. 23 * enum hl_cs_wait_status - cs wait status 24 * @CS_WAIT_STATUS_BUSY: cs was not completed yet 25 * @CS_WAIT_STATUS_COMPLETED: cs completed 26 * @CS_WAIT_STATUS_GONE: cs completed but fence is already gone 65 * CS outcome store supports the following operations: in hl_push_cs_outcome() 66 * push outcome - store a recent CS outcome in the store in hl_push_cs_outcome() 67 * pop outcome - retrieve a SPECIFIC (by seq) CS outcome from the store in hl_push_cs_outcome() 69 * It has a pre-allocated amount of nodes, each node stores in hl_push_cs_outcome() [all …]
|
H A D | hw_queue.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright 2016-2019 HabanaLabs, Ltd. 13 * hl_queue_add_ptr - add to pi or ci and checks if it wraps around 23 ptr &= ((HL_QUEUE_LENGTH << 1) - 1); in hl_hw_queue_add_ptr() 28 return atomic_read(ci) & ((queue_len << 1) - 1); in queue_ci_get() 33 int delta = (q->pi - queue_ci_get(&q->ci, queue_len)); in queue_free_slots() 36 return (queue_len - delta); in queue_free_slots() 38 return (abs(delta) - queue_len); in queue_free_slots() 41 void hl_hw_queue_update_ci(struct hl_cs *cs) in hl_hw_queue_update_ci() argument 43 struct hl_device *hdev = cs->ctx->hdev; in hl_hw_queue_update_ci() [all …]
|
/linux/drivers/gpu/drm/i915/selftests/ |
H A D | i915_perf.c | 2 * SPDX-License-Identifier: MIT 17 #define TEST_OA_CONFIG_UUID "12345678-1234-1234-1234-1234567890ab" 26 return -ENOMEM; in alloc_empty_config() 28 oa_config->perf = perf; in alloc_empty_config() 29 kref_init(&oa_config->ref); in alloc_empty_config() 31 strscpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid)); in alloc_empty_config() 33 mutex_lock(&perf->metrics_lock); in alloc_empty_config() 35 oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, GFP_KERNEL); in alloc_empty_config() 36 if (oa_config->id < 0) { in alloc_empty_config() 37 mutex_unlock(&perf->metrics_lock); in alloc_empty_config() [all …]
|
/linux/fs/fuse/ |
H A D | dev.c | 3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> 46 return time_is_before_jiffies(req->create_time + fc->timeout.req_timeout); in fuse_request_expired() 63 * - check the fiq pending list 64 * - check the bg queue 65 * - check the fpq io and processing lists 70 * between lists, re-sent requests at the head of the pending list having a 79 struct fuse_iqueue *fiq = &fc->iq; in fuse_check_timeout() 84 if (!atomic_read(&fc->num_waiting)) in fuse_check_timeout() 85 goto out; in fuse_check_timeout() 87 spin_lock(&fiq->lock); in fuse_check_timeout() [all …]
|
/linux/drivers/net/ovpn/ |
H A D | crypto.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * Copyright (C) 2020-2025 OpenVPN, Inc. 62 return kref_get_unless_zero(&ks->refcount); in ovpn_crypto_key_slot_hold() 65 static inline void ovpn_crypto_state_init(struct ovpn_crypto_state *cs) in ovpn_crypto_state_init() argument 67 RCU_INIT_POINTER(cs->slots[0], NULL); in ovpn_crypto_state_init() 68 RCU_INIT_POINTER(cs->slots[1], NULL); in ovpn_crypto_state_init() 69 cs->primary_idx = 0; in ovpn_crypto_state_init() 70 spin_lock_init(&cs->lock); in ovpn_crypto_state_init() 74 ovpn_crypto_key_id_to_slot(const struct ovpn_crypto_state *cs, u8 key_id) in ovpn_crypto_key_id_to_slot() argument 79 if (unlikely(!cs)) in ovpn_crypto_key_id_to_slot() [all …]
|
/linux/kernel/cgroup/ |
H A D | cpuset-v1.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 #include "cgroup-internal.h" 4 #include "cpuset-internal.h" 11 struct cpuset *cs; member 15 * Frequency meter - How fast is some event occurring? 19 * fmeter_init() - initialize a frequency meter. 20 * fmeter_markevent() - called each time the event happens. 21 * fmeter_getrate() - returns the recent rate of such events. 22 * fmeter_update() - internal routine used to update fmeter. 29 * The filter is single-pole low-pass recursive (IIR). The time unit [all …]
|
H A D | cpuset.c | 7 * Copyright (C) 2004-2007 Silicon Graphics, Inc. 11 * sysfs is Copyright (c) 2001-3 Patrick Mochel 13 * 2003-10-10 Written by Simon Derr. 14 * 2003-10-22 Updates by Stephen Hemminger. 15 * 2004 May-July Rework by Paul Jackson. 24 #include "cpuset-internal.h" 49 * node binding, add this key to provide a quick low-cost judgment 73 * Exclusive CPUs distributed out to local or remote sub-partitions of 95 * - update_partition_sd_lb() 96 * - update_cpumasks_hier() [all …]
|
/linux/tools/testing/selftests/cachestat/ |
H A D | test_cachestat.c | 1 // SPDX-License-Identifier: GPL-2.0 28 void print_cachestat(struct cachestat *cs) in print_cachestat() argument 32 cs->nr_cache, cs->nr_dirty, cs->nr_writeback, in print_cachestat() 33 cs->nr_evicted, cs->nr_recently_evicted); in print_cachestat() 51 goto out; in write_exactly() 73 remained -= read_len; in write_exactly() 89 remained -= write_len; in write_exactly() 98 out: in write_exactly() 131 struct cachestat cs; in test_cachestat() local 136 if (fd == -1) { in test_cachestat() [all …]
|
/linux/drivers/gpu/drm/i915/gvt/ |
H A D | mmio_context.c | 2 * Copyright(c) 2011-2016 Intel Corporation. All rights reserved. 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 176 struct intel_gvt *gvt = engine->i915->gvt; in load_render_mocs() 177 struct intel_uncore *uncore = engine->uncore; in load_render_mocs() 178 u32 cnt = gvt->engine_mmio_list.mocs_mmio_offset_list_cnt; in load_render_mocs() 179 u32 *regs = gvt->engine_mmio_list.mocs_mmio_offset_list; in load_render_mocs() 188 if (!HAS_ENGINE(engine->gt, ring_id)) in load_render_mocs() 212 u32 *cs; in restore_context_mmio_for_inhibit() local 215 struct intel_gvt *gvt = vgpu->gvt; in restore_context_mmio_for_inhibit() 216 int ring_id = req->engine->id; in restore_context_mmio_for_inhibit() [all …]
|
/linux/arch/arm64/boot/dts/hisilicon/ |
H A D | hi6220-coresight.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 14 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 17 clock-names = "apb_pclk"; 19 out-ports { 22 remote-endpoint = 28 in-ports { 31 remote-endpoint = 39 compatible = "arm,coresight-tmc", "arm,primecell"; 42 clock-names = "apb_pclk"; 44 in-ports { [all …]
|
/linux/drivers/gpu/drm/i915/gem/selftests/ |
H A D | i915_gem_coherency.c | 2 * SPDX-License-Identifier: MIT 30 i915_gem_object_lock(ctx->obj, NULL); in cpu_set() 31 err = i915_gem_object_prepare_write(ctx->obj, &needs_clflush); in cpu_set() 33 goto out; in cpu_set() 35 page = i915_gem_object_get_page(ctx->obj, offset >> PAGE_SHIFT); in cpu_set() 47 i915_gem_object_finish_access(ctx->obj); in cpu_set() 49 out: in cpu_set() 50 i915_gem_object_unlock(ctx->obj); in cpu_set() 61 i915_gem_object_lock(ctx->obj, NULL); in cpu_get() 62 err = i915_gem_object_prepare_read(ctx->obj, &needs_clflush); in cpu_get() [all …]
|
H A D | i915_gem_client_blt.c | 1 // SPDX-License-Identifier: MIT 57 * F so we can use the Y-tile algorithm to get to that point. in linear_x_y_to_ftiled_pos() 67 /* And figure out the subtile within the 4k tile */ in linear_x_y_to_ftiled_pos() 87 CLIENT_TILING_Y, /* Y-major, either Tile4 (Xe_HP and beyond) or legacy TileY */ 115 /* XY_FAST_COPY_BLT does not exist on pre-gen9 platforms */ in fastblit_supports_x_tiling() 116 drm_WARN_ON(&i915->drm, gen < 9); in fastblit_supports_x_tiling() 129 /* XY_FAST_COPY_BLT does not exist on pre-gen9 platforms */ in fast_blit_ok() 130 if (GRAPHICS_VER(buf->vma->vm->i915) < 9) in fast_blit_ok() 133 /* filter out platforms with unsupported X-tile support in fastblit */ in fast_blit_ok() 134 if (buf->tiling == CLIENT_TILING_X && !fastblit_supports_x_tiling(buf->vma->vm->i915)) in fast_blit_ok() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_gsc_submit.c | 1 // SPDX-License-Identifier: MIT 45 * xe_gsc_create_host_session_id - Creates a random 64 bit host_session id with 46 * bits 56-63 masked. 48 * Returns: random host_session_id which can be used to send messages to gsc cs 60 * xe_gsc_emit_header - write the MTL GSC header in memory 90 * xe_gsc_poison_header - poison the MTL GSC header in memory 101 * xe_gsc_check_and_update_pending - check the pending bit and update the input 106 * @out: the iosys map containing the output buffer 113 struct iosys_map *out, u32 offset_out) in xe_gsc_check_and_update_pending() argument 115 if (mtl_gsc_header_rd(xe, out, offset_out, flags) & GSC_OUTFLAG_MSG_PENDING) { in xe_gsc_check_and_update_pending() [all …]
|
/linux/fs/xfs/scrub/ |
H A D | stats.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 /* all 32-bit counters here */ 37 /* all 64-bit items here */ 43 /* non-counter state must go at the end for clearall */ 92 struct xchk_stats *cs, in xchk_stats_format() argument 96 struct xchk_scrub_stats *css = &cs->cs_stats[0]; in xchk_stats_format() 108 (unsigned int)css->invocations, in xchk_stats_format() 109 (unsigned int)css->clean, in xchk_stats_format() 110 (unsigned int)css->corrupt, in xchk_stats_format() 111 (unsigned int)css->preen, in xchk_stats_format() [all …]
|
/linux/arch/powerpc/platforms/pseries/ |
H A D | hotplug-cpu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Split out from arch/powerpc/platforms/pseries/setup.c 17 #define pr_fmt(fmt) "pseries-hotplug-cpu: " fmt 88 systemcfg->processorCount--; in pseries_cpu_disable() 111 * the cpu-offline. Here we wait for long enough to allow the cpu in question 112 * to self-destroy so that the cpu-offline thread can send the CPU_DEAD 116 * self-destruct. 144 paca_ptrs[cpu]->cpu_start = 0; in pseries_cpu_die() 148 * find_cpu_id_range - found a linear ranger of @nthreads free CPU ids. 161 int rc = -ENOSPC; in find_cpu_id_range() [all …]
|
/linux/tools/perf/util/ |
H A D | data-convert-bt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <babeltrace/ctf-writer/writer.h> 15 #include <babeltrace/ctf-writer/clock.h> 16 #include <babeltrace/ctf-writer/stream.h> 17 #include <babeltrace/ctf-writer/event.h> 18 #include <babeltrace/ctf-writer/event-types.h> 19 #include <babeltrace/ctf-writer/event-fields.h> 20 #include <babeltrace/ctf-ir/utils.h> 23 #include "data-convert.h" 39 #include <event-parse.h> [all …]
|