Streams(9)
π Streams(9) β Kernel API Manual, but make it group chat π
okay so bestie, welcome to Streams(9) from the Kernel API Manual π. The vibe check is simple: commands are submitted to the kernel driver in the form of streams. That's the whole main character energy of this page. β¨
π¦ Streams π¦
A command stream has the following layout:
and yes we're doing nested bullets because the structure is literally nested, iykyk π«Ά:
- A
64-bitheader containing:- A
u32containing the length of the main stream inclusive of the length of the header. - A
u32for padding.
- A
- The main stream data.
- The extension stream (optional), which is composed of:
- One or more headers.
- The extension stream data, corresponding to the extension headers.
The main stream provides the base command data. This has a fixed layout based on the features supported by a given GPU. No cap. π«Ά
The extension stream provides the command parameters that are required for BRNs & ERNs for the current GPU. This stream is comprised of one or more headers, followed by data for each given BRN/ERN. It's giving "parameters for the current GPU" π
.
Each header is a u32 containing a bitmask of quirks & enhancements in the extension stream, a "type" field determining the set of quirks & enhancements the bitmask represents, and a continuation bit determining whether any more headers are present. The headers are then followed by command data; this is specific to each quirk/enhancement. All unused / reserved bits in the header must be set to 0. That last bit is not a suggestion, bestie β reserved bits stay 0, periodt. π¨
All parameters and headers in the main and extension streams must be naturally aligned. ngl, alignment check: slay. πβ¨
If a parameter appears in both the main and extension streams, then the extension parameter is used. So the extension stream wins the argument, lowkey. π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/imagination/pvr_rogue_fwif_stream.hβ the source file is right there, bestie, go peek. I'm obsessed. π
mwah π β this lil beauty is from ./drivers/gpu/drm/imagination, dated October 2026, and it's Streams(9). π
π¦ 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