STRUCT CXL_SWITCH_DECODER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct cxl_switch_decoder(9) πŸ’…

okay bestie, welcome to the Kernel API Manual entry for struct cxl_switch_decoder β€” it's literally the Switch specific CXL HDM Decoder. πŸ’–


✨ NAME ✨

struct cxl_switch_decoder β€” Switch specific CXL HDM Decoder. no cap, that's the name πŸŽ€


🌸 SYNOPSIS 🌸

okay so here's the literal struct, bestie β€” pls don't retype it wrong πŸ™ˆ

struct cxl_switch_decoder {
    struct cxl_decoder cxld;
    int nr_targets;
    struct cxl_dport *target[];
};

πŸŽ€ Members πŸŽ€

the little squad inside the struct, one by one:

  • cxld β€” base cxl_decoder object
  • nr_targets β€” number of elements in target
  • target β€” active ordered target list in current decoder configuration

πŸ¦‹ Description πŸ¦‹

so the switch decoder type represents the decoder instances of cxl_port's that route from the root of a CXL memory decode topology to the endpoints. 🫢

they come in two flavors: root-level decoders, statically defined by platform firmware, and mid-level decoders, where interleave-granularity, interleave-width, and the target list are mutable. periodt πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

go read these too, iykyk πŸ‘‘

  • Kernel file: ./drivers/cxl/cxl.h
  • cxl objects(9)
  • struct cxl_decoder(9)
  • struct cxl_endpoint_decoder(9)
  • struct cxl_rd_ops(9)
  • struct cxl_root_decoder(9)
  • struct cxl_region_params(9)
  • struct cxl_region(9)
  • struct cxl_port(9)
  • struct cxl_root(9)
  • struct cxl_dport(9)
  • struct cxl_ep(9)
  • struct cxl_region_ref(9)
  • struct cxl_endpoint_dvsec_info(9)

and that's the whole page, bestie 🫢 signing off from source ./drivers/cxl, dated October 2026, still serving struct cxl_switch_decoder(9) βœ¨πŸ’œ

πŸ“¦ where this page comes from