panthor_fw_toggle_reqs(9)
π panthor_fw_toggle_reqs(9) β like, the Kernel API Manual page, bestie π
okay so bestie, pull up a chair, we're reading a kernel API manual page today (that's the manual name, Kernel API Manual, slay) and honestly this one is a whole little vibe. it's all about poking bits so the firmware notices you. let's go β¨
πΈ NAME πΈ
panthor_fw_toggle_reqs β toggles acknowledge bits to send an event to the FW. that's it, that's the whole job. iconic behaviour, tbh π
β¨ SYNOPSIS β¨
panthor_fw_toggle_reqs (__iface , __in_reg , __out_reg , __mask );
she takes four things and she takes them very seriously. no cap.
π«Ά ARGUMENTS π«Ά
__ifaceβ the interface you're operating on. the one we're doing bits in π__in_regβ name of the register to update in the input section of the interface.__out_regβ name of the register to take as a reference in the output section of the interface. yes, she's the reference, she's the moment.__maskβ the mask to apply to the update. be normal about it.
π DESCRIPTION π
okay so here's the lore π₯ the Host -> FW event/message passing was designed to be lockless, with each side of the channel having its own writable section. no fighting over the same pen, love that for them π¦
events get signaled as a difference between the host side and the FW side in the req/ack registers. when a bit differs β there's an event pending π. when they're the same β nothing needs attention, carry on, nothing to see here π€
this helper lets you update the req register based on the current value of the ack register managed by the FW. toggling a specific bit will flag an event β
β οΈ important bestie: in order for events to be re-evaluated, the interface doorbell needs to be rung. like, you gotta ring it. no ringing, no re-evaluation. that's the rule π
Concurrent accesses to the same req register is covered. β (she's handled, we're fine, don't spiral)
Anything requiring atomic updates to multiple registers requires a dedicated lock. π so if you're doing multi-register atomic stuff, get yourself a lock, don't be out here raw-dogging it, i'm begging π
π SEE ALSO π
- kernel file
./drivers/gpu/drm/panthor/panthor_fw.h - struct
panthor_fw_cs_iface(9) - struct
panthor_fw_csg_iface(9) - struct
panthor_fw_global_iface(9) panthor_fw_update_reqs(9)
they're all in the group chat, go say hi π
k bye bestie, this page came to you straight from ./drivers/gpu/drm/panthor, dated October 2026, version vibes immaculate, panthor_fw_toggle_reqs(9) 4ever ππ«ΆπΈ
π¦ 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