cmdq_pkt_write_s_value(9)
π cmdq_pkt_write_s_value β the Kernel API Manualβ’, bestie edition β¨
okay so you're looking at cmdq_pkt_write_s_value(9) from the Kernel API Manual, and honestly? she's a lil baddie that does one thing and does it well. π
πΈ NAME πΈ
cmdq_pkt_write_s_value β appends a write_s command to the CMDQ packet, and that command writes a value to a physical address. that's the whole vibe. no cap. π¦
β¨ SYNOPSIS β¨
int cmdq_pkt_write_s_value (struct cmdq_pkt *pkt , u8 high_addr_reg_idx
, u16 addr_low , u32 value );
like yes that's a lot of args but we're gonna go through them one by one, bestie, don't panic π
π«Ά ARGUMENTS π«Ά
pktβ the CMDQ packet itself. she's the main character here, everything gets appended to her πhigh_addr_reg_idxβ the internal register ID that's holding the high address of the pa. yes, the high part lives in a register, that's just how she rolls β¨addr_lowβ the low address of the pa. lowkey the other half of the address πvalueβ the specified target value. the actual thing you're writing. the moment. the icon π
π₯ RETURN π₯
0 for success π β otherwise the error code comes back to you, so likeβ¦ check it, bestie, don't just ignore her π
π SEE ALSO π
kernel file ./include/linux/soc/mediatek/mtk-cmdq.h β go read the source, iykyk π
and the whole friend group, fr fr:
cmdq_dev_get_client_reg(9)cmdq_mbox_create(9)cmdq_mbox_destroy(9)cmdq_pkt_create(9)cmdq_pkt_destroy(9)cmdq_pkt_write(9)cmdq_pkt_write_pa(9)cmdq_pkt_write_subsys(9)cmdq_pkt_write_mask(9)cmdq_pkt_write_mask_pa(9)cmdq_pkt_write_mask_subsys(9)cmdq_pkt_write_s(9)cmdq_pkt_write_s_mask(9)cmdq_pkt_write_s_mask_value(9)cmdq_pkt_mem_move(9)cmdq_pkt_wfe(9)cmdq_pkt_acquire_event(9)cmdq_pkt_clear_event(9)cmdq_pkt_set_event(9)cmdq_pkt_poll(9)cmdq_pkt_poll_mask(9)cmdq_pkt_logic_command(9)cmdq_pkt_assign(9)cmdq_pkt_poll_addr(9)cmdq_pkt_jump_abs(9)cmdq_pkt_jump_rel(9)cmdq_pkt_jump_rel_temp(9)cmdq_pkt_eoc(9)
like that's the whole group chat, everyone showed up ππ«Ά
lowkey reminder:pktis astruct cmdq_pkt *,high_addr_reg_idxis au8,addr_lowis au16, andvalueis au32. keep those types exactly as they are, bestie, no "fixing" them π
and that's the page!! sourced from ./include/linux/soc/mediatek, dated October 2026, and she ate, no crumbs π
β¨π bye bestie ily π§π
π¦ 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