STRUCT SCMI_POWERCAP_INFO(9)
π struct scmi_powercap_info(9) β like, the whole Kernel API Manual vibe β¨
okay bestie, buckle up π you're reading the Kernel API Manual entry for struct scmi_powercap_info(9), and it's literally the cheat sheet for one available Powercap domain. one domain. one struct. one absolute icon. π
πΈ NAME πΈ
struct scmi_powercap_info β describes one available Powercap domain. that's it, that's the whole gig. no cap. π
β¨ SYNOPSIS β¨
here's the shape of it, bestie β every field, exactly as it lives in the header:
struct scmi_powercap_info {
unsigned int id;
bool notify_powercap_cap_change;
bool notify_powercap_measurement_change;
bool async_powercap_cap_set;
bool powercap_cap_config;
bool powercap_monitoring;
bool powercap_pai_config;
bool powercap_scale_mw;
bool powercap_scale_uw;
bool fastchannels;
char name[SCMI_MAX_STR_SIZE];
unsigned int min_pai;
unsigned int max_pai;
unsigned int pai_step;
unsigned int min_power_cap;
unsigned int max_power_cap;
unsigned int power_cap_step;
unsigned int sustainable_power;
unsigned int accuracy;
#define SCMI_POWERCAP_ROOT_ZONE_ID 0xFFFFFFFFUL;
unsigned int parent_id;
struct scmi_fc_info *fc_info;
};
like, look at all those bools. she's thorough. she contains multitudes. π¦
π§ Members π§
okay now the main character energy part β field by field, no skipping, no summarising, we're doing the whole roster π
idβ the Domain ID, as advertised by the platform. it's giving... "hello, this is who I am." πͺͺnotify_powercap_cap_changeβ CAP change notification support. yes, she can tell you when the CAP moves. πnotify_powercap_measurement_changeβ MEASUREMENTS change notifications support. same energy, but for measurements. πasync_powercap_cap_setβ Asynchronous CAP set support. lowkey the "don't wait up" of CAP setting. β³powercap_cap_configβ CAP configuration support. you can configure the CAP. slay. πpowercap_monitoringβ Monitoring (measurements) support. she's watching. respectfully. πpowercap_pai_configβ PAI configuration support. yes bestie, PAI is configurable here. βοΈpowercap_scale_mwβ Domain reports power data in milliwatt units. π²πΌ energy (the unit, not the country, but honestly? iconic either way).powercap_scale_uwβ Domain reports power data in microwatt units. and here's the tea π΅: when bothpowercap_scale_mwandpowercap_scale_uware set tofalse, the domain reports power data on an abstract linear scale. no real watts, just vibes. πnameβ the name assigned to the Powercap Domain by the platform. her government name. π«Άmin_paiβ Minimum configurable PAI. the floor. β¬οΈmax_paiβ Maximum configurable PAI. the ceiling. β¬οΈpai_stepβ Step size between two consecutive PAI values. the baby steps in between. πΎmin_power_capβ Minimum configurable CAP. π§max_power_capβ Maximum configurable CAP. π₯power_cap_stepβ Step size between two consecutive CAP values. again with the baby steps. π£sustainable_powerβ Maximum sustainable power consumption for this domain under normal conditions. key phrase: normal conditions. we don't discuss non-normal conditions. πmin_paiβ¦ wait no β ok bestie we already did that one, stay with me. πaccuracyβ the accuracy with which the power is measured and reported, in integral multiples of0.001percent. tiny. precise. perfectionist. βparent_idβ Identifier of the containing parent power capping domain, or the value0xFFFFFFFFif this powercap domain is a root domain not contained in any other domain. also, shoutout toSCMI_POWERCAP_ROOT_ZONE_IDbeing0xFFFFFFFFULup in the struct π β same energy, different spelling.
heads up bestie π«Ά β the struct also carriesfastchannelsandstruct scmi_fc_info *fc_info, but this page doesn't describe them. so we're not gonna make stuff up about them. we simply admire them from a respectful distance. π
π SEE ALSO π
the whole friend group, no one left behind β Kernel file ./include/linux/scmi_protocol.h, plus:
struct scmi_base_info(9)struct scmi_clk_proto_ops(9)struct scmi_perf_proto_ops(9)struct scmi_power_proto_ops(9)struct scmi_sensor_reading(9)struct scmi_range_attrs(9)struct scmi_sensor_axis_info(9)struct scmi_sensor_intervals_info(9)struct scmi_sensor_info(9)struct scmi_sensor_proto_ops(9)struct scmi_reset_proto_ops(9)struct scmi_voltage_info(9)struct scmi_voltage_proto_ops(9)struct scmi_powercap_proto_ops(9)struct scmi_pinctrl_proto_ops(9)struct scmi_notify_ops(9)struct scmi_handle(9)module_scmi_driver(9)module_scmi_protocol(9)
and that's the whole page, bestie β go forth and cap some power π β¨
this little masterclass came from ./include/linux, dated October 2026, and it's the struct scmi_powercap_info(9) entry. iykyk π¦ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms