/kernel/linux/linux-6.6/drivers/cxl/core/ |
H A D | hdm.c | 21 static int add_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld, in add_hdm_decoder() argument 26 rc = cxl_decoder_add_locked(cxld, target_map); in add_hdm_decoder() 28 put_device(&cxld->dev); in add_hdm_decoder() 33 rc = cxl_decoder_autoremove(&port->dev, cxld); in add_hdm_decoder() 37 dev_dbg(&cxld->dev, "Added to port %s\n", dev_name(&port->dev)); in add_hdm_decoder() 66 return add_hdm_decoder(port, &cxlsd->cxld, single_port_map); in devm_cxl_add_passthrough_decoder() 244 put_device(&cxled->cxld.dev); in __cxl_dpa_release() 282 port->id, cxled->cxld.id); in __cxl_dpa_reserve() 288 port->id, cxled->cxld.id, cxled->dpa_res); in __cxl_dpa_reserve() 292 if (port->hdm_end + 1 != cxled->cxld in __cxl_dpa_reserve() 548 cxld_set_interleave(struct cxl_decoder *cxld, u32 *ctrl) cxld_set_interleave() argument 570 cxld_set_type(struct cxl_decoder *cxld, u32 *ctrl) cxld_set_type() argument 625 cxl_decoder_commit(struct cxl_decoder *cxld) cxl_decoder_commit() argument 713 cxl_decoder_reset(struct cxl_decoder *cxld) cxl_decoder_reset() argument 756 cxl_setup_hdm_decoder_from_dvsec( struct cxl_port *port, struct cxl_decoder *cxld, u64 *dpa_base, int which, struct cxl_endpoint_dvsec_info *info) cxl_setup_hdm_decoder_from_dvsec() argument 797 init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld, int *target_map, void __iomem *hdm, int which, u64 *dpa_base, struct cxl_endpoint_dvsec_info *info) init_hdm_decoder() argument 991 struct cxl_decoder *cxld; devm_cxl_enumerate_decoders() local [all...] |
H A D | region.c | 171 struct cxl_decoder *cxld; in cxl_region_decode_reset() local 174 cxld = cxl_rr->decoder; in cxl_region_decode_reset() 175 if (cxld->reset) in cxl_region_decode_reset() 176 rc = cxld->reset(cxld); in cxl_region_decode_reset() 183 rc = cxled->cxld.reset(&cxled->cxld); in cxl_region_decode_reset() 195 static int commit_decoder(struct cxl_decoder *cxld) in commit_decoder() argument 199 if (cxld->commit) in commit_decoder() 200 return cxld in commit_decoder() 220 struct cxl_decoder *cxld; cxl_region_decode_commit() local 384 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; interleave_ways_store() local 452 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; interleave_granularity_store() local 694 struct cxl_decoder *cxld; match_free_decoder() local 717 struct cxl_decoder *cxld; match_auto_decoder() local 760 auto_order_ok(struct cxl_port *port, struct cxl_region *cxlr_iter, struct cxl_decoder *cxld) auto_order_ok() argument 798 struct cxl_decoder *cxld; alloc_region_ref() local 834 struct cxl_decoder *cxld = cxl_rr->decoder; cxl_rr_free_decoder() local 863 struct cxl_decoder *cxld = cxl_rr->decoder; cxl_rr_ep_add() local 886 struct cxl_decoder *cxld; cxl_rr_alloc_decoder() local 950 struct cxl_decoder *cxld; cxl_port_attach_region() local 1120 struct cxl_decoder *cxld = cxl_rr->decoder; cxl_port_setup_targets() local 1302 struct cxl_decoder *cxld; cxl_port_reset_targets() local 2303 struct cxl_decoder *cxld = to_cxl_decoder(dev); region_show() local 2323 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; cxl_find_region_by_name() local 2890 struct cxl_decoder *cxld = &cxled->cxld; cxl_add_to_region() local [all...] |
H A D | port.c | 98 struct cxl_decoder *cxld = to_cxl_decoder(dev); in start_show() local 100 return sysfs_emit(buf, "%#llx\n", cxld->hpa_range.start); in start_show() 107 struct cxl_decoder *cxld = to_cxl_decoder(dev); in size_show() local 109 return sysfs_emit(buf, "%#llx\n", range_len(&cxld->hpa_range)); in size_show() 117 struct cxl_decoder *cxld = to_cxl_decoder(dev); \ 120 (cxld->flags & (flag)) ? "1" : "0"); \ 133 struct cxl_decoder *cxld = to_cxl_decoder(dev); in target_type_show() local 135 switch (cxld->target_type) { in target_type_show() 147 struct cxl_decoder *cxld = &cxlsd->cxld; in emit_target_list() local 273 struct cxl_decoder *cxld = to_cxl_decoder(dev); interleave_granularity_show() local 283 struct cxl_decoder *cxld = to_cxl_decoder(dev); interleave_ways_show() local 397 __cxl_decoder_release(struct cxl_decoder *cxld) __cxl_decoder_release() argument 1603 struct cxl_decoder *cxld = &cxlsd->cxld; cxl_hb_modulo() local 1627 cxl_decoder_init(struct cxl_port *port, struct cxl_decoder *cxld) cxl_decoder_init() argument 1687 struct cxl_decoder *cxld; cxl_root_decoder_alloc() local 1741 struct cxl_decoder *cxld; cxl_switch_decoder_alloc() local 1772 struct cxl_decoder *cxld; cxl_endpoint_decoder_alloc() local 1814 cxl_decoder_add_locked(struct cxl_decoder *cxld, int *target_map) cxl_decoder_add_locked() argument 1864 cxl_decoder_add(struct cxl_decoder *cxld, int *target_map) cxl_decoder_add() argument 1897 cxl_decoder_autoremove(struct device *host, struct cxl_decoder *cxld) cxl_decoder_autoremove() argument [all...] |
H A D | pci.c | 287 struct cxl_decoder *cxld; in dvsec_range_allowed() local 292 cxld = to_cxl_decoder(dev); in dvsec_range_allowed() 294 if (!(cxld->flags & CXL_DECODER_F_RAM)) in dvsec_range_allowed() 297 return range_contains(&cxld->hpa_range, dev_range); in dvsec_range_allowed()
|
H A D | memdev.c | 276 dev_name(&cxled->cxld.region->dev)); in __cxl_dpa_to_region() 278 ctx->cxlr = cxled->cxld.region; in __cxl_dpa_to_region()
|
/kernel/linux/linux-6.6/tools/testing/cxl/test/ |
H A D | cxl.c | 663 static int mock_decoder_commit(struct cxl_decoder *cxld) in mock_decoder_commit() argument 665 struct cxl_port *port = to_cxl_port(cxld->dev.parent); in mock_decoder_commit() 666 int id = cxld->id; in mock_decoder_commit() 668 if (cxld->flags & CXL_DECODER_F_ENABLE) in mock_decoder_commit() 671 dev_dbg(&port->dev, "%s commit\n", dev_name(&cxld->dev)); in mock_decoder_commit() 675 dev_name(&cxld->dev), port->id, in mock_decoder_commit() 681 cxld->flags |= CXL_DECODER_F_ENABLE; in mock_decoder_commit() 686 static int mock_decoder_reset(struct cxl_decoder *cxld) in mock_decoder_reset() argument 688 struct cxl_port *port = to_cxl_port(cxld->dev.parent); in mock_decoder_reset() 689 int id = cxld in mock_decoder_reset() 708 default_mock_decoder(struct cxl_decoder *cxld) default_mock_decoder() argument 724 struct cxl_decoder *cxld; first_decoder() local 734 mock_init_hdm_decoder(struct cxl_decoder *cxld) mock_init_hdm_decoder() argument 864 struct cxl_decoder *cxld; mock_cxl_enumerate_decoders() local [all...] |
/kernel/linux/linux-6.6/drivers/cxl/ |
H A D | acpi.c | 49 struct cxl_decoder *cxld = &cxlsd->cxld; in cxl_hb_xor() local 50 int ig = cxld->interleave_granularity; in cxl_hb_xor() 51 int iw = cxld->interleave_ways; in cxl_hb_xor() 55 if (dev_WARN_ONCE(&cxld->dev, in cxl_hb_xor() 56 cxld->interleave_ways != cxlsd->nr_targets, in cxl_hb_xor() 83 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in cxl_parse_cxims() local 94 if (hbig != cxld->interleave_granularity) in cxl_parse_cxims() 98 if (is_power_of_2(cxld in cxl_parse_cxims() 207 struct cxl_decoder *cxld; __cxl_parse_cfmws() local 516 struct cxl_decoder *cxld; add_root_nvdimm_bridge() local 646 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; pair_cxl_resource() local [all...] |
H A D | cxl.h | 347 int (*commit)(struct cxl_decoder *cxld); 348 int (*reset)(struct cxl_decoder *cxld); 388 * @cxld: base cxl_decoder_object 390 * @skip: offset into @dpa_res where @cxld.hpa_range maps 393 * @pos: interleave position in @cxld.region 396 struct cxl_decoder cxld; member 406 * @cxld: base cxl_decoder object 417 struct cxl_decoder cxld; member 721 int cxl_decoder_add(struct cxl_decoder *cxld, int *target_map); 723 int cxl_decoder_add_locked(struct cxl_decoder *cxld, in [all...] |
H A D | port.c | 42 if ((cxled->cxld.flags & CXL_DECODER_F_ENABLE) == 0) in discover_region() 55 cxled->cxld.hpa_range.start, cxled->cxld.hpa_range.end); in discover_region()
|
H A D | cxlmem.h | 65 return to_cxl_port(cxled->cxld.dev.parent); in cxled_to_port() 70 return to_cxl_port(cxlrd->cxlsd.cxld.dev.parent); in cxlrd_to_port() 76 struct cxl_port *port = to_cxl_port(cxled->cxld.dev.parent); in cxled_to_memdev()
|