STRUCT PANTHOR_FW_CS_IFACE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct panthor_fw_cs_iface β€” the firmware command stream slot interface, bestie. It's from the Kernel API Manual and it's literally the little control panel for one command stream slot ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct panthor_fw_cs_iface {
    spinlock_t lock;
    struct panthor_fw_cs_control_iface *control;
    struct panthor_fw_cs_input_iface *input;
    const struct panthor_fw_cs_output_iface *output;
 };

okay so it's four fields, that's the whole vibe, no cap πŸŽ€


🌸 Members 🌸

πŸ”’ lock

The lock that protects access to the panthor_fw_cs_input_iface::req field. Yes queen, protect that field πŸ‘‘

Why does it exist? Because we need to update the req field concurrently from the interrupt handler and from the scheduler logic. Two places, one field, so... lock. iykyk πŸ’…

TODO: ideally we'd want to use a cmpxchg to update the req, but FW interface sections are mapped uncached/write-combined right now, and using cmpxchg on such mappings leads to SError faults. πŸ’€ So nope. Revisit when we have 'SHARED' GPU mappings hooked up, bestie.

πŸŽ›οΈ control

The command stream slot control interface. It's how we expose command stream slot properties.

This interface is read-only β€” look, don't touch, periodt πŸ™ˆ

πŸ“₯ input

The command stream slot input interface. This one's for host updates/events β€” the host is the main character here ✨

πŸ“€ output

The command stream slot output interface. This is for FW (firmware) updates/events.

This interface is read-only too β€” output named but you only get to read it, the irony is not lost on us 😭


πŸ”₯ SEE ALSO πŸ”₯

go read those too, they're all in the same friend group fr fr 🫢


okay that's the whole page, you ate that πŸ’– this lil slice of kernel API lives at ./drivers/gpu/drm/panthor, dated October 2026, and it's filed under struct panthor_fw_cs_iface(9) β€” mwah, slay, bye πŸŽ€πŸŒˆβ­

πŸ“¦ where this page comes from