Home
last modified time | relevance | path

Searched refs:cxlhdm (Results 1 – 5 of 5) sorted by relevance

/linux/drivers/cxl/core/
H A Dhdm.c55 struct cxl_hdm *cxlhdm = dev_get_drvdata(&port->dev); in devm_cxl_add_passthrough_decoder() local
61 cxlhdm->interleave_mask = ~0U; in devm_cxl_add_passthrough_decoder()
62 cxlhdm->iw_cap_mask = ~0UL; in devm_cxl_add_passthrough_decoder()
73 static void parse_hdm_decoder_caps(struct cxl_hdm *cxlhdm) in parse_hdm_decoder_caps() argument
77 hdm_cap = readl(cxlhdm->regs.hdm_decoder + CXL_HDM_DECODER_CAP_OFFSET); in parse_hdm_decoder_caps()
78 cxlhdm->decoder_count = cxl_hdm_decoder_count(hdm_cap); in parse_hdm_decoder_caps()
79 cxlhdm->target_count = in parse_hdm_decoder_caps()
82 cxlhdm->interleave_mask |= GENMASK(11, 8); in parse_hdm_decoder_caps()
84 cxlhdm->interleave_mask |= GENMASK(14, 12); in parse_hdm_decoder_caps()
85 cxlhdm->iw_cap_mask = BIT(1) | BIT(2) | BIT(4) | BIT(8); in parse_hdm_decoder_caps()
[all …]
H A Dpci.c242 struct cxl_hdm *cxlhdm = _cxlhdm; in disable_hdm() local
243 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in disable_hdm()
250 static int devm_cxl_enable_hdm(struct device *host, struct cxl_hdm *cxlhdm) in devm_cxl_enable_hdm() argument
252 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in devm_cxl_enable_hdm()
259 return devm_add_action_or_reset(host, disable_hdm, cxlhdm); in devm_cxl_enable_hdm()
367 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, in cxl_hdm_decode_init() argument
370 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in cxl_hdm_decode_init()
371 struct cxl_port *port = cxlhdm->port; in cxl_hdm_decode_init()
401 rc = devm_cxl_enable_hdm(&port->dev, cxlhdm); in cxl_hdm_decode_init()
674 struct cxl_hdm *cxlhdm; in __cxl_endpoint_decoder_reset_detected() local
[all …]
H A Dcore.h210 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
H A Dregion.c1337 struct cxl_hdm *cxlhdm = dev_get_drvdata(&port->dev); in check_interleave_cap() local
1343 if (!test_bit(iw, &cxlhdm->iw_cap_mask)) in check_interleave_cap()
1372 if (interleave_mask & ~cxlhdm->interleave_mask) in check_interleave_cap()
/linux/tools/testing/cxl/test/
H A Dcxl.c673 struct cxl_hdm *cxlhdm = devm_kzalloc(&port->dev, sizeof(*cxlhdm), GFP_KERNEL); in mock_cxl_setup_hdm() local
676 if (!cxlhdm) in mock_cxl_setup_hdm()
679 cxlhdm->port = port; in mock_cxl_setup_hdm()
680 cxlhdm->interleave_mask = ~0U; in mock_cxl_setup_hdm()
681 cxlhdm->iw_cap_mask = ~0UL; in mock_cxl_setup_hdm()
682 dev_set_drvdata(dev, cxlhdm); in mock_cxl_setup_hdm()
683 return cxlhdm; in mock_cxl_setup_hdm()
892 static int mock_cxl_enumerate_decoders(struct cxl_hdm *cxlhdm, in mock_cxl_enumerate_decoders() argument
895 struct cxl_port *port = cxlhdm->port; in mock_cxl_enumerate_decoders()
967 struct cxl_hdm *cxlhdm; in __mock_cxl_decoders_setup() local
[all …]