STRUCT CXL_DECODER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct cxl_decoder β€” Common CXL HDM Decoder Attributes. Okay bestie, this is the Kernel API Manual page for struct cxl_decoder(9), and it's giving β€œshared shape for CXL HDM decoder attributes” energy. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

Here's the exact struct, no cap:

struct cxl_decoder {
    struct device dev;
    int id;
    struct range hpa_range;
    int interleave_ways;
    int interleave_granularity;
    enum cxl_decoder_type target_type;
    struct cxl_region *region;
    unsigned long flags;
    u32 target_map[CXL_DECODER_MAX_INTERLEAVE];
    int (*commit)(struct cxl_decoder *cxld);
    void (*reset)(struct cxl_decoder *cxld);
};

πŸ¦‹ Members πŸ¦‹

Member-by-member, because every field is main character here:

  • dev β€” this decoder's device. 🫢
  • id β€” kernel device name id. ✨
  • hpa_range β€” Host physical address range mapped by this decoder. πŸ’–
  • interleave_ways β€” number of cxl_dports in this decode. πŸŒ€
  • interleave_granularity β€” data stride per dport. 🌸
  • target_type β€” accelerator vs expander (type2 vs type3) selector. πŸ”₯
  • region β€” currently assigned region for this decoder. πŸŽ€
  • flags β€” memory type capabilities and locking. πŸ”
  • target_map β€” cached copy of hardware port-id list, available at init before all dport objects have been instantiated. While dport id is 8bit, CFMWS interleave targets are 32bits. πŸ‘€
  • commit β€” device/decoder-type specific callback to commit settings to hw. βœ…
  • reset β€” device/decoder-type specific callback to reset hw settings. πŸ”„

🌈 SEE ALSO 🌈

Kernel file ./drivers/cxl/cxl.h is the home base, plus the whole bestie lineup: cxl objects(9), struct cxl_endpoint_decoder(9), struct cxl_switch_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), and struct cxl_endpoint_dvsec_info(9). Go read those too, iykyk. πŸ‘‘


Source/version footer, cutely: this page lives under ./drivers/cxl, dated October 2026, and it's titled struct cxl_decoder(9). mwah πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from