/kernel/linux/linux-6.6/drivers/cxl/core/ |
H A D | memdev.c | 27 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 in ram_size_show() local 94 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); pmem_size_show() local 107 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); serial_show() local 125 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); security_state_show() local 157 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); security_sanitize_store() local 177 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); security_erase_store() local 193 cxl_get_poison_by_memdev(struct cxl_memdev *cxlmd) cxl_get_poison_by_memdev() argument 221 cxl_trigger_poison_list(struct cxl_memdev *cxlmd) cxl_trigger_poison_list() argument 283 cxl_dpa_to_region(struct cxl_memdev *cxlmd, u64 dpa) cxl_dpa_to_region() argument 298 cxl_validate_poison_dpa(struct cxl_memdev *cxlmd, u64 dpa) cxl_validate_poison_dpa() argument 322 cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa) cxl_inject_poison() argument 377 cxl_clear_poison(struct cxl_memdev *cxlmd, u64 dpa) cxl_clear_poison() argument 494 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); cxl_memdev_security_visible() local 571 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); cxl_memdev_shutdown() local 580 struct cxl_memdev *cxlmd = _cxlmd; cxl_memdev_unregister() local 590 struct cxl_memdev *cxlmd; detach_memdev() local 602 struct cxl_memdev *cxlmd; cxl_memdev_alloc() local 636 __cxl_memdev_ioctl(struct cxl_memdev *cxlmd, unsigned int cmd, unsigned long arg) __cxl_memdev_ioctl() argument 652 struct cxl_memdev *cxlmd = file->private_data; cxl_memdev_ioctl() local 667 struct cxl_memdev *cxlmd = cxl_memdev_open() local 678 struct cxl_memdev *cxlmd = cxl_memdev_release_file() local 798 struct cxl_memdev *cxlmd = cxlds->cxlmd; cxl_fw_do_cancel() local 838 struct cxl_memdev *cxlmd = cxlds->cxlmd; cxl_fw_write() local 998 struct cxl_memdev *cxlmd; devm_cxl_add_memdev() local 1058 devm_cxl_sanitize_setup_notifier(struct device *host, struct cxl_memdev *cxlmd) devm_cxl_sanitize_setup_notifier() argument [all...] |
H A D | pmem.c | 65 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() 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 in cxlmd_release_nvdimm() 200 cxl_nvdimm_alloc(struct cxl_nvdimm_bridge *cxl_nvb, struct cxl_memdev *cxlmd) cxl_nvdimm_alloc() argument 249 devm_cxl_add_nvdimm(struct cxl_memdev *cxlmd) devm_cxl_add_nvdimm() argument [all...] |
H A D | trace.h | 52 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 [all...] |
H A D | region.c | 157 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_reset() local 159 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset() 168 for (ep = cxl_ep_load(iter, cxlmd); iter; in cxl_region_decode_reset() 169 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_reset() 218 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_region_decode_commit() local 236 for (ep = cxl_ep_load(iter, cxlmd); ep && iter; in cxl_region_decode_commit() 237 iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) { in cxl_region_decode_commit() 946 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_port_attach_region() local 947 struct cxl_ep *ep = cxl_ep_load(port, cxlmd); in cxl_port_attach_region() 1004 dev_name(&port->dev), dev_name(&cxlmd in cxl_port_attach_region() 1073 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); check_last_peer() local 1117 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_port_setup_targets() local 1324 struct cxl_memdev *cxlmd; cxl_region_teardown_targets() local 1360 struct cxl_memdev *cxlmd; cxl_region_setup_targets() local 1408 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_region_validate_position() local 1457 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_region_attach_position() local 1606 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_calc_interleave_pos() local 1689 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_region_attach() local 1879 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_region_detach() local 2358 struct cxl_memdev *cxlmd = cxlr_pmem->mapping[i].cxlmd; cxl_pmem_region_release() local 2398 cxl_get_poison_unmapped(struct cxl_memdev *cxlmd, struct cxl_poison_context *ctx) cxl_get_poison_unmapped() argument 2443 struct cxl_memdev *cxlmd; poison_by_decoder() local 2542 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_pmem_region_alloc() local 2806 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); construct_region() local 2888 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); cxl_add_to_region() local [all...] |
H A D | mbox.c | 513 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, typ in cxl_event_trace_record() 959 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; cxl_mem_get_records_log() local 1189 cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd) cxl_mem_sanitize() argument 1307 cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len, struct cxl_region *cxlr) cxl_mem_get_poison() argument [all...] |
H A D | port.c | 1259 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() 1340 struct cxl_memdev *cxlmd = data; cxl_detach_ep() local 1406 add_port_attach_ep(struct cxl_memdev *cxlmd, struct device *uport_dev, struct device *dport_dev) add_port_attach_ep() argument 1474 devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd) devm_cxl_enumerate_ports() argument 1568 cxl_mem_find_port(struct cxl_memdev *cxlmd, struct cxl_dport **dport) cxl_mem_find_port() argument 1993 schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd) schedule_cxl_memdev_detach() argument [all...] |
H A D | trace.c | 84 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 D | core.h | 54 int cxl_query_cmd(struct cxl_memdev *cxlmd, 56 int cxl_send_cmd(struct cxl_memdev *cxlmd, struct cxl_send_command __user *s);
|
H A D | hdm.c | 229 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_release() local 231 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() 272 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in __cxl_dpa_reserve() local 274 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve() 421 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_set_mode() local 422 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_set_mode() 466 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_dpa_alloc() local 469 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_alloc() 652 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); in cxl_decoder_commit() local 654 to_cxl_memdev_state(cxlmd in cxl_decoder_commit() 869 struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); init_hdm_decoder() local [all...] |
H A D | pci.c | 606 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); in read_cdat_data() local 607 struct device *host = cxlmd->dev.parent; in read_cdat_data() 662 trace_cxl_aer_correctable_error(cxlds->cxlmd, status); in cxl_cor_error_detected() 715 trace_cxl_aer_uncorrectable_error(cxlds->cxlmd, status, fe, hl); in cxl_report_and_clear() 725 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_detected() local 726 struct device *dev = &cxlmd->dev; in cxl_error_detected()
|
/kernel/linux/linux-6.6/drivers/cxl/ |
H A D | mem.c | 41 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, dp in cxl_debugfs_poison_inject() 99 struct cxl_memdev *cxlmd = data; cxl_debugfs_poison_clear() local 109 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); cxl_mem_probe() local 221 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); cxl_mem_visible() local [all...] |
H A D | security.c | 16 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 in cxl_pmem_security_freeze() local 146 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; cxl_pmem_security_unlock() local 171 struct cxl_memdev *cxlmd = cxl_nvd->cxlmd; cxl_pmem_security_passphrase_erase() local [all...] |
H A D | pmem.c | 41 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 in detach_nvdimm() 366 struct cxl_memdev *cxlmd = m->cxlmd; cxl_pmem_region_probe() local [all...] |
H A D | port.c | 28 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 D | cxl.h | 533 struct cxl_memdev *cxlmd; member 538 struct cxl_memdev *cxlmd; member 692 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd); 697 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd, 699 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd); 725 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint); 794 int devm_cxl_add_nvdimm(struct cxl_memdev *cxlmd); 795 struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_memdev *cxlmd);
|
H A D | pci.c | 786 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() 933 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_slot_reset() local 934 struct device *dev = &cxlmd->dev; in cxl_slot_reset() 947 struct cxl_memdev *cxlmd in cxl_error_resume() local [all...] |
H A D | cxlmem.h | 90 struct cxl_memdev *cxlmd); 98 struct cxl_memdev *cxlmd) in cxl_ep_load() 103 return xa_load(&port->endpoints, (unsigned long)&cxlmd->dev); in cxl_ep_load() 402 * @cxlmd: The device representing the CXL.mem capabilities of @dev 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, u1 97 cxl_ep_load(struct cxl_port *port, struct cxl_memdev *cxlmd) cxl_ep_load() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/cxl/test/ |
H A D | mem.c | 1387 struct cxl_memdev *cxlmd; in cxl_mock_mem_probe() local 1453 cxlmd = devm_cxl_add_memdev(&pdev->dev, cxlds); in cxl_mock_mem_probe() 1454 if (IS_ERR(cxlmd)) in cxl_mock_mem_probe() 1455 return PTR_ERR(cxlmd); in cxl_mock_mem_probe()
|
H A D | cxl.c | 742 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() 801 * and setup the switch and root port decoders targeting @cxlmd. in mock_init_hdm_decoder()
|