zynqmp_pm_invoke_fw_fn(9)
π zynqmp_pm_invoke_fw_fn(9) β a Kernel API Manual moment
okay so bestie, welcome to the glow-up of zynqmp_pm_invoke_fw_fn(9) from the Kernel API Manual. this is the function that picks up the phone and calls the system-level platform management layer caller function, and which caller it's ringing totally depends on your configuration. no cap. πβ¨
πΈ NAME
zynqmp_pm_invoke_fw_fn β literally the "invoke the system-level platform management layer caller function depending on the configuration" girlie. she does exactly what it says on the tin, and she does it iconically. π
π SYNOPSIS
int zynqmp_pm_invoke_fw_fn (u32 pm_api_id , u32 *ret_payload , u32
num_args , ... );
β¨ ARGUMENTS
pm_api_idβ the requested PM-API call. this is the "who are we calling" of it all. π²ret_payloadβ the returned value array. think of it as the little tray where the answer gets handed back to you. π«Άnum_argsβ the number of arguments to the requested PM-API call. you gotta tell her how many lil friends you're bringing. π§...β variable arguments. the mystery guest list. π
π₯ DESCRIPTION
so basically she invokes the platform management function for an SMC or HVC call, depending on configuration. lowkey the whole vibe is "depends on your setup, babe." π
she follows the SMC Calling Convention (SMCCC) for SMC64, and the Pm Function Identifier is:
PM_SIP_SVC + PASS_THROUGH_FW_CMD_ID =
((SMC_TYPE_FAST << FUNCID_TYPE_SHIFT) ((SMC_64) << FUNCID_CC_SHIFT)
((SIP_START) << FUNCID_OEN_SHIFT) (PASS_THROUGH_FW_CMD_ID))
quick glossary moment because iykyk but also let's all be on the same page:
PM_SIP_SVCβ the registered ZynqMP SIP Service Call. βPASS_THROUGH_FW_CMD_IDβ the fixed SiP SVC call ID for FW specific calls. π¦
not me being obsessed with a function that literally delegates to firmware and comes back with a status. main character energy fr fr. π
π RETURN
returns status, either success or error+reason. so like, either she ate or she has notes. πβ¨
π¦ SEE ALSO
the whole friend group, and yes we're tagging everyone because nobody gets left out. π«Άπ
Kernel file ./drivers/firmware/xilinx/zynqmp.c 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_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), 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), 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), 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_set_requirement(9), zynqmp_pm_load_pdi(9), zynqmp_pm_efuse_access(9), zynqmp_pm_register_notifier(9), zynqmp_pm_system_shutdown(9), 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 tea, bestie π β this little icon comes from ./drivers/firmware/xilinx, dated October 2026, and yes she's still serving zynqmp_pm_invoke_fw_fn(9) realness. periodt. π
ππ
π¦ 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