STRUCT PCI_IDE_PARTNER(9)
β¨ NAME β¨
struct pci_ide_partner β the per port pair Selective IDE Stream settings, bestie π
π¦ SYNOPSIS π¦
struct pci_ide_partner {
u16 rid_start;
u16 rid_end;
u8 stream_index;
struct pci_bus_region mem_assoc;
struct pci_bus_region pref_assoc;
unsigned int default_stream:1;
unsigned int setup:1;
unsigned int enable:1;
};
π Members π
Okay so every field, one by one, no skips, we're doing this properly π«Ά
rid_startβ where the Partner Port Requester ID range starts. That's it, that's the field β¨rid_endβ where the Partner Port Requester ID range ends, and yes it's inclusive so don't come for me about off-by-one πstream_indexβ picks which Selective IDE Stream Register Block you're talking about πmem_assocβ the PCI bus memory address association used for targeting the peer partner πΈpref_assocβ same energy but for prefetchable PCI bus memory address association, for targeting that peer partner π¦default_streamβ this is a:1bitfield! When it's set, the Endpoint uses this stream for, like, all upstream TLPs, regardless of address and RID association registers. Main character stream energy fr fr πsetupβ a:1flag that tracks whether we should runpci_ide_stream_teardownfor this partner slot π§enableβ a:1flag for whether to runpci_ide_stream_disablefor this partner slot π
πΈ Description πΈ
So here's the vibe: by default, pci_ide_stream_alloc initializes mem_assoc and pref_assoc with the immediate ancestor downstream port memory ranges β and yes that means the Type 1 Configuration Space Header values, lowkey iconic π
The caller is allowed to zero size the range as {0, -1} to drop it from consideration at pci_ide_stream_setup time. Not me giving you an escape hatch π³οΈβ¨
π SEE ALSO π
- Kernel file
./include/linux/pci-ide.h struct pci_ide_regs(9)struct pci_ide(9)
That's the whole thing, bestie β slay responsibly π
πΈ from ./include/linux, dated October 2026. Go forth and configure your streams, ily π«Άπ
π¦ 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