diff options
author | Len Brown <len.brown@intel.com> | 2016-04-06 17:00:58 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-04-07 16:11:06 -0400 |
commit | f9e71657c2c0a8f1c50884ab45794be2854e158e (patch) | |
tree | 9ee8e1db19e60c3470150c9ba45bea2db29d2caf | |
parent | 3e66a9ab53641a0f7a440e56f7b35bf5d77494b3 (diff) |
intel_idle: Add SKX support
SKX is similar to BDX
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/idle/intel_idle.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index 862346bd053a..4677c3da03a0 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c | |||
@@ -660,6 +660,35 @@ static struct cpuidle_state skl_cstates[] = { | |||
660 | .enter = NULL } | 660 | .enter = NULL } |
661 | }; | 661 | }; |
662 | 662 | ||
663 | static struct cpuidle_state skx_cstates[] = { | ||
664 | { | ||
665 | .name = "C1-SKX", | ||
666 | .desc = "MWAIT 0x00", | ||
667 | .flags = MWAIT2flg(0x00), | ||
668 | .exit_latency = 2, | ||
669 | .target_residency = 2, | ||
670 | .enter = &intel_idle, | ||
671 | .enter_freeze = intel_idle_freeze, }, | ||
672 | { | ||
673 | .name = "C1E-SKX", | ||
674 | .desc = "MWAIT 0x01", | ||
675 | .flags = MWAIT2flg(0x01), | ||
676 | .exit_latency = 10, | ||
677 | .target_residency = 20, | ||
678 | .enter = &intel_idle, | ||
679 | .enter_freeze = intel_idle_freeze, }, | ||
680 | { | ||
681 | .name = "C6-SKX", | ||
682 | .desc = "MWAIT 0x20", | ||
683 | .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
684 | .exit_latency = 133, | ||
685 | .target_residency = 600, | ||
686 | .enter = &intel_idle, | ||
687 | .enter_freeze = intel_idle_freeze, }, | ||
688 | { | ||
689 | .enter = NULL } | ||
690 | }; | ||
691 | |||
663 | static struct cpuidle_state atom_cstates[] = { | 692 | static struct cpuidle_state atom_cstates[] = { |
664 | { | 693 | { |
665 | .name = "C1E-ATM", | 694 | .name = "C1E-ATM", |
@@ -907,6 +936,10 @@ static const struct idle_cpu idle_cpu_skl = { | |||
907 | .disable_promotion_to_c1e = true, | 936 | .disable_promotion_to_c1e = true, |
908 | }; | 937 | }; |
909 | 938 | ||
939 | static const struct idle_cpu idle_cpu_skx = { | ||
940 | .state_table = skx_cstates, | ||
941 | .disable_promotion_to_c1e = true, | ||
942 | }; | ||
910 | 943 | ||
911 | static const struct idle_cpu idle_cpu_avn = { | 944 | static const struct idle_cpu idle_cpu_avn = { |
912 | .state_table = avn_cstates, | 945 | .state_table = avn_cstates, |
@@ -948,6 +981,7 @@ static const struct x86_cpu_id intel_idle_ids[] __initconst = { | |||
948 | ICPU(0x56, idle_cpu_bdw), | 981 | ICPU(0x56, idle_cpu_bdw), |
949 | ICPU(0x4e, idle_cpu_skl), | 982 | ICPU(0x4e, idle_cpu_skl), |
950 | ICPU(0x5e, idle_cpu_skl), | 983 | ICPU(0x5e, idle_cpu_skl), |
984 | ICPU(0x55, idle_cpu_skx), | ||
951 | ICPU(0x57, idle_cpu_knl), | 985 | ICPU(0x57, idle_cpu_knl), |
952 | {} | 986 | {} |
953 | }; | 987 | }; |