zynqmp_pm_set_requirement(9)
π zynqmp_pm_set_requirement(9) β or, the Kernel API Manual page your bestie needed
okay so this is a page straight out of the Kernel API Manual, bestie, and it's all about zynqmp_pm_set_requirement. no cap, the whole thing is one function and it's giving "small but important". let's get into it π
β¨ NAME β¨
zynqmp_pm_set_requirement β the PM call that sets the requirement for PM slaves π§
πΈ SYNOPSIS πΈ
int zynqmp_pm_set_requirement (const u32 node , const u32 capabilities ,
const u32 qos , const enum zynqmp_pm_request_ack ack );
that's it, that's the whole signature, and yes she returns an int, we love a return type that tells us how it went π
π¦ ARGUMENTS π¦
nodeβ the node ID of the slave. it's aconst u32, so like, hands off, she's a value not a vibe.capabilitiesβ the requested capabilities of the slave. this is literally the whole point of the function, so pls get it right πqosβ quality of service. and before you ask: not supported. i know, i know. π keep it in the args anyway.ackβ the flag that says whether an acknowledge is requested. it's anenum zynqmp_pm_request_ack, so use the enum, don't be that person who passes a raw number π
π₯ DESCRIPTION π₯
so here's the tea β β this API function is meant for slaves that a PU already has requested, and you're using it to change their capabilities. that's the whole situation. main character behavior only β¨
lowkey important: the "already has requested" part is not optional flavor text, bestie. this is for the change-capabilities-after-the-fact case. don't come in here with a fresh slave and expect a whole new world π
β RETURN β
returns status β either success, or error plus reason. so when it goes wrong, it does not just ghost you, it tells you why π«Ά
π SEE ALSO π
okay this is the part where she lists everyone she knows, and honestly? iconic. the main file is ./drivers/firmware/xilinx/zynqmp.c, plus these lovely structs and functions:
struct zynqmp_devinfo(9), struct pm_api_feature_data(9), zynqmp_pm_ret_code(9), do_fw_call_smc(9), do_fw_call_hvc(9), zynqmp_pm_feature(9), zynqmp_pm_is_function_supported(9), zynqmp_pm_invoke_fw_fn(9), zynqmp_pm_invoke_fn(9), zynqmp_pm_get_api_version(9), zynqmp_pm_get_chipid(9), zynqmp_pm_get_family_info(9), zynqmp_pm_get_sip_svc_version(9), zynqmp_pm_get_trustzone_version(9), get_set_conduit_method(9), zynqmp_pm_query_data(9)
then the clock girlies: zynqmp_pm_clock_enable(9), zynqmp_pm_clock_disable(9), zynqmp_pm_clock_getstate(9), zynqmp_pm_clock_setdivider(9), zynqmp_pm_clock_getdivider(9), zynqmp_pm_clock_setparent(9), zynqmp_pm_clock_getparent(9), zynqmp_pm_set_pll_frac_mode(9), zynqmp_pm_get_pll_frac_mode(9), zynqmp_pm_set_pll_frac_data(9), zynqmp_pm_get_pll_frac_data(9), zynqmp_pm_set_sd_tapdelay(9), zynqmp_pm_sd_dll_reset(9), zynqmp_pm_ospi_mux_select(9)
the ggs/pggs squad π£: zynqmp_pm_write_ggs(9), zynqmp_pm_read_ggs(9), zynqmp_pm_write_pggs(9), zynqmp_pm_read_pggs(9), zynqmp_pm_set_boot_health_status(9), zynqmp_pm_reset_assert(9), zynqmp_pm_reset_get_status(9), zynqmp_pm_fpga_load(9), zynqmp_pm_fpga_get_status(9), zynqmp_pm_fpga_get_config_status(9), zynqmp_pm_pinctrl_request(9), zynqmp_pm_pinctrl_release(9), zynqmp_pm_pinctrl_set_function(9), zynqmp_pm_pinctrl_get_config(9), zynqmp_pm_pinctrl_set_config(9)
boot mode & node crew: zynqmp_pm_bootmode_read(9), zynqmp_pm_bootmode_write(9), zynqmp_pm_init_finalize(9), zynqmp_pm_set_suspend_mode(9), zynqmp_pm_request_node(9), zynqmp_pm_release_node(9), zynqmp_pm_get_rpu_mode(9), zynqmp_pm_set_rpu_mode(9), zynqmp_pm_set_tcm_config(9), zynqmp_pm_get_node_status(9), zynqmp_pm_get_rpu_node_status(9), zynqmp_pm_force_pwrdwn(9), zynqmp_pm_request_wake(9), zynqmp_pm_start_rpu(9), zynqmp_pm_stop_rpu(9), zynqmp_pm_load_pdi(9), zynqmp_pm_efuse_access(9), zynqmp_pm_register_notifier(9), zynqmp_pm_system_shutdown(9)
and the rest of the extended fam, fr fr: zynqmp_pm_set_feature_config(9), zynqmp_pm_get_feature_config(9), zynqmp_pm_sec_read_reg(9), zynqmp_pm_sec_mask_write_reg(9), zynqmp_pm_set_sd_config(9), zynqmp_pm_set_gem_config(9), struct zynqmp_pm_shutdown_scope(9), zynqmp_pm_is_shutdown_scope_valid(9), zynqmp_clear_pm_state(9)
and that's the whole page bestie π no skipped sections, no missing flags, we keep every detail because that's the rule and honestly? that's just good taste π
signing off from ./drivers/firmware/xilinx πΈ β October 2026, version energy only, mwah π«Άβ¨
π¦ 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