| /linux-6.15/drivers/cxl/ |
| H A D | pci.c | 107 dev_id->cxlds = cxlds; in cxl_request_irq() 127 struct cxl_dev_state *cxlds = dev_id->cxlds; in cxl_pci_mbox_irq() local 156 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_mbox_sanitize_work() local 391 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_pci_setup_mailbox() local 631 struct cxl_dev_state *cxlds = dev_id->cxlds; in cxl_event_thread() local 720 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_event_irqsetup() local 816 rc = cxl_mailbox_init(&cxlds->cxl_mbox, cxlds->dev); in cxl_pci_type3_init_mailbox() 930 cxlds = &mds->cxlds; in cxl_pci_probe() 954 &cxlds->reg_map); in cxl_pci_probe() 960 rc = cxl_map_component_regs(&cxlds->reg_map, &cxlds->regs.component, in cxl_pci_probe() [all …]
|
| H A D | pmem.c | 39 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show() local 41 return sysfs_emit(buf, "%lld\n", cxlds->serial); in id_show() 93 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_nvdimm_arm_dirty_shutdown_tracking() local 94 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in cxl_nvdimm_arm_dirty_shutdown_tracking() 111 if (!cxl_gpf_get_dvsec(cxlds->dev)) in cxl_nvdimm_arm_dirty_shutdown_tracking() 174 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_size() 192 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_data() 224 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_set_config_data() 436 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_pmem_region_probe() local 447 if (cxlds->serial == 0) { in cxl_pmem_region_probe() [all …]
|
| H A D | mem.c | 43 cxl_dpa_debug(file, cxlmd->cxlds); in cxl_mem_dpa_show() 109 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_mem_probe() 110 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_mem_probe() local 116 if (!cxlds->media_ready) in cxl_mem_probe() 155 if (cxl_pmem_size(cxlds) && IS_ENABLED(CONFIG_CXL_PMEM)) { in cxl_mem_probe() 220 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_mem_visible()
|
| H A D | security.c | 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() 74 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_change_key() 100 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in __cxl_pmem_security_disable() 135 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_freeze() 148 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_unlock() 173 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_passphrase_erase()
|
| H A D | cxlmem.h | 52 struct cxl_dev_state *cxlds; member 91 struct cxl_dev_state *cxlds); 441 static inline resource_size_t cxl_pmem_size(struct cxl_dev_state *cxlds) in cxl_pmem_size() argument 447 for (int i = 0; i < cxlds->nr_partitions; i++) in cxl_pmem_size() 448 if (cxlds->part[i].mode == CXL_PARTMODE_PMEM) in cxl_pmem_size() 449 return resource_size(&cxlds->part[i].res); in cxl_pmem_size() 485 struct cxl_dev_state cxlds; member 503 to_cxl_memdev_state(struct cxl_dev_state *cxlds) in to_cxl_memdev_state() argument 505 if (cxlds->type != CXL_DEVTYPE_CLASSMEM) in to_cxl_memdev_state() 507 return container_of(cxlds, struct cxl_memdev_state, cxlds); in to_cxl_memdev_state() [all …]
|
| H A D | port.c | 96 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_endpoint_port_probe() local 101 rc = cxl_dvsec_rr_decode(cxlds, &info); in cxl_endpoint_port_probe() 121 rc = cxl_hdm_decode_init(cxlds, cxlhdm, &info); in cxl_endpoint_port_probe()
|
| H A D | cxlpci.h | 132 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
|
| H A D | cxl.h | 810 int cxl_dvsec_rr_decode(struct cxl_dev_state *cxlds,
|
| /linux-6.15/drivers/cxl/core/ |
| H A D | memdev.c | 43 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show() local 56 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show() local 69 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show() local 90 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_size_show() local 103 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_size_show() local 116 struct cxl_dev_state *cxlds = cxlmd->cxlds; in serial_show() local 134 struct cxl_dev_state *cxlds = cxlmd->cxlds; in security_state_show() local 204 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_get_poison_by_memdev() local 260 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_validate_poison_dpa() local 696 cxlds = cxlmd->cxlds; in cxl_memdev_ioctl() [all …]
|
| H A D | pci.c | 109 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_valid() 145 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_active() 183 int d = cxlds->cxl_dvsec; in cxl_await_media_ready() 217 int d = cxlds->cxl_dvsec; in cxl_set_mem_enable() 239 cxl_set_mem_enable(cxlds, 0); in clear_mem_enable() 298 struct device *dev = cxlds->dev; in cxl_dvsec_rr_decode() 300 int d = cxlds->cxl_dvsec; in cxl_dvsec_rr_decode() 672 return __cxl_handle_cor_ras(cxlds, cxlds->regs.ras); in cxl_handle_endpoint_cor_ras() 732 return __cxl_handle_ras(cxlds, cxlds->regs.ras); in cxl_handle_endpoint_ras() 913 if (cxlds->rcd) in cxl_cor_error_detected() [all …]
|
| H A D | hdm.c | 264 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() local 343 dev_dbg(cxlds->dev, in request_skip() 358 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve() local 474 if (cxlds->nr_partitions) in cxl_dpa_setup() 479 cxlds->nr_partitions = 0; in cxl_dpa_setup() 499 rc = add_dpa_res(dev, &cxlds->dpa_res, &cxlds->part[i].res, in cxl_dpa_setup() 504 cxlds->nr_partitions++; in cxl_dpa_setup() 580 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_dpa_set_part() local 609 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_alloc() local 634 res = &cxlds->part[part].res; in __cxl_dpa_alloc() [all …]
|
| H A D | ras.c | 38 struct cxl_dev_state *cxlds; in cxl_cper_trace_corr_prot_err() local 40 cxlds = pci_get_drvdata(pdev); in cxl_cper_trace_corr_prot_err() 41 if (!cxlds) in cxl_cper_trace_corr_prot_err() 44 trace_cxl_aer_correctable_error(cxlds->cxlmd, status); in cxl_cper_trace_corr_prot_err() 51 struct cxl_dev_state *cxlds; in cxl_cper_trace_uncorr_prot_err() local 54 cxlds = pci_get_drvdata(pdev); in cxl_cper_trace_uncorr_prot_err() 55 if (!cxlds) in cxl_cper_trace_uncorr_prot_err() 64 trace_cxl_aer_uncorrectable_error(cxlds->cxlmd, status, fe, in cxl_cper_trace_uncorr_prot_err()
|
| H A D | features.c | 41 return cxlds->cxlfs; in to_cxlfs() 74 struct cxl_mailbox *cxl_mbox = &cxlfs->cxlds->cxl_mbox; in get_supported_features() 176 struct cxl_dev_state *cxlds = cxlfs->cxlds; in free_cxlfs() local 178 cxlds->cxlfs = NULL; in free_cxlfs() 189 int devm_cxl_setup_features(struct cxl_dev_state *cxlds) in devm_cxl_setup_features() argument 191 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in devm_cxl_setup_features() 201 cxlfs->cxlds = cxlds; in devm_cxl_setup_features() 207 cxlds->cxlfs = cxlfs; in devm_cxl_setup_features() 566 dev_warn_once(cxlfs->cxlds->dev, in cxlctl_validate_set_features() 682 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_setup_fwctl() local [all …]
|
| H A D | mbox.c | 753 struct device *dev = mds->cxlds.dev; in cxl_walk_cel() 841 struct device *dev = mds->cxlds.dev; in cxl_enumerate_cmds() 1028 struct device *dev = mds->cxlds.dev; in cxl_mem_get_records_log() 1158 if (!mds->cxlds.media_ready) in cxl_dev_state_identify() 1289 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_mem_dpa_fetch() local 1290 struct device *dev = cxlds->dev; in cxl_mem_dpa_fetch() 1293 if (!cxlds->media_ready) { in cxl_mem_dpa_fetch() 1499 mds->cxlds.dev = dev; in cxl_memdev_state_create() 1500 mds->cxlds.reg_map.host = dev; in cxl_memdev_state_create() 1501 mds->cxlds.cxl_mbox.host = dev; in cxl_memdev_state_create() [all …]
|
| H A D | cdat.c | 261 struct device *dev = cxlds->dev; in cxl_memdev_set_qos_class() 269 struct resource *res = &cxlds->part[i].res; in cxl_memdev_set_qos_class() 277 &cxlds->part[i].perf); in cxl_memdev_set_qos_class() 350 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_qos_class_verify() local 406 struct cxl_dev_state *cxlds = cxlmd->cxlds; in DEFINE_FREE() local 427 cxl_memdev_set_qos_class(cxlds, dsmas_xa); in DEFINE_FREE() 588 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxled_get_dpa_perf() local 593 perf = &cxlds->part[cxled->part].perf; in cxled_get_dpa_perf() 643 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_endpoint_gather_bandwidth() local 651 if (!dev_is_pci(cxlds->dev)) in cxl_endpoint_gather_bandwidth() [all …]
|
| H A D | mce.c | 15 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_handle_mce() 43 dev_emerg(mds->cxlds.dev, "Offlining aliased SPA address0: %#llx\n", in cxl_handle_mce()
|
| H A D | region.c | 261 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset() local 264 if (cxlds->rcd) in cxl_region_decode_reset() 1557 cxlds = cxlmd->cxlds; in cxl_region_teardown_targets() 1559 if (cxlds->rcd) in cxl_region_teardown_targets() 1585 cxlds = cxlmd->cxlds; in cxl_region_setup_targets() 1588 if (!cxlds->rcd) { in cxl_region_setup_targets() 1913 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_attach() local 2711 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_get_poison_unmapped() local 2725 res = &cxlds->part[i].res; in cxl_get_poison_unmapped() 2763 cxlds = cxlmd->cxlds; in poison_by_decoder() [all …]
|
| H A D | trace.h | 93 __entry->serial = cxlmd->cxlds->serial; 158 __entry->serial = cxlmd->cxlds->serial; 194 __entry->serial = cxlmd->cxlds->serial; 256 __entry->serial = (cxlmd)->cxlds->serial; \ 937 __entry->serial = cxlmd->cxlds->serial;
|
| H A D | port.c | 198 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mode_show() local 206 desc = cxlds->part[part].res.name; in mode_show() 846 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_add() local 857 port->reg_map = cxlds->reg_map; in cxl_port_add() 1627 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports() 2206 if (cxlmd->cxlds->rcd) in cxl_endpoint_get_perf_coordinates()
|
| H A D | pmem.c | 220 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
|
| /linux-6.15/tools/testing/cxl/test/ |
| H A D | mem.c | 1145 if (mock_poison_list[i].cxlds != cxlds) in cxl_get_injected_po() 1190 if (mock_poison_list[i].cxlds == cxlds) in mock_poison_dev_max_injected() 1208 mock_poison_list[i].cxlds = cxlds; in mock_poison_add() 1213 dev_dbg(cxlds->dev, in mock_poison_add() 1223 if (mock_poison_list[i].cxlds == cxlds && in mock_poison_found() 1248 if (mock_poison_list[i].cxlds == cxlds && in mock_poison_del() 1545 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_mock_mbox_send() local 1559 if (cxlds->rcd) in cxl_mock_mbox_send() 1676 rc = cxl_mailbox_init(&cxlds->cxl_mbox, cxlds->dev); in cxl_mock_mailbox_create() 1724 cxlds = &mds->cxlds; in cxl_mock_mem_probe() [all …]
|
| H A D | mock.c | 199 int __wrap_cxl_await_media_ready(struct cxl_dev_state *cxlds) in __wrap_cxl_await_media_ready() argument 204 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_await_media_ready() 207 rc = cxl_await_media_ready(cxlds); in __wrap_cxl_await_media_ready() 214 int __wrap_cxl_hdm_decode_init(struct cxl_dev_state *cxlds, in __wrap_cxl_hdm_decode_init() argument 221 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_hdm_decode_init() 224 rc = cxl_hdm_decode_init(cxlds, cxlhdm, info); in __wrap_cxl_hdm_decode_init() 231 int __wrap_cxl_dvsec_rr_decode(struct cxl_dev_state *cxlds, in __wrap_cxl_dvsec_rr_decode() argument 237 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_dvsec_rr_decode() 240 rc = cxl_dvsec_rr_decode(cxlds, info); in __wrap_cxl_dvsec_rr_decode()
|
| H A D | cxl.c | 1002 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mock_cxl_endpoint_parse_cdat() local 1008 for (int i = 0; i < cxlds->nr_partitions; i++) { in mock_cxl_endpoint_parse_cdat() 1009 struct resource *res = &cxlds->part[i].res; in mock_cxl_endpoint_parse_cdat() 1010 struct cxl_dpa_perf *perf = &cxlds->part[i].perf; in mock_cxl_endpoint_parse_cdat()
|
| /linux-6.15/include/cxl/ |
| H A D | features.h | 56 struct cxl_dev_state *cxlds; member 67 inline struct cxl_features_state *to_cxlfs(struct cxl_dev_state *cxlds); 68 int devm_cxl_setup_features(struct cxl_dev_state *cxlds); 71 static inline struct cxl_features_state *to_cxlfs(struct cxl_dev_state *cxlds) in to_cxlfs() argument 76 static inline int devm_cxl_setup_features(struct cxl_dev_state *cxlds) in devm_cxl_setup_features() argument
|