/linux/drivers/cpufreq/ |
H A D | longrun.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 23 * performance_pctg = (current_freq - low_freq)/(high_freq - low_freq) 29 * longrun_get_policy - get the current LongRun policy 40 pr_debug("longrun flags are %x - %x\n", msr_lo, msr_hi); in longrun_get_policy() 42 policy->policy = CPUFREQ_POLICY_PERFORMANCE; in longrun_get_policy() 44 policy->policy = CPUFREQ_POLICY_POWERSAVE; in longrun_get_policy() 47 pr_debug("longrun ctrl is %x - %x\n", msr_lo, msr_hi); in longrun_get_policy() 53 policy->min = policy->max = longrun_high_freq; in longrun_get_policy() 55 policy->min = longrun_low_freq + msr_lo * in longrun_get_policy() [all …]
|
H A D | powernow-k8.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * (c) 2003-2006 Advanced Micro Devices, Inc. 9 u32 numps; /* number of p-states */ 10 u32 batps; /* number of p-states supported on battery */ 13 * vid/fid pairings, but are modified during the ->target() call 36 * handle hotplug events - so just point at cpufreq pol->cpus 53 /* Model Specific Registers for p-state transitions. MSRs are 64-bit. For */ 54 /* writes (wrmsr - opcode 0f 30), the register number is placed in ecx, and */ 55 /* the value to write is placed in edx:eax. For reads (rdmsr - opcode 0f 32), */ 56 /* the register number is placed in ecx, and the data is returned in edx:eax. */ [all …]
|
H A D | powernow-k8.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (c) 2003-2012 Advanced Micro Devices, Inc. 8 * Based on the powernow-k7.c module written by Dave Jones. 48 #include "powernow-k8.h" 66 return 1000 * find_freq_from_fid(fid); in find_khz_freq_from_fid() 112 data->currvid = hi & MSR_S_HI_CURRENT_VID; in query_current_values_with_pending_wait() 113 data->currfid = lo & MSR_S_LO_CURRENT_FID; in query_current_values_with_pending_wait() 121 udelay((1 << data->irt) * 10); in count_off_irt() 127 udelay(data->vstable * VST_UNITS_20US); in count_off_vst() 149 u32 savevid = data->currvid; in write_new_fid() [all …]
|
/linux/Documentation/devicetree/bindings/arm/ |
H A D | calxeda.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 12 Bindings for boards with Calxeda Cortex-A9 based ECX-1000 (Highbank) SOC 13 or Cortex-A15 based ECX-2000 SOCs 20 - enum: 21 - calxeda,highbank 22 - calxeda,ecx-2000
|
/linux/arch/x86/kernel/cpu/ |
H A D | vmware.c | 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 49 #define STEALCLOCK_NOT_AVAILABLE (-1) 57 /* only for little-endian */ 132 u32 eax, ebx, ecx; in __vmware_platform() local 134 eax = vmware_hypercall3(VMWARE_CMD_GETVERSION, 0, &ebx, &ecx); in __vmware_platform() 155 early_param("no-vmw-sched-clock", setup_vmw_sched_clock); 162 early_param("no-steal-acc", parse_no_stealacc); 170 ns -= vmware_cyc2ns.cyc2ns_offset; in vmware_sched_clock() 179 clocks_calc_mult_shift(&d->cyc2ns_mul, &d->cyc2ns_shift, in vmware_cyc2ns_setup() 181 d->cyc2ns_offset = mul_u64_u32_shr(tsc_now, d->cyc2ns_mul, in vmware_cyc2ns_setup() [all …]
|
/linux/arch/arm/mach-highbank/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "Calxeda ECX-1000/2000 (Highbank/Midway)"
|
/linux/arch/x86/kvm/vmx/ |
H A D | tdx_arch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 74 u32 ecx; member 128 * frequency of the core crystal clock on TDX-capable platforms, i.e. the TDX 132 #define TDX_TSC_KHZ_TO_25MHZ(tsc_in_khz) ((tsc_in_khz) / (25 * 1000)) 133 #define TDX_TSC_25MHZ_TO_KHZ(tsc_in_25mhz) ((tsc_in_25mhz) * (25 * 1000)) 134 #define TDX_MIN_TSC_FREQUENCY_KHZ (100 * 1000) 135 #define TDX_MAX_TSC_FREQUENCY_KHZ (10 * 1000 * 1000)
|
/linux/drivers/thermal/intel/ |
H A D | x86_pkg_temp_thermal.c | 1 // SPDX-License-Identifier: GPL-2.0-only 94 * - cpu hotplug: Read serialized by cpu hotplug lock 97 * - Other callsites: Must hold pkg_temp_lock 113 ret = intel_tcc_get_temp(zonedev->cpu, &val, true); in sys_get_curr_temp() 117 *temp = val * 1000; in sys_get_curr_temp() 127 unsigned int trip_index = THERMAL_TRIP_PRIV_TO_INT(trip->priv); in sys_set_trip_temp() 131 tj_max = intel_tcc_get_tjmax(zonedev->cpu); in sys_set_trip_temp() 134 tj_max *= 1000; in sys_set_trip_temp() 136 val = (tj_max - temp)/1000; in sys_set_trip_temp() 139 return -EINVAL; in sys_set_trip_temp() [all …]
|
/linux/tools/power/x86/x86_energy_perf_policy/ |
H A D | x86_energy_perf_policy.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * x86_energy_perf_policy -- set the energy versus performance 7 * Copyright (c) 2010 - 2017 Intel Corporation. 30 #define OPTARG_NORMAL (INT_MAX - 1) 31 #define OPTARG_POWER (INT_MAX - 2) 32 #define OPTARG_BALANCE_POWER (INT_MAX - 3) 33 #define OPTARG_BALANCE_PERFORMANCE (INT_MAX - 4) 34 #define OPTARG_PERFORMANCE (INT_MAX - 5) 103 fprintf(stderr, "scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list\n"); in usage() 104 fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n"); in usage() [all …]
|
/linux/drivers/idle/ |
H A D | intel_idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * intel_idle.c - native hardware idle loop for modern Intel processors 5 * Copyright (c) 2013 - 2020, Intel Corporation. 23 * for preventing entry into deep C-states 25 * CPU will flush caches as needed when entering a C-state via MWAIT 33 * ACPI has a .suspend hack to turn off deep c-statees during suspend 39 /* un-comment DEBUG to enable pr_debug() statements */ 58 #include <asm/intel-family.h> 60 #include <asm/spec-ctrl.h> 73 static int max_cstate = CPUIDLE_STATE_MAX - 1; [all …]
|
/linux/drivers/video/fbdev/ |
H A D | uvesafb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 80 if (msg->seq >= UVESAFB_TASKS_MAX) in uvesafb_cn_callback() 84 task = uvfb_tasks[msg->seq]; in uvesafb_cn_callback() 86 if (!task || msg->ack != task->ack) { in uvesafb_cn_callback() 91 utask = (struct uvesafb_task *)msg->data; in uvesafb_cn_callback() 94 if (task->t.buf_len < utask->buf_len || in uvesafb_cn_callback() 95 utask->buf_len > msg->len - sizeof(*utask)) { in uvesafb_cn_callback() 100 uvfb_tasks[msg->seq] = NULL; in uvesafb_cn_callback() 103 memcpy(&task->t, utask, sizeof(*utask)); in uvesafb_cn_callback() 105 if (task->t.buf_len && task->buf) in uvesafb_cn_callback() [all …]
|
H A D | vesafb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * (c) 1998 Gerd Knorr <kraxel@goldbach.in-berlin.de> 31 /* --------------------------------------------------------------------- */ 43 .height = -1, 44 .width = -1, 68 /* --------------------------------------------------------------------- */ 76 offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4; in vesafb_pan_display() 83 "c" (offset), /* ECX */ in vesafb_pan_display() 93 int shift = 16 - depth; in vesa_setpalette() 94 int err = -EINVAL; in vesa_setpalette() [all …]
|
H A D | neofb.c | 2 * linux/drivers/video/neofb.c -- NeoMagic Framebuffer Driver 4 * Copyright (c) 2001-2002 Denis Oliver Kropp <dok@directfb.org> 16 * - Cosmetic changes (dok) 19 * - Toshiba Libretto support, allow modes larger than LCD size if 25 * - Porting over to new fbdev api. (jsimmons) 28 * - got rid of all floating point (dok) 31 * - added module license (dok) 34 * - hardware accelerated clear and move for 2200 and above (dok) 35 * - maximum allowed dotclock is handled now (dok) 38 * - correct panning after X usage (dok) [all …]
|
/linux/tools/power/x86/turbostat/ |
H A D | turbostat.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * turbostat -- show CPU frequency and C-state residency 19 #define VFM_MODEL_MASK GENMASK(VFM_FAMILY_BIT - 1, VFM_MODEL_BIT) 20 #define VFM_FAMILY_MASK GENMASK(VFM_VENDOR_BIT - 1, VFM_FAMILY_BIT) 21 #define VFM_VENDOR_MASK GENMASK(VFM_RSVD_BIT - 1, VFM_VENDOR_BIT) 75 * 1. built-in only, the sysfs counters are not here -- we learn of those at run-time 77 * matching on them for --show and --hide. 82 * Usually truncated to 7 characters, but also handles 18 columns for raw 64-bit counters 98 #define ROUND_UP_TO_PAGE_SIZE(n) (((n) + 0x1000UL-1UL) & ~(0x1000UL-1UL)) 433 …bool has_per_core_rapl; /* Indicates cores energy collection is per-core, not per-package. AMD spe… [all …]
|
/linux/arch/x86/kernel/cpu/microcode/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2000-2006 Tigran Aivazian <aivazian.tigran@gmail.com> 7 * 2013-2016 Borislav Petkov <bp@alien8.de> 54 * All non cpu-hotplug-callback call sites use: 56 * - cpus_read_lock/unlock() to synchronize with 57 * the cpu-hotplug-callback call sites. 71 0, /* T-101 terminator */ 80 * - true: if update should stop 81 * - false: otherwise 112 * 2) Bit 31 in CPUID[1]:ECX is clear in microcode_loader_disabled() [all …]
|
/linux/tools/lib/bpf/ |
H A D | usdt.c | 1 // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) 25 /* libbpf's USDT support consists of BPF-side state/code and user-space 26 * state/code working together in concert. BPF-side parts are defined in 27 * usdt.bpf.h header library. User-space state is encapsulated by struct 31 * and IP-to-spec-ID map, which is auxiliary map necessary for kernels that 39 * USDT-related until the very first call to bpf_program__attach_usdt(), which 43 * store it in bpf_object. USDT manager is per-BPF object construct, as each 45 * the expected USDT-related state. There is no coordination between two 47 * existence and libbpf is just oblivious, dealing with bpf_object-specific 52 * From user-space application's point of view, USDT is essentially just [all …]
|
/linux/arch/x86/kvm/ |
H A D | x86.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine driver for Linux 16 * Ben-Ami Yassour <benami@il.ibm.com> 48 #include <linux/user-return-notifier.h> 62 #include <linux/entry-kvm.h> 108 ((struct kvm_vcpu *)(ctxt)->vcpu) 111 * - enable syscall per default because its emulated by KVM 112 * - enable LME and LMA per default on 64 bit KVM 143 *(((struct kvm_x86_ops *)0)->func)); 146 #include <asm/kvm-x86-ops.h> [all …]
|
H A D | hyperv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * KVM Microsoft Hyper-V emulation 17 * Ben-Ami Yassour <benami@il.ibm.com> 48 * As per Hyper-V TLFS, extended hypercalls start from 0x8001 53 * 0x8001 - First extended hypercall, HvExtCallQueryCapabilities, no bit 56 * 0x8002 - Bit 0 57 * 0x8003 - Bit 1 59 * 0x8041 - Bit 63 70 return atomic64_read(&synic->sint[sint]); in synic_read_sint() 76 return -1; in synic_get_sint_vector() [all …]
|