Home
last modified time | relevance | path

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

/linux-6.15/drivers/cxl/core/
H A Dmemdev.c30 kfree(cxlmd); in cxl_memdev_release()
629 cxlmd = container_of(work, typeof(*cxlmd), detach_work); in detach_memdev()
644 cxlmd = kzalloc(sizeof(*cxlmd), GFP_KERNEL); in cxl_memdev_alloc()
645 if (!cxlmd) in cxl_memdev_alloc()
666 return cxlmd; in cxl_memdev_alloc()
669 kfree(cxlmd); in cxl_memdev_alloc()
839 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_fw_do_cancel() local
881 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_fw_write() local
1049 return cxlmd; in devm_cxl_add_memdev()
1061 cxlds->cxlmd = cxlmd; in devm_cxl_add_memdev()
[all …]
H A Dpmem.c206 cxl_nvd->cxlmd = cxlmd; in cxl_nvdimm_alloc()
207 cxlmd->cxl_nvd = cxl_nvd; in cxl_nvdimm_alloc()
211 dev->parent = &cxlmd->dev; in cxl_nvdimm_alloc()
231 cxl_nvd->cxlmd = NULL; in cxlmd_release_nvdimm()
232 cxlmd->cxl_nvd = NULL; in cxlmd_release_nvdimm()
233 cxlmd->cxl_nvb = NULL; in cxlmd_release_nvdimm()
246 struct cxl_memdev *cxlmd) in devm_cxl_add_nvdimm() argument
262 cxlmd->cxl_nvb = cxl_nvb; in devm_cxl_add_nvdimm()
276 return devm_add_action_or_reset(&cxlmd->dev, cxlmd_release_nvdimm, cxlmd); in devm_cxl_add_nvdimm()
281 cxlmd->cxl_nvb = NULL; in devm_cxl_add_nvdimm()
[all …]
H A Dtrace.h81 TP_ARGS(cxlmd, status, fe, hl),
83 __string(memdev, dev_name(&cxlmd->dev))
93 __entry->serial = cxlmd->cxlds->serial;
148 TP_ARGS(cxlmd, status),
150 __string(memdev, dev_name(&cxlmd->dev))
158 __entry->serial = cxlmd->cxlds->serial;
179 TP_ARGS(cxlmd, log, payload),
182 __string(memdev, dev_name(&cxlmd->dev))
194 __entry->serial = cxlmd->cxlds->serial;
282 TP_ARGS(cxlmd, log, uuid, gen_rec),
[all …]
H A Dregion.c1542 struct cxl_memdev *cxlmd; in cxl_region_teardown_targets() local
1557 cxlds = cxlmd->cxlds; in cxl_region_teardown_targets()
1578 struct cxl_memdev *cxlmd; in cxl_region_setup_targets() local
1585 cxlds = cxlmd->cxlds; in cxl_region_setup_targets()
1875 dev_dbg(&cxlmd->dev, in cxl_calc_interleave_pos()
2668 struct cxl_memdev *cxlmd = cxlr_pmem->mapping[i].cxlmd; in cxl_pmem_region_release() local
2670 put_device(&cxlmd->dev); in cxl_pmem_region_release()
2751 struct cxl_memdev *cxlmd; in poison_by_decoder() local
2763 cxlds = cxlmd->cxlds; in poison_by_decoder()
2860 port = cxlmd->endpoint; in cxl_dpa_to_region()
[all …]
H A Dport.c859 cxlmd->endpoint = port; in cxl_port_add()
1414 cxlmd->endpoint = NULL; in delete_endpoint()
1427 cxlmd->depth = endpoint->depth; in cxl_endpoint_autoremove()
1463 struct cxl_memdev *cxlmd; member
1489 .cxlmd = cxlmd, in cxl_detach_ep()
1504 ep = cxl_ep_load(port, cxlmd); in cxl_detach_ep()
1582 dev_warn(&cxlmd->dev, in add_port_attach_ep()
1627 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports()
1630 rc = devm_add_action_or_reset(&cxlmd->dev, cxl_detach_ep, cxlmd); in devm_cxl_enumerate_ports()
1665 dev_dbg(&cxlmd->dev, in devm_cxl_enumerate_ports()
[all …]
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 Dmbox.c916 cxlr = cxl_dpa_to_region(cxlmd, dpa); in cxl_event_trace_record()
920 hpa = cxl_dpa_to_hpa(cxlr, cxlmd, dpa); in cxl_event_trace_record()
926 trace_cxl_general_media(cxlmd, type, cxlr, hpa, in cxl_event_trace_record()
929 trace_cxl_dram(cxlmd, type, cxlr, hpa, hpa_alias, in cxl_event_trace_record()
1027 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_mem_get_records_log() local
1060 __cxl_event_trace_record(cxlmd, type, in cxl_mem_get_records_log()
1064 trace_cxl_overflow(cxlmd, type, payload); in cxl_mem_get_records_log()
1253 int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd) in cxl_mem_sanitize() argument
1259 guard(device)(&cxlmd->dev); in cxl_mem_sanitize()
1260 endpoint = cxlmd->endpoint; in cxl_mem_sanitize()
[all …]
H A Dcore.h32 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa);
33 u64 cxl_dpa_to_hpa(struct cxl_region *cxlr, const struct cxl_memdev *cxlmd,
38 const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_hpa() argument
43 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_region() argument
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()
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()
587 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxled_get_dpa_perf() local
588 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxled_get_dpa_perf()
642 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_endpoint_gather_bandwidth() local
[all …]
H A Dhdm.c262 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_release() local
264 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release()
356 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_reserve() local
358 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve()
579 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_set_part() local
580 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_set_part()
608 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_alloc() local
609 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_alloc()
795 to_cxl_memdev_state(cxlmd->cxlds); in cxl_decoder_commit()
798 dev_dbg(&cxlmd->dev, in cxl_decoder_commit()
[all …]
H A Dpci.c588 struct cxl_memdev *cxlmd; in read_cdat_data() local
596 cxlmd = to_cxl_memdev(uport); in read_cdat_data()
597 host = cxlmd->dev.parent; in read_cdat_data()
666 trace_cxl_aer_correctable_error(cxlds->cxlmd, status); in __cxl_handle_cor_ras()
724 trace_cxl_aer_uncorrectable_error(cxlds->cxlmd, status, fe, hl); in __cxl_handle_ras()
903 struct device *dev = &cxlds->cxlmd->dev; in cxl_cor_error_detected()
925 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_detected() local
926 struct device *dev = &cxlmd->dev; in cxl_error_detected()
H A Dras.c44 trace_cxl_aer_correctable_error(cxlds->cxlmd, status); in cxl_cper_trace_corr_prot_err()
64 trace_cxl_aer_uncorrectable_error(cxlds->cxlmd, status, fe, in cxl_cper_trace_uncorr_prot_err()
H A Dfeatures.c651 struct cxl_memdev *cxlmd = fwctl_to_memdev(fwctl_dev); in cxlctl_fw_rpc() local
652 struct cxl_features_state *cxlfs = to_cxlfs(cxlmd->cxlds); in cxlctl_fw_rpc()
680 int devm_cxl_setup_fwctl(struct device *host, struct cxl_memdev *cxlmd) in devm_cxl_setup_fwctl() argument
682 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_setup_fwctl()
695 _fwctl_alloc_device(&cxlmd->dev, &cxlctl_ops, sizeof(*fwctl_dev)); in devm_cxl_setup_fwctl()
/linux-6.15/drivers/cxl/
H A Dmem.c43 cxl_dpa_debug(file, cxlmd->cxlds); in cxl_mem_dpa_show()
63 ep = cxl_ep_load(iter, cxlmd); in devm_cxl_add_endpoint()
78 dev_err(&cxlmd->dev, "%s failed probe\n", in devm_cxl_add_endpoint()
88 struct cxl_memdev *cxlmd = data; in cxl_debugfs_poison_inject() local
90 return cxl_inject_poison(cxlmd, dpa); in cxl_debugfs_poison_inject()
98 struct cxl_memdev *cxlmd = data; in cxl_debugfs_poison_clear() local
100 return cxl_clear_poison(cxlmd, dpa); in cxl_debugfs_poison_clear()
110 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_mem_probe()
127 if (work_pending(&cxlmd->detach_work)) in cxl_mem_probe()
144 rc = devm_cxl_enumerate_ports(cxlmd); 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()
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
148 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_unlock()
[all …]
H A Dpmem.c39 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show()
92 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_nvdimm_arm_dirty_shutdown_tracking() local
93 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_nvdimm_arm_dirty_shutdown_tracking()
125 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_nvdimm_probe() local
268 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; in cxl_pmem_nvdimm_ctl() local
312 if (cxl_nvd->cxlmd && cxl_nvd->cxlmd->cxl_nvb == data) in detach_nvdimm()
435 struct cxl_memdev *cxlmd = m->cxlmd; in cxl_pmem_region_probe() local
436 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_pmem_region_probe()
438 cxl_nvd = cxlmd->cxl_nvd; in cxl_pmem_region_probe()
442 dev_name(&cxlmd->dev)); 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()
95 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in cxl_endpoint_port_probe() local
96 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_endpoint_port_probe()
116 get_device(&cxlmd->dev); in cxl_endpoint_port_probe()
117 rc = devm_add_action_or_reset(&port->dev, schedule_detach, cxlmd); in cxl_endpoint_port_probe()
H A Dpci.c826 struct cxl_memdev *cxlmd = cxlds->cxlmd; in rcd_pcie_cap_emit() local
910 struct cxl_memdev *cxlmd; in cxl_pci_probe() local
1010 if (IS_ERR(cxlmd)) in cxl_pci_probe()
1011 return PTR_ERR(cxlmd); in cxl_pci_probe()
1073 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_slot_reset() local
1074 struct device *dev = &cxlmd->dev; in cxl_slot_reset()
1087 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_resume() local
1088 struct device *dev = &cxlmd->dev; in cxl_error_resume()
1097 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_reset_done() local
1106 guard(device)(&cxlmd->dev); in cxl_reset_done()
[all …]
H A Dcxlmem.h93 struct cxl_memdev *cxlmd);
114 struct cxl_memdev *cxlmd) in cxl_ep_load() argument
119 return xa_load(&port->endpoints, (unsigned long)&cxlmd->dev); in cxl_ep_load()
424 struct cxl_memdev *cxlmd; member
842 void cxl_event_trace_record(const struct cxl_memdev *cxlmd,
850 int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len,
852 int cxl_trigger_poison_list(struct cxl_memdev *cxlmd);
853 int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa);
854 int cxl_clear_poison(struct cxl_memdev *cxlmd, u64 dpa);
868 int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd);
H A Dcxl.h545 struct cxl_memdev *cxlmd; member
551 struct cxl_memdev *cxlmd; member
743 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd);
748 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd,
750 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd);
787 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint);
853 int devm_cxl_add_nvdimm(struct cxl_port *parent_port, struct cxl_memdev *cxlmd);
897 void cxl_memdev_update_perf(struct cxl_memdev *cxlmd);
/linux-6.15/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-6.15/tools/testing/cxl/test/
H A Dcxl.c748 struct cxl_memdev *cxlmd; in mock_init_hdm_decoder() local
757 cxlmd = cxled_to_memdev(cxled); in mock_init_hdm_decoder()
758 WARN_ON(!dev_is_platform(cxlmd->dev.parent)); in mock_init_hdm_decoder()
759 pdev = to_platform_device(cxlmd->dev.parent); in mock_init_hdm_decoder()
1001 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in mock_cxl_endpoint_parse_cdat() local
1002 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mock_cxl_endpoint_parse_cdat()
1019 cxl_memdev_update_perf(cxlmd); in mock_cxl_endpoint_parse_cdat()
H A Dmock.c292 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in __wrap_cxl_endpoint_parse_cdat() local
294 if (ops && ops->is_mock_dev(cxlmd->dev.parent)) in __wrap_cxl_endpoint_parse_cdat()
H A Dmem.c1691 struct cxl_memdev *cxlmd; in cxl_mock_mem_probe() local
1771 cxlmd = devm_cxl_add_memdev(&pdev->dev, cxlds); in cxl_mock_mem_probe()
1772 if (IS_ERR(cxlmd)) in cxl_mock_mem_probe()
1773 return PTR_ERR(cxlmd); in cxl_mock_mem_probe()
1779 rc = devm_cxl_sanitize_setup_notifier(&pdev->dev, cxlmd); in cxl_mock_mem_probe()
1783 rc = devm_cxl_setup_fwctl(&pdev->dev, cxlmd); in cxl_mock_mem_probe()