scmi_xfer_inflight_register(9)
π scmi_xfer_inflight_register(9) β from the Kernel API Manual, bestie
okay so picture this: it's a kernel API manual page, the title is scmi_xfer_inflight_register(9), and it's about to become your new obsession. let's get into it β¨
πΈ NAME πΈ
scmi_xfer_inflight_register β literally just "try to register an xfer as in-flight", that's the whole vibe π¦
β¨ SYNOPSIS β¨
int scmi_xfer_inflight_register (struct scmi_xfer *xfer , struct
scmi_xfers_info *minfo );
like, that's the signature, no notes π
π ARGUMENTS π
xferβ the xfer you're registering. that's it. that's the girl π«Άminfoβ a pointer to the Tx/Rx Message management info, and which one you get depends on the channel type. iykyk π
π DESCRIPTION π
okay so real talk, this helper does NOT assume anything about the sequence number that was already baked into the xfer you handed it. nope, not a single assumption, she refuses π
so what does it do instead? it checks first whether that sequence number can be mapped to a free slot β and if another xfer with the same sequence number is currently still registered as in-flight, it fails with an error. no cap, that's the whole check π
bestie please note: the "does NOT assume anything about the sequence number" part is the main character of this paragraph. don't skip her π
β RETURN β
0on Success π-EBUSYif the sequence number embedded in thexfercould not be mapped to a free slot in thexfer_alloc_table. like, the table said no π
π₯ SEE ALSO π₯
so there's a lot here, and every single one of these is iconic in her own way:
- Kernel file
./drivers/firmware/arm_scmi/driver.c struct scmi_xfers_info(9)struct scmi_protocol_instance(9)struct scmi_info(9)scmi_create_protocol_devices(9)scmi_xfer_token_set(9)scmi_xfer_token_clear(9)scmi_xfer_inflight_register_unlocked(9)scmi_xfer_raw_inflight_register(9)scmi_xfer_pending_set(9)scmi_xfer_get(9)scmi_xfer_raw_get(9)scmi_xfer_raw_channel_get(9)__scmi_xfer_put(9)scmi_xfer_raw_put(9)scmi_xfer_lookup_unlocked(9)scmi_bad_message_trace(9)scmi_msg_response_validate(9)scmi_xfer_state_update(9)scmi_xfer_command_acquire(9)scmi_rx_callback(9)xfer_put(9)scmi_wait_for_message_response(9)scmi_xfer_raw_wait_for_message_response(9)do_xfer(9)do_xfer_with_response(9)xfer_get_init(9)version_get(9)scmi_set_protocol_priv(9)scmi_get_protocol_priv(9)scmi_common_extended_name_get(9)scmi_common_get_max_msg_size(9)scmi_protocol_msg_check(9)struct scmi_iterator(9)scmi_revision_area_get(9)scmi_protocol_version_negotiate(9)scmi_protocol_version_initialize(9)scmi_alloc_init_protocol_instance(9)scmi_get_protocol_instance(9)scmi_protocol_acquire(9)scmi_protocol_release(9)scmi_devm_protocol_get(9)scmi_devm_protocol_acquire(9)scmi_devm_protocol_put(9)scmi_is_transport_atomic(9)scmi_handle_get(9)scmi_handle_put(9)scmi_channels_setup(9)
and that's the page, bestie π she lives in ./drivers/firmware/arm_scmi, she's dated October 2026, and her name is β say it with me β scmi_xfer_inflight_register(9). slay πβ¨π¦
π¦ 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