|
40 | 40 | * Model specific counters:
|
41 | 41 | * MSR_CORE_C1_RES: CORE C1 Residency Counter
|
42 | 42 | * perf code: 0x00
|
43 |
| - * Available model: SLM,AMT |
| 43 | + * Available model: SLM,AMT,GLM |
44 | 44 | * Scope: Core (each processor core has a MSR)
|
45 | 45 | * MSR_CORE_C3_RESIDENCY: CORE C3 Residency Counter
|
46 | 46 | * perf code: 0x01
|
47 |
| - * Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL |
| 47 | + * Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,GLM |
48 | 48 | * Scope: Core
|
49 | 49 | * MSR_CORE_C6_RESIDENCY: CORE C6 Residency Counter
|
50 | 50 | * perf code: 0x02
|
51 | 51 | * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW
|
52 |
| - * SKL,KNL |
| 52 | + * SKL,KNL,GLM |
53 | 53 | * Scope: Core
|
54 | 54 | * MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter
|
55 | 55 | * perf code: 0x03
|
56 | 56 | * Available model: SNB,IVB,HSW,BDW,SKL
|
57 | 57 | * Scope: Core
|
58 | 58 | * MSR_PKG_C2_RESIDENCY: Package C2 Residency Counter.
|
59 | 59 | * perf code: 0x00
|
60 |
| - * Available model: SNB,IVB,HSW,BDW,SKL,KNL |
| 60 | + * Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM |
61 | 61 | * Scope: Package (physical package)
|
62 | 62 | * MSR_PKG_C3_RESIDENCY: Package C3 Residency Counter.
|
63 | 63 | * perf code: 0x01
|
64 | 64 | * Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,KNL
|
| 65 | + * GLM |
65 | 66 | * Scope: Package (physical package)
|
66 | 67 | * MSR_PKG_C6_RESIDENCY: Package C6 Residency Counter.
|
67 | 68 | * perf code: 0x02
|
68 | 69 | * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW
|
69 |
| - * SKL,KNL |
| 70 | + * SKL,KNL,GLM |
70 | 71 | * Scope: Package (physical package)
|
71 | 72 | * MSR_PKG_C7_RESIDENCY: Package C7 Residency Counter.
|
72 | 73 | * perf code: 0x03
|
|
82 | 83 | * Scope: Package (physical package)
|
83 | 84 | * MSR_PKG_C10_RESIDENCY: Package C10 Residency Counter.
|
84 | 85 | * perf code: 0x06
|
85 |
| - * Available model: HSW ULT only |
| 86 | + * Available model: HSW ULT, GLM |
86 | 87 | * Scope: Package (physical package)
|
87 | 88 | *
|
88 | 89 | */
|
@@ -504,6 +505,17 @@ static const struct cstate_model knl_cstates __initconst = {
|
504 | 505 | };
|
505 | 506 |
|
506 | 507 |
|
| 508 | +static const struct cstate_model glm_cstates __initconst = { |
| 509 | + .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | |
| 510 | + BIT(PERF_CSTATE_CORE_C3_RES) | |
| 511 | + BIT(PERF_CSTATE_CORE_C6_RES), |
| 512 | + |
| 513 | + .pkg_events = BIT(PERF_CSTATE_PKG_C2_RES) | |
| 514 | + BIT(PERF_CSTATE_PKG_C3_RES) | |
| 515 | + BIT(PERF_CSTATE_PKG_C6_RES) | |
| 516 | + BIT(PERF_CSTATE_PKG_C10_RES), |
| 517 | +}; |
| 518 | + |
507 | 519 |
|
508 | 520 | #define X86_CSTATES_MODEL(model, states) \
|
509 | 521 | { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, (unsigned long) &(states) }
|
@@ -546,6 +558,8 @@ static const struct x86_cpu_id intel_cstates_match[] __initconst = {
|
546 | 558 |
|
547 | 559 | X86_CSTATES_MODEL(INTEL_FAM6_XEON_PHI_KNL, knl_cstates),
|
548 | 560 | X86_CSTATES_MODEL(INTEL_FAM6_XEON_PHI_KNM, knl_cstates),
|
| 561 | + |
| 562 | + X86_CSTATES_MODEL(INTEL_FAM6_ATOM_GOLDMONT, glm_cstates), |
549 | 563 | { },
|
550 | 564 | };
|
551 | 565 | MODULE_DEVICE_TABLE(x86cpu, intel_cstates_match);
|
|
0 commit comments