Home
last modified time | relevance | path

Searched refs:cxled (Results 1 – 9 of 9) sorted by relevance

/openbmc/linux/drivers/cxl/core/
H A Dhdm.c240 static void __cxl_dpa_release(struct cxl_endpoint_decoder *cxled) in __cxl_dpa_release() argument
242 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_release()
243 struct cxl_port *port = cxled_to_port(cxled); in __cxl_dpa_release()
245 struct resource *res = cxled->dpa_res; in __cxl_dpa_release()
251 skip_start = res->start - cxled->skip; in __cxl_dpa_release()
253 if (cxled->skip) in __cxl_dpa_release()
254 __release_region(&cxlds->dpa_res, skip_start, cxled->skip); in __cxl_dpa_release()
255 cxled->skip = 0; in __cxl_dpa_release()
256 cxled->dpa_res = NULL; in __cxl_dpa_release()
257 put_device(&cxled->cxld.dev); in __cxl_dpa_release()
[all …]
H A Dregion.c154 struct cxl_endpoint_decoder *cxled = p->targets[i]; in cxl_region_decode_reset() local
155 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_reset()
156 struct cxl_port *iter = cxled_to_port(cxled); in cxl_region_decode_reset()
179 cxled->cxld.reset(&cxled->cxld); in cxl_region_decode_reset()
209 struct cxl_endpoint_decoder *cxled = p->targets[i]; in cxl_region_decode_commit() local
210 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_commit()
217 for (iter = cxled_to_port(cxled); !is_cxl_root(iter); in cxl_region_decode_commit()
236 cxled->cxld.reset(&cxled->cxld); in cxl_region_decode_commit()
651 struct cxl_endpoint_decoder *cxled; in show_targetN() local
665 cxled = p->targets[pos]; in show_targetN()
[all …]
H A Dtrace.c37 struct cxl_endpoint_decoder *cxled) in cxl_dpa_to_hpa() argument
41 int pos = cxled->pos; in cxl_dpa_to_hpa()
59 dpa_offset = dpa - cxl_dpa_resource_start(cxled); in cxl_dpa_to_hpa()
78 if (!cxl_is_hpa_in_range(hpa, cxlr, cxled->pos)) in cxl_dpa_to_hpa()
88 struct cxl_endpoint_decoder *cxled = NULL; in cxl_trace_hpa() local
91 cxled = p->targets[i]; in cxl_trace_hpa()
92 if (cxlmd == cxled_to_memdev(cxled)) in cxl_trace_hpa()
95 if (!cxled || cxlmd != cxled_to_memdev(cxled)) in cxl_trace_hpa()
98 return cxl_dpa_to_hpa(dpa, cxlr, cxled); in cxl_trace_hpa()
H A Dcore.h21 void cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled);
42 static inline void cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled) in cxl_decoder_kill_region() argument
68 int cxl_dpa_set_mode(struct cxl_endpoint_decoder *cxled,
70 int cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, unsigned long long size);
71 int cxl_dpa_free(struct cxl_endpoint_decoder *cxled);
72 resource_size_t cxl_dpa_size(struct cxl_endpoint_decoder *cxled);
73 resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled);
H A Dport.c194 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); in mode_show() local
196 return sysfs_emit(buf, "%s\n", cxl_decoder_mode_name(cxled->mode)); in mode_show()
202 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); in mode_store() local
213 rc = cxl_dpa_set_mode(cxled, mode); in mode_store()
224 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); in dpa_resource_show() local
227 return sysfs_emit(buf, "%#llx\n", (u64)cxl_dpa_resource_start(cxled)); in dpa_resource_show()
234 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); in dpa_size_show() local
235 resource_size_t size = cxl_dpa_size(cxled); in dpa_size_show()
243 struct cxl_endpoint_decoder *cxled = to_cxl_endpoint_decoder(dev); in dpa_size_store() local
254 rc = cxl_dpa_free(cxled); in dpa_size_store()
[all …]
/openbmc/linux/drivers/cxl/
H A Dport.c35 struct cxl_endpoint_decoder *cxled; in discover_region() local
41 cxled = to_cxl_endpoint_decoder(dev); in discover_region()
42 if ((cxled->cxld.flags & CXL_DECODER_F_ENABLE) == 0) in discover_region()
45 if (cxled->state != CXL_DECODER_STATE_AUTO) in discover_region()
52 rc = cxl_add_to_region(root, cxled); in discover_region()
55 cxled->cxld.hpa_range.start, cxled->cxld.hpa_range.end); in discover_region()
H A Dcxlmem.h63 static inline struct cxl_port *cxled_to_port(struct cxl_endpoint_decoder *cxled) in cxled_to_port() argument
65 return to_cxl_port(cxled->cxld.dev.parent); in cxled_to_port()
74 cxled_to_memdev(struct cxl_endpoint_decoder *cxled) in cxled_to_memdev() argument
76 struct cxl_port *port = to_cxl_port(cxled->cxld.dev.parent); in cxled_to_memdev()
93 int devm_cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled,
H A Dcxl.h804 struct cxl_endpoint_decoder *cxled);
816 struct cxl_endpoint_decoder *cxled) in cxl_add_to_region() argument
/openbmc/linux/tools/testing/cxl/test/
H A Dcxl.c738 struct cxl_endpoint_decoder *cxled; in mock_init_hdm_decoder() local
750 cxled = to_cxl_endpoint_decoder(&cxld->dev); in mock_init_hdm_decoder()
751 cxlmd = cxled_to_memdev(cxled); in mock_init_hdm_decoder()
756 port = cxled_to_port(cxled); in mock_init_hdm_decoder()
767 port = cxled_to_port(cxled); in mock_init_hdm_decoder()
793 cxled->state = CXL_DECODER_STATE_AUTO; in mock_init_hdm_decoder()
795 devm_cxl_dpa_reserve(cxled, 0, size / cxld->interleave_ways, 0); in mock_init_hdm_decoder()
878 struct cxl_endpoint_decoder *cxled; in mock_cxl_enumerate_decoders() local
880 cxled = cxl_endpoint_decoder_alloc(port); in mock_cxl_enumerate_decoders()
882 if (IS_ERR(cxled)) { in mock_cxl_enumerate_decoders()
[all …]