@@ -629,61 +629,59 @@ static u64 rapl_unit_xlate(struct rapl_domain *rd, enum unit_type type,
629
629
return div64_u64 (value , scale );
630
630
}
631
631
632
- /* in the order of enum rapl_primitives */
633
- static struct rapl_primitive_info rpi_default [] = {
632
+ static struct rapl_primitive_info rpi_default [NR_RAPL_PRIMITIVES ] = {
634
633
/* name, mask, shift, msr index, unit divisor */
635
- PRIMITIVE_INFO_INIT (ENERGY_COUNTER , ENERGY_STATUS_MASK , 0 ,
634
+ [ ENERGY_COUNTER ] = PRIMITIVE_INFO_INIT (ENERGY_COUNTER , ENERGY_STATUS_MASK , 0 ,
636
635
RAPL_DOMAIN_REG_STATUS , ENERGY_UNIT , 0 ),
637
- PRIMITIVE_INFO_INIT (POWER_LIMIT1 , POWER_LIMIT1_MASK , 0 ,
636
+ [ POWER_LIMIT1 ] = PRIMITIVE_INFO_INIT (POWER_LIMIT1 , POWER_LIMIT1_MASK , 0 ,
638
637
RAPL_DOMAIN_REG_LIMIT , POWER_UNIT , 0 ),
639
- PRIMITIVE_INFO_INIT (POWER_LIMIT2 , POWER_LIMIT2_MASK , 32 ,
638
+ [ POWER_LIMIT2 ] = PRIMITIVE_INFO_INIT (POWER_LIMIT2 , POWER_LIMIT2_MASK , 32 ,
640
639
RAPL_DOMAIN_REG_LIMIT , POWER_UNIT , 0 ),
641
- PRIMITIVE_INFO_INIT (POWER_LIMIT4 , POWER_LIMIT4_MASK , 0 ,
640
+ [ POWER_LIMIT4 ] = PRIMITIVE_INFO_INIT (POWER_LIMIT4 , POWER_LIMIT4_MASK , 0 ,
642
641
RAPL_DOMAIN_REG_PL4 , POWER_UNIT , 0 ),
643
- PRIMITIVE_INFO_INIT (FW_LOCK , POWER_LOW_LOCK , 31 ,
642
+ [ FW_LOCK ] = PRIMITIVE_INFO_INIT (FW_LOCK , POWER_LOW_LOCK , 31 ,
644
643
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
645
- PRIMITIVE_INFO_INIT (PL1_ENABLE , POWER_LIMIT1_ENABLE , 15 ,
644
+ [ PL1_ENABLE ] = PRIMITIVE_INFO_INIT (PL1_ENABLE , POWER_LIMIT1_ENABLE , 15 ,
646
645
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
647
- PRIMITIVE_INFO_INIT (PL1_CLAMP , POWER_LIMIT1_CLAMP , 16 ,
646
+ [ PL1_CLAMP ] = PRIMITIVE_INFO_INIT (PL1_CLAMP , POWER_LIMIT1_CLAMP , 16 ,
648
647
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
649
- PRIMITIVE_INFO_INIT (PL2_ENABLE , POWER_LIMIT2_ENABLE , 47 ,
648
+ [ PL2_ENABLE ] = PRIMITIVE_INFO_INIT (PL2_ENABLE , POWER_LIMIT2_ENABLE , 47 ,
650
649
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
651
- PRIMITIVE_INFO_INIT (PL2_CLAMP , POWER_LIMIT2_CLAMP , 48 ,
650
+ [ PL2_CLAMP ] = PRIMITIVE_INFO_INIT (PL2_CLAMP , POWER_LIMIT2_CLAMP , 48 ,
652
651
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
653
- PRIMITIVE_INFO_INIT (PL4_ENABLE , POWER_LIMIT4_MASK , 0 ,
652
+ [ PL4_ENABLE ] = PRIMITIVE_INFO_INIT (PL4_ENABLE , POWER_LIMIT4_MASK , 0 ,
654
653
RAPL_DOMAIN_REG_PL4 , ARBITRARY_UNIT , 0 ),
655
- PRIMITIVE_INFO_INIT (TIME_WINDOW1 , TIME_WINDOW1_MASK , 17 ,
654
+ [ TIME_WINDOW1 ] = PRIMITIVE_INFO_INIT (TIME_WINDOW1 , TIME_WINDOW1_MASK , 17 ,
656
655
RAPL_DOMAIN_REG_LIMIT , TIME_UNIT , 0 ),
657
- PRIMITIVE_INFO_INIT (TIME_WINDOW2 , TIME_WINDOW2_MASK , 49 ,
656
+ [ TIME_WINDOW2 ] = PRIMITIVE_INFO_INIT (TIME_WINDOW2 , TIME_WINDOW2_MASK , 49 ,
658
657
RAPL_DOMAIN_REG_LIMIT , TIME_UNIT , 0 ),
659
- PRIMITIVE_INFO_INIT (THERMAL_SPEC_POWER , POWER_INFO_THERMAL_SPEC_MASK ,
658
+ [ THERMAL_SPEC_POWER ] = PRIMITIVE_INFO_INIT (THERMAL_SPEC_POWER , POWER_INFO_THERMAL_SPEC_MASK ,
660
659
0 , RAPL_DOMAIN_REG_INFO , POWER_UNIT , 0 ),
661
- PRIMITIVE_INFO_INIT (MAX_POWER , POWER_INFO_MAX_MASK , 32 ,
660
+ [ MAX_POWER ] = PRIMITIVE_INFO_INIT (MAX_POWER , POWER_INFO_MAX_MASK , 32 ,
662
661
RAPL_DOMAIN_REG_INFO , POWER_UNIT , 0 ),
663
- PRIMITIVE_INFO_INIT (MIN_POWER , POWER_INFO_MIN_MASK , 16 ,
662
+ [ MIN_POWER ] = PRIMITIVE_INFO_INIT (MIN_POWER , POWER_INFO_MIN_MASK , 16 ,
664
663
RAPL_DOMAIN_REG_INFO , POWER_UNIT , 0 ),
665
- PRIMITIVE_INFO_INIT (MAX_TIME_WINDOW , POWER_INFO_MAX_TIME_WIN_MASK , 48 ,
664
+ [ MAX_TIME_WINDOW ] = PRIMITIVE_INFO_INIT (MAX_TIME_WINDOW , POWER_INFO_MAX_TIME_WIN_MASK , 48 ,
666
665
RAPL_DOMAIN_REG_INFO , TIME_UNIT , 0 ),
667
- PRIMITIVE_INFO_INIT (THROTTLED_TIME , PERF_STATUS_THROTTLE_TIME_MASK , 0 ,
666
+ [ THROTTLED_TIME ] = PRIMITIVE_INFO_INIT (THROTTLED_TIME , PERF_STATUS_THROTTLE_TIME_MASK , 0 ,
668
667
RAPL_DOMAIN_REG_PERF , TIME_UNIT , 0 ),
669
- PRIMITIVE_INFO_INIT (PRIORITY_LEVEL , PP_POLICY_MASK , 0 ,
668
+ [ PRIORITY_LEVEL ] = PRIMITIVE_INFO_INIT (PRIORITY_LEVEL , PP_POLICY_MASK , 0 ,
670
669
RAPL_DOMAIN_REG_POLICY , ARBITRARY_UNIT , 0 ),
671
- PRIMITIVE_INFO_INIT (PSYS_POWER_LIMIT1 , PSYS_POWER_LIMIT1_MASK , 0 ,
670
+ [ PSYS_POWER_LIMIT1 ] = PRIMITIVE_INFO_INIT (PSYS_POWER_LIMIT1 , PSYS_POWER_LIMIT1_MASK , 0 ,
672
671
RAPL_DOMAIN_REG_LIMIT , POWER_UNIT , 0 ),
673
- PRIMITIVE_INFO_INIT (PSYS_POWER_LIMIT2 , PSYS_POWER_LIMIT2_MASK , 32 ,
672
+ [ PSYS_POWER_LIMIT2 ] = PRIMITIVE_INFO_INIT (PSYS_POWER_LIMIT2 , PSYS_POWER_LIMIT2_MASK , 32 ,
674
673
RAPL_DOMAIN_REG_LIMIT , POWER_UNIT , 0 ),
675
- PRIMITIVE_INFO_INIT (PSYS_PL1_ENABLE , PSYS_POWER_LIMIT1_ENABLE , 17 ,
674
+ [ PSYS_PL1_ENABLE ] = PRIMITIVE_INFO_INIT (PSYS_PL1_ENABLE , PSYS_POWER_LIMIT1_ENABLE , 17 ,
676
675
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
677
- PRIMITIVE_INFO_INIT (PSYS_PL2_ENABLE , PSYS_POWER_LIMIT2_ENABLE , 49 ,
676
+ [ PSYS_PL2_ENABLE ] = PRIMITIVE_INFO_INIT (PSYS_PL2_ENABLE , PSYS_POWER_LIMIT2_ENABLE , 49 ,
678
677
RAPL_DOMAIN_REG_LIMIT , ARBITRARY_UNIT , 0 ),
679
- PRIMITIVE_INFO_INIT (PSYS_TIME_WINDOW1 , PSYS_TIME_WINDOW1_MASK , 19 ,
678
+ [ PSYS_TIME_WINDOW1 ] = PRIMITIVE_INFO_INIT (PSYS_TIME_WINDOW1 , PSYS_TIME_WINDOW1_MASK , 19 ,
680
679
RAPL_DOMAIN_REG_LIMIT , TIME_UNIT , 0 ),
681
- PRIMITIVE_INFO_INIT (PSYS_TIME_WINDOW2 , PSYS_TIME_WINDOW2_MASK , 51 ,
680
+ [ PSYS_TIME_WINDOW2 ] = PRIMITIVE_INFO_INIT (PSYS_TIME_WINDOW2 , PSYS_TIME_WINDOW2_MASK , 51 ,
682
681
RAPL_DOMAIN_REG_LIMIT , TIME_UNIT , 0 ),
683
682
/* non-hardware */
684
- PRIMITIVE_INFO_INIT (AVERAGE_POWER , 0 , 0 , 0 , POWER_UNIT ,
683
+ [ AVERAGE_POWER ] = PRIMITIVE_INFO_INIT (AVERAGE_POWER , 0 , 0 , 0 , POWER_UNIT ,
685
684
RAPL_PRIMITIVE_DERIVED ),
686
- {NULL , 0 , 0 , 0 },
687
685
};
688
686
689
687
static struct rapl_primitive_info * get_rpi (struct rapl_package * rp , int prim )
0 commit comments