kryo_l2_set_indirect_reg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… kryo_l2_set_indirect_reg β€” from the Kernel API Manual, bestie

okay so we're in the Kernel API Manual today and the star of the show is kryo_l2_set_indirect_reg(9). yes the whole entire name. she's long, she's specific, she's iconic. πŸŽ€


✨ NAME ✨

kryo_l2_set_indirect_reg β€” literally just writes a value to an L2 register. that's it. that's the whole job. no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

void kryo_l2_set_indirect_reg (u64 reg , u64 val );

returns nothing (void, she gives nothing back and honestly? respect πŸ’…), takes two u64s, and the spacing is exactly as printed β€” do not come for me about the space before those commas, I'm just the messenger. 😭


🧚 ARGUMENTS 🧚

  • reg β€” the address of the L2 register. like, which register. you gotta tell her where to go. πŸ“
  • val β€” the value to be written to that register. the actual payload. the whole point. πŸ”₯

πŸ‘‘ DESCRIPTION πŸ‘‘

the vibe check here: use the architecturally required barriers for ordering between system register accesses, and also for system registers with respect to device memory. ⭐

like, it's not just "write the number and leave" β€” the ordering guarantees are the whole personality. barriers are doing the heavy lifting so your system register accesses and your device memory stay in their proper lanes. periodt. πŸ’€

ngl bestie, this is one of those "the ordering matters more than the write" situations. the barriers are architecturally required, so don't go removing them thinking you're clever. πŸ™ˆ

🫢 SEE ALSO 🫢

  • the Kernel file: ./drivers/soc/qcom/kryo-l2-accessors.c β€” go read the source, iykyk πŸ“
  • kryo_l2_get_indirect_reg(9) β€” her counterpart, the one who reads. they're a matching set. ✨

and that's the page, bestie!! 🌈 this absolute gem lives under ./drivers/soc/qcom and the manual's dated October 2026 β€” ty for coming to my ted talk, mwah πŸ’–πŸŽ€πŸ’œ

πŸ“¦ where this page comes from