Searched refs:cxlhdm (Results 1 – 5 of 5) sorted by relevance
| /linux/drivers/cxl/core/ |
| H A D | hdm.c | 55 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 D | pci.c | 242 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 D | core.h | 210 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
|
| H A D | region.c | 1337 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 D | cxl.c | 673 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 …]
|