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
30 ida_free(&cxl_memdev_ida, cxlmd->id); in cxl_memdev_release()
31 kfree(cxlmd); in cxl_memdev_release()
44 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in firmware_version_show() local
45 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show()
57 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in payload_max_show() local
58 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show()
70 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in label_storage_size_show() local
71 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show()
91 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()
229 sprintf(cxl_nvd->dev_id, "%llu", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
236 struct cxl_memdev *cxlmd = _cxlmd; in cxlmd_release_nvdimm() local
237 struct cxl_nvdimm *cxl_nvd = cxlmd->cxl_nvd; in cxlmd_release_nvdimm()
238 struct cxl_nvdimm_bridge *cxl_nvb = cxlmd->cxl_nvb; in cxlmd_release_nvdimm()
240 cxl_nvd->cxlmd = NULL; in cxlmd_release_nvdimm()
241 cxlmd->cxl_nvd = NULL; in cxlmd_release_nvdimm()
[all …]
H A Dras.c40 static void cxl_cper_trace_corr_prot_err(struct cxl_memdev *cxlmd, in cxl_cper_trace_corr_prot_err() argument
45 trace_cxl_aer_correctable_error(cxlmd, status); in cxl_cper_trace_corr_prot_err()
49 cxl_cper_trace_uncorr_prot_err(struct cxl_memdev *cxlmd, in cxl_cper_trace_uncorr_prot_err() argument
70 trace_cxl_aer_uncorrectable_error(cxlmd, status, fe, hl); in cxl_cper_trace_uncorr_prot_err()
88 struct cxl_memdev *cxlmd; in cxl_cper_handle_prot_err() local
115 cxlmd = to_cxl_memdev(mem_dev); in cxl_cper_handle_prot_err()
117 cxl_cper_trace_corr_prot_err(cxlmd, data->ras_cap); in cxl_cper_handle_prot_err()
119 cxl_cper_trace_uncorr_prot_err(cxlmd, data->ras_cap); in cxl_cper_handle_prot_err()
271 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_cor_error_detected() local
272 struct device *dev = &cxlds->cxlmd->dev; in cxl_cor_error_detected()
[all …]
H A Dtrace.h84 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status, u32 fe, u32 *hl),
85 TP_ARGS(cxlmd, status, fe, hl),
87 __string(memdev, dev_name(&cxlmd->dev))
88 __string(host, dev_name(cxlmd->dev.parent))
97 __entry->serial = cxlmd->cxlds->serial;
155 TP_PROTO(const struct cxl_memdev *cxlmd, u32 status),
156 TP_ARGS(cxlmd, status),
158 __string(memdev, dev_name(&cxlmd->dev))
159 __string(host, dev_name(cxlmd->dev.parent))
166 __entry->serial = cxlmd->cxlds->serial;
[all …]
H A Dregion.c264 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_reset() local
266 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset()
275 for (ep = cxl_ep_load(iter, cxlmd); iter; in cxl_region_decode_reset()
276 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_reset()
319 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_commit() local
337 for (ep = cxl_ep_load(iter, cxlmd); ep && iter; in cxl_region_decode_commit()
338 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_commit()
1154 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_setup_flags() local
1161 if (cxlmd->attach) in cxl_region_setup_flags()
1202 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_port_attach_region() local
[all …]
H A Dmbox.c898 void cxl_event_trace_record(struct cxl_memdev *cxlmd, in cxl_event_trace_record() argument
904 trace_cxl_memory_module(cxlmd, type, &evt->mem_module); in cxl_event_trace_record()
908 trace_cxl_generic_event(cxlmd, type, uuid, &evt->generic); in cxl_event_trace_record()
912 trace_cxl_memory_sparing(cxlmd, type, &evt->mem_sparing); in cxl_event_trace_record()
925 guard(device)(&cxlmd->dev); in cxl_event_trace_record()
930 cxlr = cxl_dpa_to_region(cxlmd, dpa); in cxl_event_trace_record()
934 hpa = cxl_dpa_to_hpa(cxlr, cxlmd, dpa); in cxl_event_trace_record()
940 if (cxl_store_rec_gen_media((struct cxl_memdev *)cxlmd, evt)) in cxl_event_trace_record()
941 dev_dbg(&cxlmd->dev, "CXL store rec_gen_media failed\n"); in cxl_event_trace_record()
952 trace_cxl_general_media(cxlmd, type, cxlr, hpa, in cxl_event_trace_record()
[all …]
H A Dport.c201 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in mode_show() local
202 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mode_show()
847 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in cxl_port_add() local
848 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_add()
861 cxlmd->endpoint = port; in cxl_port_add()
1432 struct cxl_memdev *cxlmd = data; in delete_endpoint() local
1433 struct cxl_port *endpoint = cxlmd->endpoint; in delete_endpoint()
1442 cxlmd->endpoint = NULL; in delete_endpoint()
1448 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint) in cxl_endpoint_autoremove() argument
1451 struct device *dev = &cxlmd->dev; in cxl_endpoint_autoremove()
[all …]
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,
59 const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_hpa() argument
64 struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa) in cxl_dpa_to_region() argument
153 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.c133 cxl_handle_cor_ras(&cxlds->cxlmd->dev, dport->regs.ras); in cxl_handle_rdport_errors()
135 cxl_handle_ras(&cxlds->cxlmd->dev, dport->regs.ras); in cxl_handle_rdport_errors()
H A Dfeatures.c658 struct cxl_memdev *cxlmd = fwctl_to_memdev(fwctl_dev); in cxlctl_fw_rpc() local
659 struct cxl_features_state *cxlfs = to_cxlfs(cxlmd->cxlds); in cxlctl_fw_rpc()
693 int devm_cxl_setup_fwctl(struct device *host, struct cxl_memdev *cxlmd) in devm_cxl_setup_fwctl() argument
695 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_setup_fwctl()
708 _fwctl_alloc_device(&cxlmd->dev, &cxlctl_ops, sizeof(*fwctl_dev)); in devm_cxl_setup_fwctl()
H A Dpci.c571 struct cxl_memdev *cxlmd; in read_cdat_data() local
579 cxlmd = to_cxl_memdev(uport); in read_cdat_data()
580 host = cxlmd->dev.parent; in read_cdat_data()
/linux/drivers/cxl/
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.h101 int (*probe)(struct cxl_memdev *cxlmd);
119 int cxl_memdev_attach_region(struct cxl_memdev *cxlmd);
121 static inline int cxl_memdev_attach_region(struct cxl_memdev *cxlmd) in cxl_memdev_attach_region() argument
131 struct cxl_memdev *cxlmd);
150 struct cxl_memdev *cxlmd) in cxl_ep_load() argument
155 return xa_load(&port->endpoints, (unsigned long)&cxlmd->dev); in cxl_ep_load()
805 void cxl_event_trace_record(struct cxl_memdev *cxlmd,
813 int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len,
815 int cxl_trigger_poison_list(struct cxl_memdev *cxlmd);
816 int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa);
[all …]
H A Dpci.c705 struct cxl_memdev *cxlmd = cxlds->cxlmd; in rcd_pcie_cap_emit() local
709 cxl_mem_find_port(cxlmd, &dport); in rcd_pcie_cap_emit()
789 struct cxl_memdev *cxlmd; in cxl_pci_probe() local
879 cxlmd = devm_cxl_add_classdev(cxlds); in cxl_pci_probe()
880 if (IS_ERR(cxlmd)) in cxl_pci_probe()
881 return PTR_ERR(cxlmd); in cxl_pci_probe()
887 rc = devm_cxl_sanitize_setup_notifier(&pdev->dev, cxlmd); in cxl_pci_probe()
891 rc = devm_cxl_setup_fwctl(&pdev->dev, cxlmd); in cxl_pci_probe()
914 rc = devm_cxl_pmu_add(cxlds->dev, &pmu_regs, cxlmd->id, i, CXL_PMU_MEMDEV); in cxl_pci_probe()
940 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_slot_reset() local
[all …]
H A Dcxl.h517 struct cxl_memdev *cxlmd; member
524 struct cxl_memdev *cxlmd; member
737 int devm_cxl_add_endpoint(struct device *host, struct cxl_memdev *cxlmd,
747 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd);
752 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd,
754 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd);
790 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint);
868 struct cxl_memdev *cxlmd);
909 void cxl_memdev_update_perf(struct cxl_memdev *cxlmd);
/linux/tools/testing/cxl/test/
H A Daccel.c13 struct cxl_memdev *cxlmd; member
21 struct cxl_memdev *cxlmd; in cxl_mock_accel_probe() local
38 cxlmd = devm_cxl_probe_mem(cxlds, &mock_range); in cxl_mock_accel_probe()
39 if (IS_ERR(cxlmd)) in cxl_mock_accel_probe()
40 return PTR_ERR(cxlmd); in cxl_mock_accel_probe()
41 cxl_accel->cxlmd = cxlmd; in cxl_mock_accel_probe()
H A Dmock.c227 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in __wrap_devm_cxl_add_rch_dport()
229 if (ops && ops->is_mock_dev(cxlmd->dev.parent)) in __wrap_devm_cxl_add_rch_dport()
238 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); __wrap_cxl_endpoint_parse_cdat() local
/linux/drivers/net/ethernet/sfc/
H A Defx_cxl.c77 cxl->cxlmd = devm_cxl_probe_mem(&cxl->cxlds, &cxl_pio_range); in efx_cxl_init()
78 if (IS_ERR(cxl->cxlmd)) { in efx_cxl_init()
80 return PTR_ERR(cxl->cxlmd); in efx_cxl_init()
H A Defx_cxl.h22 struct cxl_memdev *cxlmd; member
/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
H A Dcxl.h177 struct cxl_memdev *cxlmd; member

12