| /linux/drivers/cxl/ |
| H A D | pci.c | 37 #define cxl_doorbell_busy(cxlds) \ argument 38 (readl((cxlds)->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET) & \ 57 static int cxl_pci_mbox_wait_for_doorbell(struct cxl_dev_state *cxlds) in cxl_pci_mbox_wait_for_doorbell() argument 62 while (cxl_doorbell_busy(cxlds)) { in cxl_pci_mbox_wait_for_doorbell() 67 if (!cxl_doorbell_busy(cxlds)) in cxl_pci_mbox_wait_for_doorbell() 74 dev_dbg(cxlds->dev, "Doorbell wait took %dms", in cxl_pci_mbox_wait_for_doorbell() 95 struct cxl_dev_state *cxlds; member 98 static int cxl_request_irq(struct cxl_dev_state *cxlds, int irq, in cxl_request_irq() argument 101 struct device *dev = cxlds->dev; in cxl_request_irq() 107 dev_id->cxlds = cxlds; in cxl_request_irq() [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() 127 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_nvdimm_probe() 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() 269 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_nvdimm_ctl() [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() 224 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 | cxl.h | 855 int cxl_dvsec_rr_decode(struct cxl_dev_state *cxlds,
|
| /linux/drivers/cxl/core/ |
| H A D | pci.c | 74 static int cxl_dvsec_mem_range_valid(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_valid() argument 76 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_valid() 77 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_valid() 110 static int cxl_dvsec_mem_range_active(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_active() argument 112 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_active() 113 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_active() 148 int cxl_await_media_ready(struct cxl_dev_state *cxlds) in cxl_await_media_ready() argument 150 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_await_media_ready() 151 int d = cxlds->cxl_dvsec; in cxl_await_media_ready() 163 rc = cxl_dvsec_mem_range_valid(cxlds, i); in cxl_await_media_ready() [all …]
|
| H A D | hdm.c | 206 void cxl_dpa_debug(struct seq_file *file, struct cxl_dev_state *cxlds) in cxl_dpa_debug() argument 211 for (p1 = cxlds->dpa_res.child; p1; p1 = p1->sibling) { in cxl_dpa_debug() 220 static resource_size_t __adjust_skip(struct cxl_dev_state *cxlds, in __adjust_skip() argument 227 for (int i = 0; i < cxlds->nr_partitions; i++) { in __adjust_skip() 228 const struct resource *part_res = &cxlds->part[i].res; in __adjust_skip() 240 __release_region(&cxlds->dpa_res, adjust_start, size); in __adjust_skip() 241 else if (!__request_region(&cxlds->dpa_res, adjust_start, size, in __adjust_skip() 258 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() local 266 __release_region(&cxlds->dpa_res, res->start, resource_size(res)); in __cxl_dpa_release() 268 release_skip(cxlds, skip_start, cxled->skip); in __cxl_dpa_release() [all …]
|
| H A D | features.c | 49 struct cxl_features_state *to_cxlfs(struct cxl_dev_state *cxlds) in to_cxlfs() argument 51 return cxlds->cxlfs; in to_cxlfs() 84 struct cxl_mailbox *cxl_mbox = &cxlfs->cxlds->cxl_mbox; in get_supported_features() 186 struct cxl_dev_state *cxlds = cxlfs->cxlds; in free_cxlfs() local 188 cxlds->cxlfs = NULL; in free_cxlfs() 199 int devm_cxl_setup_features(struct cxl_dev_state *cxlds) in devm_cxl_setup_features() argument 201 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in devm_cxl_setup_features() 211 cxlfs->cxlds = cxlds; in devm_cxl_setup_features() 217 cxlds->cxlfs = cxlfs; in devm_cxl_setup_features() 219 return devm_add_action_or_reset(cxlds->dev, free_cxlfs, no_free_ptr(cxlfs)); in devm_cxl_setup_features() [all …]
|
| H A D | mbox.c | 661 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_xfer_log() 750 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_walk_cel() 753 struct device *dev = mds->cxlds.dev; in cxl_walk_cel() 790 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_get_gsl() 839 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_enumerate_cmds() 841 struct device *dev = mds->cxlds.dev; in cxl_enumerate_cmds() 987 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_clear_event_record() 1028 dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log, in cxl_clear_event_record() 1057 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mem_get_records_log() 1058 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_mem_get_records_log() [all …]
|
| H A D | cdat.c | 258 static void cxl_memdev_set_qos_class(struct cxl_dev_state *cxlds, in cxl_memdev_set_qos_class() argument 261 struct device *dev = cxlds->dev; in cxl_memdev_set_qos_class() 268 for (int i = 0; i < cxlds->nr_partitions; i++) { 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 374 for (int i = 0; i < cxlds->nr_partitions; i++) { in cxl_qos_class_verify() 375 struct cxl_dpa_perf *perf = &cxlds->part[i].perf; in cxl_qos_class_verify() 382 for (int i = 0; i < cxlds->nr_partitions; i++) { in cxl_qos_class_verify() 383 struct cxl_dpa_perf *perf = &cxlds->part[i].perf; in cxl_qos_class_verify() [all …]
|
| H A D | edac.c | 113 cxl_mbox = &cxl_ps_ctx->cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs() 129 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs() 173 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_set_attrbs_region() 211 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_set_attrbs_device() 375 feat_entry = cxl_feature_info(to_cxlfs(cxlmd->cxlds), in cxl_memdev_scrub_init() 397 rc = cxl_mem_scrub_get_attrbs(&cxlmd->cxlds->cxl_mbox, &cap, &cycle, in cxl_memdev_scrub_init() 433 feat_entry = cxl_feature_info(to_cxlfs(cxlmd->cxlds), in cxl_region_scrub_init() 442 rc = cxl_mem_scrub_get_attrbs(&cxlmd->cxlds->cxl_mbox, &cap, in cxl_region_scrub_init() 551 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_mem_ecs_get_attrbs() 581 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_mem_ecs_set_attrbs() [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 | 265 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset() local 268 if (cxlds->rcd) in cxl_region_decode_reset() 1604 struct cxl_dev_state *cxlds; in cxl_region_teardown_targets() local 1620 cxlds = cxlmd->cxlds; in cxl_region_teardown_targets() 1622 if (cxlds->rcd) in cxl_region_teardown_targets() 1639 struct cxl_dev_state *cxlds; in cxl_region_setup_targets() local 1648 cxlds = cxlmd->cxlds; in cxl_region_setup_targets() 1651 if (!cxlds->rcd) { in cxl_region_setup_targets() 1976 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_attach() local 1996 if (cxlds->part[cxled->part].mode != cxlr->mode) { in cxl_region_attach() [all …]
|
| H A D | trace.h | 93 __entry->serial = cxlmd->cxlds->serial; 158 __entry->serial = cxlmd->cxlds->serial; 194 __entry->serial = cxlmd->cxlds->serial; 262 __entry->serial = (cxlmd)->cxlds->serial; \ 1058 __entry->serial = cxlmd->cxlds->serial;
|
| H A D | port.c | 201 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mode_show() local 209 desc = cxlds->part[part].res.name; in mode_show() 852 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_add() local 863 port->reg_map = cxlds->reg_map; in cxl_port_add() 1776 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports() 2356 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/tools/testing/cxl/test/ |
| H A D | mem.c | 496 static int mock_set_timestamp(struct cxl_dev_state *cxlds, in mock_set_timestamp() argument 499 struct cxl_mockmem_data *mdata = dev_get_drvdata(cxlds->dev); in mock_set_timestamp() 576 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_get_log() 660 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mockmem_sanitize_work() 668 dev_dbg(mds->cxlds.dev, "sanitize complete\n"); in cxl_mockmem_sanitize_work() 675 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_sanitize() 697 dev_dbg(mds->cxlds.dev, "sanitize issued\n"); in mock_sanitize() 1128 struct cxl_dev_state *cxlds; member 1133 cxl_get_injected_po(struct cxl_dev_state *cxlds, u64 offset, u64 length) in cxl_get_injected_po() argument 1144 if (mock_poison_list[i].cxlds != cxlds) in cxl_get_injected_po() [all …]
|
| H A D | mock.c | 195 int __wrap_cxl_await_media_ready(struct cxl_dev_state *cxlds) in __wrap_cxl_await_media_ready() argument 200 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_await_media_ready() 203 rc = cxl_await_media_ready(cxlds); in __wrap_cxl_await_media_ready()
|
| H A D | cxl.c | 1091 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mock_cxl_endpoint_parse_cdat() local 1097 for (int i = 0; i < cxlds->nr_partitions; i++) { in mock_cxl_endpoint_parse_cdat() 1098 struct resource *res = &cxlds->part[i].res; in mock_cxl_endpoint_parse_cdat() 1099 struct cxl_dpa_perf *perf = &cxlds->part[i].perf; in mock_cxl_endpoint_parse_cdat()
|
| /linux/include/cxl/ |
| H A D | features.h | 56 struct cxl_dev_state *cxlds; member 67 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
|