Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branches 'pm-cpufreq' and 'pm-cpuidle'

* pm-cpufreq:
cpufreq: intel_pstate: Fix fast-switch fallback path

* pm-cpuidle:
intel_idle: add SnowRidge C-state table
MAINTAINERS: include governors into CPU IDLE TIME MANAGEMENT FRAMEWORK

+41 -3
+1 -1
MAINTAINERS
··· 4588 4588 T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 4589 4589 F: Documentation/admin-guide/pm/cpuidle.rst 4590 4590 F: Documentation/driver-api/pm/cpuidle.rst 4591 - F: drivers/cpuidle/* 4591 + F: drivers/cpuidle/ 4592 4592 F: include/linux/cpuidle.h 4593 4593 4594 4594 CPU POWER MONITORING SUBSYSTEM
-1
drivers/cpufreq/intel_pstate.c
··· 3086 3086 intel_pstate.attr = hwp_cpufreq_attrs; 3087 3087 intel_cpufreq.attr = hwp_cpufreq_attrs; 3088 3088 intel_cpufreq.flags |= CPUFREQ_NEED_UPDATE_LIMITS; 3089 - intel_cpufreq.fast_switch = NULL; 3090 3089 intel_cpufreq.adjust_perf = intel_cpufreq_adjust_perf; 3091 3090 if (!default_driver) 3092 3091 default_driver = &intel_pstate;
+40 -1
drivers/idle/intel_idle.c
··· 963 963 .enter = NULL } 964 964 }; 965 965 966 + /* 967 + * Note, depending on HW and FW revision, SnowRidge SoC may or may not support 968 + * C6, and this is indicated in the CPUID mwait leaf. 969 + */ 970 + static struct cpuidle_state snr_cstates[] __initdata = { 971 + { 972 + .name = "C1", 973 + .desc = "MWAIT 0x00", 974 + .flags = MWAIT2flg(0x00), 975 + .exit_latency = 2, 976 + .target_residency = 2, 977 + .enter = &intel_idle, 978 + .enter_s2idle = intel_idle_s2idle, }, 979 + { 980 + .name = "C1E", 981 + .desc = "MWAIT 0x01", 982 + .flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_ALWAYS_ENABLE, 983 + .exit_latency = 15, 984 + .target_residency = 25, 985 + .enter = &intel_idle, 986 + .enter_s2idle = intel_idle_s2idle, }, 987 + { 988 + .name = "C6", 989 + .desc = "MWAIT 0x20", 990 + .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, 991 + .exit_latency = 130, 992 + .target_residency = 500, 993 + .enter = &intel_idle, 994 + .enter_s2idle = intel_idle_s2idle, }, 995 + { 996 + .enter = NULL } 997 + }; 998 + 966 999 static const struct idle_cpu idle_cpu_nehalem __initconst = { 967 1000 .state_table = nehalem_cstates, 968 1001 .auto_demotion_disable_flags = NHM_C1_AUTO_DEMOTE | NHM_C3_AUTO_DEMOTE, ··· 1117 1084 .use_acpi = true, 1118 1085 }; 1119 1086 1087 + static const struct idle_cpu idle_cpu_snr __initconst = { 1088 + .state_table = snr_cstates, 1089 + .disable_promotion_to_c1e = true, 1090 + .use_acpi = true, 1091 + }; 1092 + 1120 1093 static const struct x86_cpu_id intel_idle_ids[] __initconst = { 1121 1094 X86_MATCH_INTEL_FAM6_MODEL(NEHALEM_EP, &idle_cpu_nhx), 1122 1095 X86_MATCH_INTEL_FAM6_MODEL(NEHALEM, &idle_cpu_nehalem), ··· 1161 1122 X86_MATCH_INTEL_FAM6_MODEL(ATOM_GOLDMONT, &idle_cpu_bxt), 1162 1123 X86_MATCH_INTEL_FAM6_MODEL(ATOM_GOLDMONT_PLUS, &idle_cpu_bxt), 1163 1124 X86_MATCH_INTEL_FAM6_MODEL(ATOM_GOLDMONT_D, &idle_cpu_dnv), 1164 - X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D, &idle_cpu_dnv), 1125 + X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D, &idle_cpu_snr), 1165 1126 {} 1166 1127 }; 1167 1128