STRUCT PCI_IDE_PARTNER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 :1 bitfield! 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 :1 flag that tracks whether we should run pci_ide_stream_teardown for this partner slot 🧚
  • enable β€” a :1 flag for whether to run pci_ide_stream_disable for 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