Home
last modified time | relevance | path

Searched refs:cxlds (Results 1 – 20 of 20) sorted by relevance

/linux/drivers/cxl/
H A Dpci.c37 #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 Dpmem.c39 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 Dmem.c43 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 Dsecurity.c17 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 Dcxl.h855 int cxl_dvsec_rr_decode(struct cxl_dev_state *cxlds,
/linux/drivers/cxl/core/
H A Dpci.c74 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 Dhdm.c206 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 Dfeatures.c49 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 Dmbox.c661 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 Dcdat.c258 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 Dedac.c113 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 Dmce.c15 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 Dregion.c265 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 Dtrace.h93 __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 Dport.c201 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 Dpmem.c220 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
/linux/tools/testing/cxl/test/
H A Dmem.c496 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 Dmock.c195 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 Dcxl.c1091 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 Dfeatures.h56 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