@@ -93,6 +93,7 @@ struct rapl_defaults {
93
93
u64 (* compute_time_window )(struct rapl_package * rp , u64 val ,
94
94
bool to_raw );
95
95
unsigned int dram_domain_energy_unit ;
96
+ unsigned int psys_domain_energy_unit ;
96
97
};
97
98
static struct rapl_defaults * rapl_defaults ;
98
99
@@ -533,12 +534,23 @@ static void rapl_init_domains(struct rapl_package *rp)
533
534
for (j = 0 ; j < RAPL_DOMAIN_REG_MAX ; j ++ )
534
535
rd -> regs [j ] = rp -> priv -> regs [i ][j ];
535
536
536
- if (i == RAPL_DOMAIN_DRAM ) {
537
+ switch (i ) {
538
+ case RAPL_DOMAIN_DRAM :
537
539
rd -> domain_energy_unit =
538
540
rapl_defaults -> dram_domain_energy_unit ;
539
541
if (rd -> domain_energy_unit )
540
542
pr_info ("DRAM domain energy unit %dpj\n" ,
541
543
rd -> domain_energy_unit );
544
+ break ;
545
+ case RAPL_DOMAIN_PLATFORM :
546
+ rd -> domain_energy_unit =
547
+ rapl_defaults -> psys_domain_energy_unit ;
548
+ if (rd -> domain_energy_unit )
549
+ pr_info ("Platform domain energy unit %dpj\n" ,
550
+ rd -> domain_energy_unit );
551
+ break ;
552
+ default :
553
+ break ;
542
554
}
543
555
rd ++ ;
544
556
}
@@ -919,6 +931,14 @@ static const struct rapl_defaults rapl_defaults_hsw_server = {
919
931
.dram_domain_energy_unit = 15300 ,
920
932
};
921
933
934
+ static const struct rapl_defaults rapl_defaults_spr_server = {
935
+ .check_unit = rapl_check_unit_core ,
936
+ .set_floor_freq = set_floor_freq_default ,
937
+ .compute_time_window = rapl_compute_time_window_core ,
938
+ .dram_domain_energy_unit = 15300 ,
939
+ .psys_domain_energy_unit = 1000000000 ,
940
+ };
941
+
922
942
static const struct rapl_defaults rapl_defaults_byt = {
923
943
.floor_freq_reg_addr = IOSF_CPU_POWER_BUDGET_CTL_BYT ,
924
944
.check_unit = rapl_check_unit_atom ,
@@ -978,6 +998,7 @@ static const struct x86_cpu_id rapl_ids[] __initconst = {
978
998
X86_MATCH_INTEL_FAM6_MODEL (COMETLAKE_L , & rapl_defaults_core ),
979
999
X86_MATCH_INTEL_FAM6_MODEL (COMETLAKE , & rapl_defaults_core ),
980
1000
X86_MATCH_INTEL_FAM6_MODEL (TIGERLAKE_L , & rapl_defaults_core ),
1001
+ X86_MATCH_INTEL_FAM6_MODEL (SAPPHIRERAPIDS_X , & rapl_defaults_spr_server ),
981
1002
982
1003
X86_MATCH_INTEL_FAM6_MODEL (ATOM_SILVERMONT , & rapl_defaults_byt ),
983
1004
X86_MATCH_INTEL_FAM6_MODEL (ATOM_AIRMONT , & rapl_defaults_cht ),
0 commit comments