STRUCT PCI_IDE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct pci_ide(9) β€” like, the PCIe Selective IDE Stream descriptor πŸ’…

okay bestie, so this is a page from the Kernel API Manual and it's literally all about struct pci_ide β€” the descriptor for a PCIe Selective IDE Stream. it's giving "small struct, big responsibilities" energy and ngl I'm kind of obsessed? let's get into it 🫢


✨ SYNOPSIS ✨

struct pci_ide {
    struct pci_dev *pdev;
    struct pci_ide_partner partner[PCI_IDE_PARTNER_MAX];
    u8 host_bridge_stream;
    int stream_id;
    const char *name;
};

like, that's the whole vibe right there. five fields, no notes. 🌸


πŸŽ€ Members πŸŽ€

  • pdev β€” the PCIe Endpoint in the pci_ide_partner pair. yes, that endpoint. the other half of the pairing, if you will. πŸ‘‘
  • partner β€” per-partner settings. note it's an array β€” <italic>per-partner</italic>, plural, indexed, the whole thing. it's giving "settings for each partner, individually" πŸ’–
  • host_bridge_stream β€” a u8 that's allocated from the host bridge ide_stream_ida pool. that's the IDA pool, bestie, not just any pool. πŸ’€
  • stream_id β€” the unique Stream ID, and yes it's unique within the Partner Port pairing. don't go thinking it's globally unique, it's not, it's scoped, iykyk. πŸ”₯
  • name β€” the name of the established Selective IDE Stream, and it shows up in sysfs. so like, that's how you'll find it. ⭐

🌈 Description 🌈

okay so here's the one thing you actually need to internalize: negative stream_id values mean "uninitialized." 🚨

and like, why? because the expectation is that with TSM established IDE, the TSM owns the stream_id allocation. so if you see a negative value, don't panic, don't try to "fix" it β€” that's just an uninitialized stream, the TSM is handling it, main character energy fr fr. πŸ™ˆ

bestie this is a meaning caveat, not a bug warning β€” negative = uninitialized, and the TSM owns allocation when TSM established IDE is in play. know the difference. πŸ’œ

πŸ” SEE ALSO πŸ”

  • Kernel file ./include/linux/pci-ide.h
  • struct pci_ide_partner(9)
  • struct pci_ide_regs(9)

go read those next, they're the supporting cast and honestly they ate. 🧚


and that's the whole page, bestie β€” 100% of the flags, fields, and facts, zero skips. this icon was served up by ./include/linux, from the October 2026 era of the Kernel API Manual, and it's signed struct pci_ide(9) at the bottom like a little autograph. slay. πŸ’…βœ¨

πŸ“¦ where this page comes from