Home
last modified time | relevance | path

Searched refs:cxlmd (Results 1 – 19 of 19) sorted by relevance

/openbmc/linux/drivers/cxl/core/
H A Dmemdev.c27 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in cxl_memdev_release() local
29 ida_free(&cxl_memdev_ida, cxlmd->id); in cxl_memdev_release()
30 kfree(cxlmd); in cxl_memdev_release()
42 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in firmware_version_show() local
43 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show()
55 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in payload_max_show() local
56 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show()
68 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in label_storage_size_show() local
69 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show()
81 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in ram_size_show() local
[all …]
H A Dpmem.c65 struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_memdev *cxlmd) in cxl_find_nvdimm_bridge() argument
67 struct cxl_port *port = find_cxl_root(cxlmd->endpoint); in cxl_find_nvdimm_bridge()
201 struct cxl_memdev *cxlmd) in cxl_nvdimm_alloc() argument
211 cxl_nvd->cxlmd = cxlmd; in cxl_nvdimm_alloc()
212 cxlmd->cxl_nvd = cxl_nvd; in cxl_nvdimm_alloc()
216 dev->parent = &cxlmd->dev; in cxl_nvdimm_alloc()
225 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
232 struct cxl_memdev *cxlmd = _cxlmd; in cxlmd_release_nvdimm() local
233 struct cxl_nvdimm *cxl_nvd = cxlmd->cxl_nvd; in cxlmd_release_nvdimm()
234 struct cxl_nvdimm_bridge *cxl_nvb = cxlmd->cxl_nvb; in cxlmd_release_nvdimm()
[all …]
H A Dtrace.h52 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status, u32 fe, u32 *hl),
53 TP_ARGS(cxlmd, status, fe, hl),
55 __string(memdev, dev_name(&cxlmd->dev))
56 __string(host, dev_name(cxlmd->dev.parent))
63 __assign_str(memdev, dev_name(&cxlmd->dev));
64 __assign_str(host, dev_name(cxlmd->dev.parent));
65 __entry->serial = cxlmd->cxlds->serial;
100 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status),
101 TP_ARGS(cxlmd, status),
103 __string(memdev, dev_name(&cxlmd->dev))
[all …]
H A Dregion.c155 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_reset() local
157 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset()
166 for (ep = cxl_ep_load(iter, cxlmd); iter; in cxl_region_decode_reset()
167 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_reset()
210 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_commit() local
228 for (ep = cxl_ep_load(iter, cxlmd); ep && iter; in cxl_region_decode_commit()
229 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_commit()
930 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_port_attach_region() local
931 struct cxl_ep *ep = cxl_ep_load(port, cxlmd); in cxl_port_attach_region()
996 dev_name(&cxld->dev), dev_name(&cxlmd->dev), in cxl_port_attach_region()
[all …]
H A Dmbox.c513 int cxl_query_cmd(struct cxl_memdev *cxlmd, in cxl_query_cmd() argument
516 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_query_cmd()
517 struct device *dev = &cxlmd->dev; in cxl_query_cmd()
618 int cxl_send_cmd(struct cxl_memdev *cxlmd, struct cxl_send_command __user *s) in cxl_send_cmd() argument
620 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_send_cmd()
621 struct device *dev = &cxlmd->dev; in cxl_send_cmd()
863 static void cxl_event_trace_record(const struct cxl_memdev *cxlmd, in cxl_event_trace_record() argument
873 trace_cxl_general_media(cxlmd, type, rec); in cxl_event_trace_record()
877 trace_cxl_dram(cxlmd, type, rec); in cxl_event_trace_record()
882 trace_cxl_memory_module(cxlmd, type, rec); in cxl_event_trace_record()
[all …]
H A Dport.c1259 struct cxl_memdev *cxlmd = data; in delete_endpoint() local
1260 struct cxl_port *endpoint = cxlmd->endpoint; in delete_endpoint()
1269 cxlmd->endpoint = NULL; in delete_endpoint()
1275 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint) in cxl_endpoint_autoremove() argument
1278 struct device *dev = &cxlmd->dev; in cxl_endpoint_autoremove()
1282 cxlmd->endpoint = endpoint; in cxl_endpoint_autoremove()
1283 cxlmd->depth = endpoint->depth; in cxl_endpoint_autoremove()
1284 return devm_add_action_or_reset(dev, delete_endpoint, cxlmd); in cxl_endpoint_autoremove()
1319 struct cxl_memdev *cxlmd; member
1335 return !!cxl_ep_load(port, ctx->cxlmd); in port_has_memdev()
[all …]
H A Dcore.h30 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa);
34 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_region() argument
61 int cxl_query_cmd(struct cxl_memdev *cxlmd,
63 int cxl_send_cmd(struct cxl_memdev *cxlmd, struct cxl_send_command __user *s);
H A Dtrace.c84 u64 cxl_trace_hpa(struct cxl_region *cxlr, struct cxl_memdev *cxlmd, in cxl_trace_hpa() argument
92 if (cxlmd == cxled_to_memdev(cxled)) in cxl_trace_hpa()
95 if (!cxled || cxlmd != cxled_to_memdev(cxled)) in cxl_trace_hpa()
H A Dhdm.c242 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_release() local
244 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release()
285 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_reserve() local
287 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve()
434 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_set_mode() local
435 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_set_mode()
479 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_alloc() local
482 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_alloc()
665 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_decoder_commit() local
667 to_cxl_memdev_state(cxlmd->cxlds); in cxl_decoder_commit()
[all …]
H A Dpci.c600 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in read_cdat_data() local
601 struct device *host = cxlmd->dev.parent; in read_cdat_data()
656 trace_cxl_aer_correctable_error(cxlds->cxlmd, status); in cxl_cor_error_detected()
709 trace_cxl_aer_uncorrectable_error(cxlds->cxlmd, status, fe, hl); in cxl_report_and_clear()
719 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_detected() local
720 struct device *dev = &cxlmd->dev; in cxl_error_detected()
/openbmc/linux/drivers/cxl/
H A Dmem.c41 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in cxl_mem_dpa_show() local
43 cxl_dpa_debug(file, cxlmd->cxlds); in cxl_mem_dpa_show()
48 static int devm_cxl_add_endpoint(struct device *host, struct cxl_memdev *cxlmd, in devm_cxl_add_endpoint() argument
52 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_add_endpoint()
64 ep = cxl_ep_load(iter, cxlmd); in devm_cxl_add_endpoint()
68 endpoint = devm_cxl_add_port(host, &cxlmd->dev, in devm_cxl_add_endpoint()
74 rc = cxl_endpoint_autoremove(cxlmd, endpoint); in devm_cxl_add_endpoint()
79 dev_err(&cxlmd->dev, "%s failed probe\n", in devm_cxl_add_endpoint()
89 struct cxl_memdev *cxlmd = data; in cxl_debugfs_poison_inject() local
91 return cxl_inject_poison(cxlmd, dpa); in cxl_debugfs_poison_inject()
[all …]
H A Dsecurity.c16 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_get_security_flags() local
17 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_get_security_flags()
72 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_change_key() local
73 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_change_key()
98 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in __cxl_pmem_security_disable() local
99 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in __cxl_pmem_security_disable()
133 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_freeze() local
134 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_freeze()
146 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_unlock() local
147 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_unlock()
[all …]
H A Dpmem.c41 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show()
66 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_nvdimm_probe() local
67 struct cxl_nvdimm_bridge *cxl_nvb = cxlmd->cxl_nvb; in cxl_nvdimm_probe()
68 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_nvdimm_probe()
197 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_nvdimm_ctl() local
198 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_nvdimm_ctl()
243 if (cxl_nvd->cxlmd && cxl_nvd->cxlmd->cxl_nvb == data) in detach_nvdimm()
366 struct cxl_memdev *cxlmd = m->cxlmd; in cxl_pmem_region_probe() local
367 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_pmem_region_probe()
369 cxl_nvd = cxlmd->cxl_nvd; in cxl_pmem_region_probe()
[all …]
H A Dport.c28 static void schedule_detach(void *cxlmd) in schedule_detach() argument
30 schedule_cxl_memdev_detach(cxlmd); in schedule_detach()
90 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in cxl_endpoint_port_probe() local
91 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_endpoint_port_probe()
110 get_device(&cxlmd->dev); in cxl_endpoint_port_probe()
111 rc = devm_add_action_or_reset(&port->dev, schedule_detach, cxlmd); in cxl_endpoint_port_probe()
H A Dpci.c786 struct cxl_memdev *cxlmd; in cxl_pci_probe() local
875 cxlmd = devm_cxl_add_memdev(&pdev->dev, cxlds); in cxl_pci_probe()
876 if (IS_ERR(cxlmd)) in cxl_pci_probe()
877 return PTR_ERR(cxlmd); in cxl_pci_probe()
883 rc = devm_cxl_sanitize_setup_notifier(&pdev->dev, cxlmd); in cxl_pci_probe()
903 rc = devm_cxl_pmu_add(cxlds->dev, &pmu_regs, cxlmd->id, i, CXL_PMU_MEMDEV); in cxl_pci_probe()
932 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_slot_reset() local
933 struct device *dev = &cxlmd->dev; in cxl_slot_reset()
946 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_resume() local
947 struct device *dev = &cxlmd->dev; in cxl_error_resume()
H A Dcxlmem.h90 struct cxl_memdev *cxlmd);
98 struct cxl_memdev *cxlmd) in cxl_ep_load() argument
103 return xa_load(&port->endpoints, (unsigned long)&cxlmd->dev); in cxl_ep_load()
416 struct cxl_memdev *cxlmd; member
871 int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len,
873 int cxl_trigger_poison_list(struct cxl_memdev *cxlmd);
874 int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa);
875 int cxl_clear_poison(struct cxl_memdev *cxlmd, u64 dpa);
889 int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd);
H A Dcxl.h535 struct cxl_memdev *cxlmd; member
540 struct cxl_memdev *cxlmd; member
695 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd);
700 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd,
702 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd);
728 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint);
797 int devm_cxl_add_nvdimm(struct cxl_memdev *cxlmd);
798 struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_memdev *cxlmd);
/openbmc/linux/tools/testing/cxl/test/
H A Dmem.c1388 struct cxl_memdev *cxlmd; in cxl_mock_mem_probe() local
1454 cxlmd = devm_cxl_add_memdev(&pdev->dev, cxlds); in cxl_mock_mem_probe()
1455 if (IS_ERR(cxlmd)) in cxl_mock_mem_probe()
1456 return PTR_ERR(cxlmd); in cxl_mock_mem_probe()
H A Dcxl.c742 struct cxl_memdev *cxlmd; in mock_init_hdm_decoder() local
751 cxlmd = cxled_to_memdev(cxled); in mock_init_hdm_decoder()
752 WARN_ON(!dev_is_platform(cxlmd->dev.parent)); in mock_init_hdm_decoder()
753 pdev = to_platform_device(cxlmd->dev.parent); in mock_init_hdm_decoder()