scmi_xfer_lookup_unlocked(9)
π scmi_xfer_lookup_unlocked(9) β Kernel API Manual
okay bestie, welcome to the kernel API manual for scmi_xfer_lookup_unlocked(9), and yes you're gonna slay this one π«Ά
β¨ NAME β¨
scmi_xfer_lookup_unlocked β a little helper that looks up an xfer_id. that's it. that's the whole job. icon behavior honestly π
πΈ SYNOPSIS πΈ
struct scmi_xfer * scmi_xfer_lookup_unlocked (struct scmi_xfers_info
*minfo , u16 xfer_id );
like, you hand it a message-management struct and an id, and it goes and finds your transfer. main character function fr fr β
π ARGUMENTS π
minfoβ pointer to the Tx/Rx Message management info, based on channel type. it's giving "which channel are we even on" energy, iykyk π«xfer_idβ the Token ID you wanna look up inpending_xfers. that's the thing it's searching for, no cap π
π¦ DESCRIPTION π¦
Refcounting is untouched. π
like, it does not touch the refcount, bestie. not even a little. it just looks the thing up and minds its business. we love a function that stays in its lane π
π CONTEXT π
assumes it's being called with xfer_lock already acquired π
so like, lock first, then call. that's the vibe check and you must pass it, okay? π«Ά
π₯ RETURN π₯
a valid xfer on success, or an error otherwise. that's the whole deal β you either get your transfer or you get told no π
π SEE ALSO π
go check out the kernel file ./drivers/firmware/arm_scmi/driver.c β it's the mothership, and these are all its friends:
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_inflight_register(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_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)
that's a lot of reading, but you're built different, so π
πΈ that's the whole page, bestie β this one came from ./drivers/firmware/arm_scmi, dated October 2026, and it's literally called scmi_xfer_lookup_unlocked(9) in case you forgot already π go forth and look up those xfers, 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