| /linux/drivers/gpu/drm/i915/gt/ |
| H A D | intel_gt_clock_utils.c | 14 static u32 read_reference_ts_freq(struct intel_uncore *uncore) in read_reference_ts_freq() argument 16 u32 ts_override = intel_uncore_read(uncore, GEN9_TIMESTAMP_OVERRIDE); in read_reference_ts_freq() 31 static u32 gen11_get_crystal_clock_freq(struct intel_uncore *uncore, in gen11_get_crystal_clock_freq() argument 55 static u32 gen11_read_clock_frequency(struct intel_uncore *uncore) in gen11_read_clock_frequency() argument 57 u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); in gen11_read_clock_frequency() 70 freq = read_reference_ts_freq(uncore); in gen11_read_clock_frequency() 72 u32 c0 = intel_uncore_read(uncore, RPM_CONFIG0); in gen11_read_clock_frequency() 74 freq = gen11_get_crystal_clock_freq(uncore, c0); in gen11_read_clock_frequency() 87 static u32 gen9_read_clock_frequency(struct intel_uncore *uncore) in gen9_read_clock_frequency() argument 89 u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); in gen9_read_clock_frequency() [all …]
|
| H A D | intel_gt_pm_irq.c | 16 struct intel_uncore *uncore = gt->uncore; in write_pm_imr() local 29 intel_uncore_write(uncore, reg, mask); in write_pm_imr() 64 struct intel_uncore *uncore = gt->uncore; in gen6_gt_pm_reset_iir() local 69 intel_uncore_write(uncore, reg, reset_mask); in gen6_gt_pm_reset_iir() 70 intel_uncore_write(uncore, reg, reset_mask); in gen6_gt_pm_reset_iir() 71 intel_uncore_posting_read(uncore, reg); in gen6_gt_pm_reset_iir() 77 struct intel_uncore *uncore = gt->uncore; in write_pm_ier() local 90 intel_uncore_write(uncore, reg, mask); in write_pm_ier()
|
| H A D | gen6_ppgtt.c | 33 struct intel_uncore *uncore = gt->uncore; in gen7_ppgtt_enable() local 36 intel_uncore_rmw(uncore, GAC_ECO_BITS, 0, ECOBITS_PPGTT_CACHE64B); in gen7_ppgtt_enable() 38 ecochk = intel_uncore_read(uncore, GAM_ECOCHK); in gen7_ppgtt_enable() 45 intel_uncore_write(uncore, GAM_ECOCHK, ecochk); in gen7_ppgtt_enable() 50 struct intel_uncore *uncore = gt->uncore; in gen6_ppgtt_enable() local 52 intel_uncore_rmw(uncore, in gen6_ppgtt_enable() 57 intel_uncore_rmw(uncore, in gen6_ppgtt_enable() 62 intel_uncore_rmw(uncore, in gen6_ppgtt_enable() 67 if (HAS_PPGTT(uncore->i915)) /* may be disabled for VT-d */ in gen6_ppgtt_enable() 68 intel_uncore_write(uncore, in gen6_ppgtt_enable()
|
| H A D | selftest_llc.c | 17 wakeref = intel_runtime_pm_get(llc_to_gt(llc)->uncore->rpm); in gen6_verify_ring_freq() 33 if (snb_pcode_read(llc_to_gt(llc)->uncore, GEN6_PCODE_READ_MIN_FREQ_TABLE, in gen6_verify_ring_freq() 63 intel_runtime_pm_put(llc_to_gt(llc)->uncore->rpm, wakeref); in gen6_verify_ring_freq()
|
| H A D | selftest_reset.c | 52 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in __igt_reset_stolen() 176 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in __igt_reset_stolen() 219 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in igt_global_reset() 230 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in igt_global_reset() 247 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in igt_wedged_reset() 254 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in igt_wedged_reset()
|
| H A D | intel_llc.c | 62 intel_uncore_read(llc_to_gt(llc)->uncore, DCLK) & 0xf; in get_ia_constants() 143 snb_pcode_write(llc_to_gt(llc)->uncore, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, in gen6_update_ring_freq()
|
| /linux/arch/x86/events/amd/ |
| H A D | uncore.c | 82 void (*scan)(struct amd_uncore *uncore, unsigned int cpu); 83 int (*init)(struct amd_uncore *uncore, unsigned int cpu); 84 void (*move)(struct amd_uncore *uncore, unsigned int cpu); 85 void (*free)(struct amd_uncore *uncore, unsigned int cpu); 452 int amd_uncore_ctx_cid(struct amd_uncore *uncore, unsigned int cpu) in amd_uncore_ctx_cid() argument 454 union amd_uncore_info *info = per_cpu_ptr(uncore->info, cpu); in amd_uncore_ctx_cid() 459 int amd_uncore_ctx_gid(struct amd_uncore *uncore, unsigned int cpu) in amd_uncore_ctx_gid() argument 461 union amd_uncore_info *info = per_cpu_ptr(uncore->info, cpu); in amd_uncore_ctx_gid() 466 int amd_uncore_ctx_num_pmcs(struct amd_uncore *uncore, unsigned int cpu) in amd_uncore_ctx_num_pmcs() argument 468 union amd_uncore_info *info = per_cpu_ptr(uncore->info, cpu); in amd_uncore_ctx_num_pmcs() [all …]
|
| H A D | Makefile | 6 obj-$(CONFIG_PERF_EVENTS_AMD_UNCORE) += amd-uncore.o 7 amd-uncore-objs := uncore.o
|
| /linux/drivers/platform/x86/intel/uncore-frequency/ |
| H A D | Makefile | 6 obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL) += intel-uncore-frequency.o 7 intel-uncore-frequency-y := uncore-frequency.o 8 obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL) += intel-uncore-frequency-common.o 9 intel-uncore-frequency-common-y := uncore-frequency-common.o 10 obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL_TPMI) += intel-uncore-frequency-tpmi.o 11 intel-uncore-frequency-tpmi-y := uncore-frequency-tpmi.o
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | i915_hwmon.c | 57 struct intel_uncore *uncore; member 82 struct intel_uncore *uncore = ddat->uncore; in hwm_locked_with_pm_intel_uncore_rmw() local 85 with_intel_runtime_pm(uncore->rpm, wakeref) { in hwm_locked_with_pm_intel_uncore_rmw() 88 intel_uncore_rmw(uncore, reg, clear, set); in hwm_locked_with_pm_intel_uncore_rmw() 103 struct intel_uncore *uncore = ddat->uncore; in hwm_field_read_and_scale() local 107 with_intel_runtime_pm(uncore->rpm, wakeref) in hwm_field_read_and_scale() 108 reg_value = intel_uncore_read(uncore, rgadr); in hwm_field_read_and_scale() 138 struct intel_uncore *uncore = ddat->uncore; in hwm_energy() local 150 with_intel_runtime_pm(uncore->rpm, wakeref) { in hwm_energy() 153 reg_val = intel_uncore_read(uncore, rgaddr); in hwm_energy() [all …]
|
| H A D | i915_ioctl.c | 44 struct intel_uncore *uncore = &i915->uncore; in i915_reg_read_ioctl() local 75 reg->val = intel_uncore_read64_2x32(uncore, in i915_reg_read_ioctl() 79 reg->val = intel_uncore_read64(uncore, in i915_reg_read_ioctl() 82 reg->val = intel_uncore_read(uncore, entry->offset_ldw); in i915_reg_read_ioctl() 84 reg->val = intel_uncore_read16(uncore, in i915_reg_read_ioctl() 87 reg->val = intel_uncore_read8(uncore, in i915_reg_read_ioctl()
|
| /linux/drivers/gpu/drm/i915/selftests/ |
| H A D | mock_uncore.c | 29 nop_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { } 36 nop_read##x(struct intel_uncore *uncore, i915_reg_t reg, bool trace) { return 0; } 42 void mock_uncore_init(struct intel_uncore *uncore, in mock_uncore_init() argument 45 intel_uncore_init_early(uncore, to_gt(i915)); in mock_uncore_init() 47 ASSIGN_RAW_WRITE_MMIO_VFUNCS(uncore, nop); in mock_uncore_init() 48 ASSIGN_RAW_READ_MMIO_VFUNCS(uncore, nop); in mock_uncore_init()
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | intel_uncore_frequency_scaling.rst | 15 The uncore can consume significant amount of power in Intel's Xeon servers based 17 performance, SoCs have internal algorithms for scaling uncore frequency. These 18 algorithms monitor workload usage of uncore and set a desirable frequency. 20 It is possible that users have different expectations of uncore performance and 24 change to uncore frequency. Also, users may have workloads which require 25 different core and uncore performance at distinct phases and they may want to 26 use both cpufreq and the uncore scaling interface to distribute power and 32 To control uncore frequency, a sysfs interface is provided in the directory: 36 uncore scaling control is per die in multiple die/package SoCs or per 54 This attribute is used to set the maximum uncore frequency. [all …]
|
| /linux/arch/x86/events/intel/ |
| H A D | uncore_discovery.c | 713 struct intel_uncore_type *uncore, in uncore_update_uncore_type() argument 716 uncore->type_id = type->type; in uncore_update_uncore_type() 717 uncore->num_counters = type->num_counters; in uncore_update_uncore_type() 718 uncore->perf_ctr_bits = type->counter_width; in uncore_update_uncore_type() 719 uncore->perf_ctr = (unsigned int)type->ctr_offset; in uncore_update_uncore_type() 720 uncore->event_ctl = (unsigned int)type->ctl_offset; in uncore_update_uncore_type() 721 uncore->boxes = &type->units; in uncore_update_uncore_type() 722 uncore->num_boxes = type->num_units; in uncore_update_uncore_type() 726 uncore->ops = &generic_uncore_msr_ops; in uncore_update_uncore_type() 729 uncore->ops = &generic_uncore_pci_ops; in uncore_update_uncore_type() [all …]
|
| H A D | Makefile | 5 obj-$(CONFIG_PERF_EVENTS_INTEL_UNCORE) += intel-uncore.o 6 intel-uncore-objs := uncore.o uncore_nhmex.o uncore_snb.o uncore_snbep.o uncore_discovery.o
|
| /linux/drivers/gpu/drm/i915/pxp/ |
| H A D | intel_pxp_irq.c | 56 struct intel_uncore *uncore = gt->uncore; in __pxp_set_interrupts() local 59 intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_ENABLE, mask); in __pxp_set_interrupts() 60 intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_MASK, ~mask); in __pxp_set_interrupts()
|
| /linux/drivers/gpu/drm/i915/gt/uc/ |
| H A D | intel_uc.c | 73 guc_status = intel_uncore_read(gt->uncore, GUC_STATUS); in __intel_uc_reset_hw() 185 intel_uncore_write(guc_to_gt(guc)->uncore, SOFT_SCRATCH(15), 0); in guc_clear_mmio_msg() 194 val = intel_uncore_read(guc_to_gt(guc)->uncore, SOFT_SCRATCH(15)); in guc_get_mmio_msg() 366 struct intel_uncore *uncore = gt->uncore; in uc_init_wopcm() local 389 err = intel_uncore_write_and_verify(uncore, GUC_WOPCM_SIZE, size, mask, in uc_init_wopcm() 395 err = intel_uncore_write_and_verify(uncore, DMA_GUC_WOPCM_OFFSET, in uc_init_wopcm() 408 intel_uncore_read(uncore, DMA_GUC_WOPCM_OFFSET)); in uc_init_wopcm() 411 intel_uncore_read(uncore, GUC_WOPCM_SIZE)); in uc_init_wopcm() 419 struct intel_uncore *uncore = gt->uncore; in uc_is_wopcm_locked() local 421 return (intel_uncore_read(uncore, GUC_WOPCM_SIZE) & GUC_WOPCM_SIZE_LOCKED) || in uc_is_wopcm_locked() [all …]
|
| H A D | intel_gsc_uc.c | 24 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in gsc_work() 95 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in gsc_work() 321 struct intel_uncore *uncore = gt->uncore; in intel_gsc_uc_load_status() local 349 with_intel_runtime_pm(uncore->rpm, wakeref) { in intel_gsc_uc_load_status() 353 u32 status = intel_uncore_read(uncore, in intel_gsc_uc_load_status()
|
| H A D | intel_huc.c | 336 huc->loaded_via_gsc = intel_uncore_read(gt->uncore, GUC_SHIM_CONTROL2) & in check_huc_loading_mode() 454 struct intel_uncore *uncore = gt->uncore; in intel_huc_wait_for_auth_complete() local 472 ret = __intel_wait_for_register(gt->uncore, in intel_huc_wait_for_auth_complete() 494 intel_uncore_read(uncore, intel_gt_perf_limit_reasons_reg(gt))); in intel_huc_wait_for_auth_complete() 582 with_intel_runtime_pm(gt->uncore->rpm, wakeref) in intel_huc_is_authenticated() 583 status = intel_uncore_read(gt->uncore, huc->status[type].reg); in intel_huc_is_authenticated() 689 with_intel_runtime_pm(gt->uncore->rpm, wakeref) in intel_huc_load_status() 691 intel_uncore_read(gt->uncore, huc->status[INTEL_HUC_AUTH_BY_GUC].reg)); in intel_huc_load_status()
|
| H A D | selftest_guc.c | 62 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in intel_guc_scrub_ctbs() 126 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in intel_guc_scrub_ctbs() 162 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in intel_guc_steal_guc_ids() 282 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in intel_guc_steal_guc_ids() 324 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in intel_guc_fast_request() 399 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in intel_guc_fast_request()
|
| /linux/arch/x86/events/ |
| H A D | Kconfig | 5 tristate "Intel uncore performance events" 9 Include support for Intel uncore performance events. These are 42 Include support for AMD uncore performance events for use with 46 module will be called 'amd-uncore'.
|
| /linux/Documentation/admin-guide/perf/ |
| H A D | qcom_l3_pmu.rst | 7 by all cores within a socket. Each slice is exposed as a separate uncore perf 12 options in sysfs, see /sys/bus/event_source/devices/l3cache*. Given that these are uncore PMUs 25 Given that these are uncore PMUs the driver does not support sampling, therefore
|
| H A D | hisi-pmu.rst | 2 HiSilicon SoC uncore Performance Monitoring Unit (PMU) 15 HiSilicon SoC uncore PMU driver 39 ID used to count the uncore PMU event. An "associated_cpus" sysfs attribute is 59 For HiSilicon uncore PMU v2 whose identifier is 0x30, the topology is the same 131 For HiSilicon uncore PMU v3 whose identifier is 0x40, some uncore PMUs are 134 on particular uncore device. Such PMUs are described in sysfs with name format 174 Also attach to a task is unsupported as the events are all uncore.
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-event_source-devices-uncore | 6 the uncore PMU if an alias exists on some platforms. 8 They both can be used to access the uncore PMU.
|
| /linux/Documentation/admin-guide/hw-vuln/ |
| H A D | processor_mmio_stale_data.rst | 30 of the uncore on some non-coherent writes. Fill buffer propagation by itself 37 Intel Xeon server E3) uncore implementation. The sideband response buffer is 39 destinations, the uncore logic returns 64 bytes of data to the core, including 47 Intel Xeon server E3) uncore implementation. Similar to the sideband response 66 After propagators may have moved data around the uncore and copied stale data 69 uncore implementation. 75 the client (including Intel Xeon server E3) uncore implementation. 181 from fill buffer to uncore buffers. Execute VERW before C-state transition to
|