Home
last modified time | relevance | path

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

12

/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()
89 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in ram_size_show() local
[all …]
H A Dedac.c36 struct cxl_memdev *cxlmd; member
107 struct cxl_memdev *cxlmd; in cxl_scrub_get_attrbs() local
113 cxl_mbox = &cxl_ps_ctx->cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs()
128 cxlmd = cxled_to_memdev(cxled); in cxl_scrub_get_attrbs()
129 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs()
156 struct cxl_memdev *cxlmd; in cxl_scrub_set_attrbs_region() local
172 cxlmd = cxled_to_memdev(cxled); in cxl_scrub_set_attrbs_region()
173 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_set_attrbs_region()
182 if (cycle != cxlmd->scrub_cycle) { in cxl_scrub_set_attrbs_region()
183 if (cxlmd->scrub_region_id != CXL_SCRUB_NO_REGION) in cxl_scrub_set_attrbs_region()
[all …]
H A Dpmem.c203 struct cxl_memdev *cxlmd) in cxl_nvdimm_alloc() argument
213 cxl_nvd->cxlmd = cxlmd; in cxl_nvdimm_alloc()
214 cxlmd->cxl_nvd = cxl_nvd; in cxl_nvdimm_alloc()
218 dev->parent = &cxlmd->dev; in cxl_nvdimm_alloc()
227 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
234 struct cxl_memdev *cxlmd = _cxlmd; in cxlmd_release_nvdimm() local
235 struct cxl_nvdimm *cxl_nvd = cxlmd->cxl_nvd; in cxlmd_release_nvdimm()
236 struct cxl_nvdimm_bridge *cxl_nvb = cxlmd->cxl_nvb; in cxlmd_release_nvdimm()
238 cxl_nvd->cxlmd = NULL; in cxlmd_release_nvdimm()
239 cxlmd->cxl_nvd = NULL; in cxlmd_release_nvdimm()
[all …]
H A Dras.c35 static void cxl_cper_trace_corr_prot_err(struct cxl_memdev *cxlmd, in cxl_cper_trace_corr_prot_err() argument
40 trace_cxl_aer_correctable_error(cxlmd, status); in cxl_cper_trace_corr_prot_err()
44 cxl_cper_trace_uncorr_prot_err(struct cxl_memdev *cxlmd, in cxl_cper_trace_uncorr_prot_err() argument
56 trace_cxl_aer_uncorrectable_error(cxlmd, status, fe, in cxl_cper_trace_uncorr_prot_err()
75 struct cxl_memdev *cxlmd; in cxl_cper_handle_prot_err() local
102 cxlmd = to_cxl_memdev(mem_dev); in cxl_cper_handle_prot_err()
104 cxl_cper_trace_corr_prot_err(cxlmd, data->ras_cap); in cxl_cper_handle_prot_err()
106 cxl_cper_trace_uncorr_prot_err(cxlmd, data->ras_cap); in cxl_cper_handle_prot_err()
259 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_cor_error_detected() local
260 struct device *dev = &cxlds->cxlmd->dev; in cxl_cor_error_detected()
[all …]
H A Dtrace.h80 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status, u32 fe, u32 *hl),
81 TP_ARGS(cxlmd, status, fe, hl),
83 __string(memdev, dev_name(&cxlmd->dev))
84 __string(host, dev_name(cxlmd->dev.parent))
93 __entry->serial = cxlmd->cxlds->serial;
147 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status),
148 TP_ARGS(cxlmd, status),
150 __string(memdev, dev_name(&cxlmd->dev))
151 __string(host, dev_name(cxlmd->dev.parent))
158 __entry->serial = cxlmd->cxlds->serial;
[all …]
H A Dregion.c263 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_reset() local
265 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset()
274 for (ep = cxl_ep_load(iter, cxlmd); iter; in cxl_region_decode_reset()
275 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_reset()
318 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_commit() local
336 for (ep = cxl_ep_load(iter, cxlmd); ep && iter; in cxl_region_decode_commit()
337 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_commit()
1140 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_port_attach_region() local
1141 struct cxl_ep *ep = cxl_ep_load(port, cxlmd); in cxl_port_attach_region()
1215 dev_name(&cxld->dev), dev_name(&cxlmd->dev), in cxl_port_attach_region()
[all …]
H A Dmbox.c896 void cxl_event_trace_record(const struct cxl_memdev *cxlmd, in cxl_event_trace_record() argument
902 trace_cxl_memory_module(cxlmd, type, &evt->mem_module); in cxl_event_trace_record()
906 trace_cxl_generic_event(cxlmd, type, uuid, &evt->generic); in cxl_event_trace_record()
910 trace_cxl_memory_sparing(cxlmd, type, &evt->mem_sparing); in cxl_event_trace_record()
927 cxlr = cxl_dpa_to_region(cxlmd, dpa); in cxl_event_trace_record()
931 hpa = cxl_dpa_to_hpa(cxlr, cxlmd, dpa); in cxl_event_trace_record()
937 if (cxl_store_rec_gen_media((struct cxl_memdev *)cxlmd, evt)) in cxl_event_trace_record()
938 dev_dbg(&cxlmd->dev, "CXL store rec_gen_media failed\n"); in cxl_event_trace_record()
949 trace_cxl_general_media(cxlmd, type, cxlr, hpa, in cxl_event_trace_record()
952 if (cxl_store_rec_dram((struct cxl_memdev *)cxlmd, evt)) in cxl_event_trace_record()
[all …]
H A Dport.c200 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in mode_show() local
201 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mode_show()
844 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in cxl_port_add() local
845 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_add()
858 cxlmd->endpoint = port; in cxl_port_add()
1422 struct cxl_memdev *cxlmd = data; in delete_endpoint() local
1423 struct cxl_port *endpoint = cxlmd->endpoint; in delete_endpoint()
1432 cxlmd->endpoint = NULL; in delete_endpoint()
1438 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint) in cxl_endpoint_autoremove() argument
1441 struct device *dev = &cxlmd->dev; in cxl_endpoint_autoremove()
[all …]
H A Datl.c65 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_prm_setup_root() local
89 if (!cxlmd || !dev_is_pci(cxlmd->dev.parent)) { in cxl_prm_setup_root()
96 pci_dev = to_pci_dev(cxlmd->dev.parent); in cxl_prm_setup_root()
184 dev_name(cxlmd->dev.parent), base, len, hpa_range.start, in cxl_prm_setup_root()
H A Dmce.c15 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_handle_mce() local
16 struct cxl_port *endpoint = cxlmd->endpoint; in cxl_handle_mce()
H A Dcore.h50 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa);
51 u64 cxl_dpa_to_hpa(struct cxl_region *cxlr, const struct cxl_memdev *cxlmd,
56 const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_hpa() argument
61 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_region() argument
147 bool cxl_memdev_has_poison_cmd(struct cxl_memdev *cxlmd,
H A Dcdat.c348 static void cxl_qos_class_verify(struct cxl_memdev *cxlmd) in cxl_qos_class_verify() argument
350 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_qos_class_verify()
354 find_cxl_root(cxlmd->endpoint); in cxl_qos_class_verify()
372 cxlmd->endpoint->host_bridge, in cxl_qos_class_verify()
405 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in DEFINE_FREE() local
406 struct cxl_dev_state *cxlds = cxlmd->cxlds; in DEFINE_FREE()
428 cxl_qos_class_verify(cxlmd); in DEFINE_FREE()
429 cxl_memdev_update_perf(cxlmd); in DEFINE_FREE()
584 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxled_get_dpa_perf() local
585 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxled_get_dpa_perf()
[all …]
H A Dhdm.c249 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_release() local
251 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release()
343 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_reserve() local
345 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve()
572 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_set_part() local
573 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_set_part()
601 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_alloc() local
602 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_alloc()
825 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_decoder_commit() local
827 to_cxl_memdev_state(cxlmd->cxlds); in cxl_decoder_commit()
[all …]
H A Dras_rch.c118 cxl_handle_cor_ras(&cxlds->cxlmd->dev, dport->regs.ras); in cxl_handle_rdport_errors()
120 cxl_handle_ras(&cxlds->cxlmd->dev, dport->regs.ras); in cxl_handle_rdport_errors()
H A Dfeatures.c649 struct cxl_memdev *cxlmd = fwctl_to_memdev(fwctl_dev); in cxlctl_fw_rpc() local
650 struct cxl_features_state *cxlfs = to_cxlfs(cxlmd->cxlds); in cxlctl_fw_rpc()
678 int devm_cxl_setup_fwctl(struct device *host, struct cxl_memdev *cxlmd) in devm_cxl_setup_fwctl() argument
680 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_setup_fwctl()
693 _fwctl_alloc_device(&cxlmd->dev, &cxlctl_ops, sizeof(*fwctl_dev)); in devm_cxl_setup_fwctl()
/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()
50 struct cxl_memdev *cxlmd = data; in cxl_debugfs_poison_inject() local
52 return cxl_inject_poison(cxlmd, dpa); in cxl_debugfs_poison_inject()
60 struct cxl_memdev *cxlmd = data; in cxl_debugfs_poison_clear() local
62 return cxl_clear_poison(cxlmd, dpa); in cxl_debugfs_poison_clear()
70 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in cxl_mem_probe() local
71 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_mem_probe()
72 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_mem_probe()
89 if (work_pending(&cxlmd->detach_work)) in cxl_mem_probe()
[all …]
H A Dsecurity.c16 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_get_security_flags() local
17 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_get_security_flags()
18 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_get_security_flags()
73 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_change_key() local
74 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_change_key()
99 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in __cxl_pmem_security_disable() local
100 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in __cxl_pmem_security_disable()
134 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_freeze() local
135 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_freeze()
147 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_security_unlock() local
[all …]
H A Dpmem.c53 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show()
106 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_nvdimm_arm_dirty_shutdown_tracking() local
107 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_nvdimm_arm_dirty_shutdown_tracking()
139 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_nvdimm_probe() local
140 struct cxl_nvdimm_bridge *cxl_nvb = cxlmd->cxl_nvb; in cxl_nvdimm_probe()
141 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_nvdimm_probe()
285 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_nvdimm_ctl() local
286 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_nvdimm_ctl()
329 if (cxl_nvd->cxlmd && cxl_nvd->cxlmd->cxl_nvb == data) { in detach_nvdimm()
455 struct cxl_memdev *cxlmd = m->cxlmd; in cxl_pmem_region_probe() local
[all …]
H A Dcxlmem.h38 int (*probe)(struct cxl_memdev *cxlmd);
109 struct cxl_memdev *cxlmd);
130 struct cxl_memdev *cxlmd) in cxl_ep_load() argument
135 return xa_load(&port->endpoints, (unsigned long)&cxlmd->dev); in cxl_ep_load()
440 struct cxl_memdev *cxlmd; member
867 void cxl_event_trace_record(const struct cxl_memdev *cxlmd,
875 int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len,
877 int cxl_trigger_poison_list(struct cxl_memdev *cxlmd);
878 int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa);
879 int cxl_clear_poison(struct cxl_memdev *cxlmd, u64 dpa);
[all …]
H A Dport.c29 static void schedule_detach(void *cxlmd) in schedule_detach() argument
31 schedule_cxl_memdev_detach(cxlmd); in schedule_detach()
123 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in cxl_endpoint_port_probe() local
131 get_device(&cxlmd->dev); in cxl_endpoint_port_probe()
132 rc = devm_add_action_or_reset(&port->dev, schedule_detach, cxlmd); in cxl_endpoint_port_probe()
286 int devm_cxl_add_endpoint(struct device *host, struct cxl_memdev *cxlmd, in devm_cxl_add_endpoint() argument
301 ep = cxl_ep_load(iter, cxlmd); in devm_cxl_add_endpoint()
306 endpoint = devm_cxl_add_port(host, &cxlmd->dev, CXL_RESOURCE_NONE, in devm_cxl_add_endpoint()
311 rc = cxl_endpoint_autoremove(cxlmd, endpoint); in devm_cxl_add_endpoint()
316 dev_err(&cxlmd->dev, "%s failed probe\n", in devm_cxl_add_endpoint()
H A Dpci.c780 struct cxl_memdev *cxlmd = cxlds->cxlmd; in rcd_pcie_cap_emit() local
784 cxl_mem_find_port(cxlmd, &dport); in rcd_pcie_cap_emit()
864 struct cxl_memdev *cxlmd; in cxl_pci_probe() local
951 cxlmd = devm_cxl_add_memdev(cxlds, NULL); in cxl_pci_probe()
952 if (IS_ERR(cxlmd)) in cxl_pci_probe()
953 return PTR_ERR(cxlmd); in cxl_pci_probe()
959 rc = devm_cxl_sanitize_setup_notifier(&pdev->dev, cxlmd); in cxl_pci_probe()
963 rc = devm_cxl_setup_fwctl(&pdev->dev, cxlmd); in cxl_pci_probe()
986 rc = devm_cxl_pmu_add(cxlds->dev, &pmu_regs, cxlmd->id, i, CXL_PMU_MEMDEV); in cxl_pci_probe()
1012 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_slot_reset() local
[all …]
H A Dcxl.h583 struct cxl_memdev *cxlmd; member
590 struct cxl_memdev *cxlmd; member
803 int devm_cxl_add_endpoint(struct device *host, struct cxl_memdev *cxlmd,
812 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd);
817 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd,
819 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd);
855 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint);
933 struct cxl_memdev *cxlmd);
975 void cxl_memdev_update_perf(struct cxl_memdev *cxlmd);
/linux/include/cxl/
H A Dfeatures.h69 int devm_cxl_setup_fwctl(struct device *host, struct cxl_memdev *cxlmd);
82 struct cxl_memdev *cxlmd) in devm_cxl_setup_fwctl() argument
/linux/tools/testing/cxl/test/
H A Dmock.c227 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in __wrap_cxl_endpoint_parse_cdat() local
229 if (ops && ops->is_mock_dev(cxlmd->dev.parent)) in __wrap_cxl_endpoint_parse_cdat()
H A Dcxl.c781 struct cxl_memdev *cxlmd; in mock_init_hdm_decoder() local
790 cxlmd = cxled_to_memdev(cxled); in mock_init_hdm_decoder()
791 WARN_ON(!dev_is_platform(cxlmd->dev.parent)); in mock_init_hdm_decoder()
792 pdev = to_platform_device(cxlmd->dev.parent); in mock_init_hdm_decoder()
1090 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in mock_cxl_endpoint_parse_cdat() local
1091 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mock_cxl_endpoint_parse_cdat()
1108 cxl_memdev_update_perf(cxlmd); in mock_cxl_endpoint_parse_cdat()

12