/linux-master/drivers/cxl/core/ |
H A D | trace.c | 37 struct cxl_endpoint_decoder *cxled) 41 int pos = cxled->pos; 59 dpa_offset = dpa - cxl_dpa_resource_start(cxled); 78 if (!cxl_is_hpa_in_range(hpa, cxlr, cxled->pos)) 88 struct cxl_endpoint_decoder *cxled = NULL; local 91 cxled = p->targets[i]; 92 if (cxlmd == cxled_to_memdev(cxled)) 95 if (!cxled || cxlmd != cxled_to_memdev(cxled)) 98 return cxl_dpa_to_hpa(dpa, cxlr, cxled); 36 cxl_dpa_to_hpa(u64 dpa, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled) argument [all...] |
H A D | hdm.c | 217 static void __cxl_dpa_release(struct cxl_endpoint_decoder *cxled) argument 219 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); 220 struct cxl_port *port = cxled_to_port(cxled); 222 struct resource *res = cxled->dpa_res; 228 skip_start = res->start - cxled->skip; 230 if (cxled->skip) 231 __release_region(&cxlds->dpa_res, skip_start, cxled->skip); 232 cxled->skip = 0; 233 cxled->dpa_res = NULL; 234 put_device(&cxled 238 cxl_dpa_release(void *cxled) argument 249 devm_cxl_dpa_release(struct cxl_endpoint_decoder *cxled) argument 258 __cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled, resource_size_t base, resource_size_t len, resource_size_t skipped) argument 332 devm_cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled, resource_size_t base, resource_size_t len, resource_size_t skipped) argument 350 cxl_dpa_size(struct cxl_endpoint_decoder *cxled) argument 362 cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled) argument 373 cxl_dpa_free(struct cxl_endpoint_decoder *cxled) argument 408 cxl_dpa_set_mode(struct cxl_endpoint_decoder *cxled, enum cxl_decoder_mode mode) argument 454 cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, unsigned long long size) argument 640 struct cxl_endpoint_decoder *cxled = local 678 struct cxl_endpoint_decoder *cxled = local 737 struct cxl_endpoint_decoder *cxled; local 750 struct cxl_endpoint_decoder *cxled; local 791 struct cxl_endpoint_decoder *cxled = NULL; local 984 struct cxl_endpoint_decoder *cxled; local [all...] |
H A D | core.h | 21 void cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled); 35 static inline void cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled) argument 61 int cxl_dpa_set_mode(struct cxl_endpoint_decoder *cxled, 63 int cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, unsigned long long size); 64 int cxl_dpa_free(struct cxl_endpoint_decoder *cxled); 65 resource_size_t cxl_dpa_size(struct cxl_endpoint_decoder *cxled); 66 resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled);
|
H A D | region.c | 259 struct cxl_endpoint_decoder *cxled = p->targets[i]; local 260 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); 261 struct cxl_port *iter = cxled_to_port(cxled); 286 rc = cxled->cxld.reset(&cxled->cxld); 320 struct cxl_endpoint_decoder *cxled = p->targets[i]; local 321 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); 328 for (iter = cxled_to_port(cxled); !is_cxl_root(iter); 347 cxled->cxld.reset(&cxled 771 struct cxl_endpoint_decoder *cxled; local 837 cxl_region_find_decoder(struct cxl_port *port, struct cxl_endpoint_decoder *cxled, struct cxl_region *cxlr) argument 887 alloc_region_ref(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled) argument 961 cxl_rr_ep_add(struct cxl_region_ref *cxl_rr, struct cxl_endpoint_decoder *cxled) argument 986 cxl_rr_alloc_decoder(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, struct cxl_region_ref *cxl_rr) argument 1046 cxl_port_attach_region(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, int pos) argument 1132 cxl_port_detach_region(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled) argument 1173 check_last_peer(struct cxl_endpoint_decoder *cxled, struct cxl_ep *ep, struct cxl_region_ref *cxl_rr, int distance) argument 1213 cxl_port_setup_targets(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled) argument 1426 struct cxl_endpoint_decoder *cxled; local 1461 struct cxl_endpoint_decoder *cxled; local 1508 cxl_region_validate_position(struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, int pos) argument 1556 cxl_region_attach_position(struct cxl_region *cxlr, struct cxl_root_decoder *cxlrd, struct cxl_endpoint_decoder *cxled, const struct cxl_dport *dport, int pos) argument 1588 cxl_region_attach_auto(struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, int pos) argument 1707 cxl_calc_interleave_pos(struct cxl_endpoint_decoder *cxled) argument 1770 struct cxl_endpoint_decoder *cxled = p->targets[i]; local 1789 cxl_region_attach(struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, int pos) argument 1940 struct cxl_endpoint_decoder *cxled = p->targets[i]; local 1953 cxl_region_detach(struct cxl_endpoint_decoder *cxled) argument 2013 cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled) argument 2021 attach_target(struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, int pos, unsigned int state) argument 2313 struct cxl_endpoint_decoder *cxled = p->targets[0]; local 2612 struct cxl_endpoint_decoder *cxled; local 2711 struct cxl_endpoint_decoder *cxled = p->targets[i]; local 2973 construct_region(struct cxl_root_decoder *cxlrd, struct cxl_endpoint_decoder *cxled) argument 3056 cxl_add_to_region(struct cxl_port *root, struct cxl_endpoint_decoder *cxled) argument [all...] |
H A D | port.c | 196 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 198 return sysfs_emit(buf, "%s\n", cxl_decoder_mode_name(cxled->mode)); 204 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 215 rc = cxl_dpa_set_mode(cxled, mode); 226 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 229 return sysfs_emit(buf, "%#llx\n", (u64)cxl_dpa_resource_start(cxled)); 236 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 237 resource_size_t size = cxl_dpa_size(cxled); 245 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 256 rc = cxl_dpa_free(cxled); 419 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); local 1908 struct cxl_endpoint_decoder *cxled; local 2024 struct cxl_endpoint_decoder *cxled; local [all...] |
H A D | memdev.c | 262 struct cxl_endpoint_decoder *cxled; local 268 cxled = to_cxl_endpoint_decoder(dev); 269 if (!cxled->dpa_res || !resource_size(cxled->dpa_res)) 272 if (dpa > cxled->dpa_res->end || dpa < cxled->dpa_res->start) 276 dev_name(&cxled->cxld.region->dev)); 278 ctx->cxlr = cxled->cxld.region;
|
H A D | cdat.c | 550 struct cxl_endpoint_decoder *cxled) 552 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); 556 .start = cxled->dpa_res->start, 557 .end = cxled->dpa_res->end, 549 cxl_region_perf_data_calculate(struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled) argument
|
/linux-master/drivers/cxl/ |
H A D | port.c | 35 struct cxl_endpoint_decoder *cxled; local 41 cxled = to_cxl_endpoint_decoder(dev); 42 if ((cxled->cxld.flags & CXL_DECODER_F_ENABLE) == 0) 45 if (cxled->state != CXL_DECODER_STATE_AUTO) 52 rc = cxl_add_to_region(root, cxled); 55 cxled->cxld.hpa_range.start, cxled->cxld.hpa_range.end);
|
H A D | cxlmem.h | 65 static inline struct cxl_port *cxled_to_port(struct cxl_endpoint_decoder *cxled) argument 67 return to_cxl_port(cxled->cxld.dev.parent); 76 cxled_to_memdev(struct cxl_endpoint_decoder *cxled) argument 78 struct cxl_port *port = to_cxl_port(cxled->cxld.dev.parent); 95 int devm_cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled,
|
H A D | cxl.h | 858 struct cxl_endpoint_decoder *cxled); 870 struct cxl_endpoint_decoder *cxled) 886 struct cxl_endpoint_decoder *cxled); 869 cxl_add_to_region(struct cxl_port *root, struct cxl_endpoint_decoder *cxled) argument
|
/linux-master/tools/testing/cxl/test/ |
H A D | cxl.c | 744 struct cxl_endpoint_decoder *cxled; local 756 cxled = to_cxl_endpoint_decoder(&cxld->dev); 757 cxlmd = cxled_to_memdev(cxled); 762 port = cxled_to_port(cxled); 773 port = cxled_to_port(cxled); 799 cxled->state = CXL_DECODER_STATE_AUTO; 801 devm_cxl_dpa_reserve(cxled, 0, size / cxld->interleave_ways, 0); 884 struct cxl_endpoint_decoder *cxled; local 886 cxled = cxl_endpoint_decoder_alloc(port); 888 if (IS_ERR(cxled)) { [all...] |