STRUCT PANTHOR_FW_GLOBAL_IFACE(9)
π NAME π
struct panthor_fw_global_iface β the Firmware global interface, bestie β¨ (this is a page from the Kernel API Manual, and yes we are gonna get through it together π«Ά)
πΈ SYNOPSIS πΈ
okay so here's the whole struct, no cap, every field exactly as it is:
struct panthor_fw_global_iface {
spinlock_t lock;
const struct panthor_fw_global_control_iface *control;
struct panthor_fw_global_input_iface *input;
const struct panthor_fw_global_output_iface *output;
};
β¨ Members β¨
lockβ this is the lock that protects access to thepanthor_fw_global_input_iface::reqfield π
it's needed so we can update the req field concurrently from the interrupt handler and the scheduler/FW management logic. like, two places touching it at once? we simply cannot let that happen bestie π
TODO: ideally we'd want to use acmpxchgto update thereq, but FW interface sections are mapped uncached/write-combined right now π and usingcmpxchgon such mappings leads to SError faults. revisit when we have'SHARED'GPU mappings hooked up π
controlβ Command stream group slot control interface π
used to expose global FW properties.
this interface is read-only π (iconic, honestly)
inputβ Global input interface π₯
used for host updates/events.
outputβ Global output interface π€
used for FW updates/events.
this interface is read-only π (again, hands off bestie)
π¦ SEE ALSO π¦
- Kernel file
./drivers/gpu/drm/panthor/panthor_fw.hstructpanthor_fw_cs_iface(9) - struct
panthor_fw_csg_iface(9) panthor_fw_toggle_reqs(9)panthor_fw_update_reqs(9)
that's the whole page, you ate that π
β¨ this lil masterpiece lives in ./drivers/gpu/drm/panthor, dated October 2026, and it's literally titled struct panth...global_iface(9) β go off, king ππ
π¦ 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