Home
last modified time | relevance | path

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

12

/linux/drivers/cxl/
H A Dpci.c38 #define cxl_doorbell_busy(cxlds) \ argument
39 (readl((cxlds)->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET) & \
58 static int cxl_pci_mbox_wait_for_doorbell(struct cxl_dev_state *cxlds) in cxl_pci_mbox_wait_for_doorbell() argument
63 while (cxl_doorbell_busy(cxlds)) { in cxl_pci_mbox_wait_for_doorbell()
68 if (!cxl_doorbell_busy(cxlds)) in cxl_pci_mbox_wait_for_doorbell()
75 dev_dbg(cxlds->dev, "Doorbell wait took %dms", in cxl_pci_mbox_wait_for_doorbell()
96 struct cxl_dev_state *cxlds; member
99 static int cxl_request_irq(struct cxl_dev_state *cxlds, int irq, in cxl_request_irq() argument
102 struct device *dev = cxlds->dev; in cxl_request_irq()
108 dev_id->cxlds = cxlds; in cxl_request_irq()
[all …]
H A Dpmem.c53 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show() local
55 return sysfs_emit(buf, "%llu\n", cxlds->serial); in id_show()
107 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_nvdimm_arm_dirty_shutdown_tracking() local
108 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in cxl_nvdimm_arm_dirty_shutdown_tracking()
125 if (!cxl_gpf_get_dvsec(cxlds->dev)) in cxl_nvdimm_arm_dirty_shutdown_tracking()
141 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_nvdimm_probe()
191 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_size()
209 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_data()
241 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_set_config_data()
286 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_nvdimm_ctl()
[all …]
H A Dcxlmem.h58 struct cxl_dev_state *cxlds; member
127 struct cxl_memdev *devm_cxl_add_classdev(struct cxl_dev_state *cxlds);
128 struct cxl_memdev *__devm_cxl_add_memdev(struct cxl_dev_state *cxlds,
147 int cxl_dpa_setup(struct cxl_dev_state *cxlds, const struct cxl_dpa_info *info);
396 static inline resource_size_t cxl_pmem_size(struct cxl_dev_state *cxlds) in cxl_pmem_size() argument
402 for (int i = 0; i < cxlds->nr_partitions; i++) in cxl_pmem_size()
403 if (cxlds->part[i].mode == CXL_PARTMODE_PMEM) in cxl_pmem_size()
404 return resource_size(&cxlds->part[i].res); in cxl_pmem_size()
439 struct cxl_dev_state cxlds; member
456 to_cxl_memdev_state(struct cxl_dev_state *cxlds) in to_cxl_memdev_state() argument
[all …]
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()
/linux/drivers/cxl/core/
H A Dmemdev.c45 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show() local
46 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in firmware_version_show()
58 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show() local
59 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in payload_max_show()
63 return sysfs_emit(buf, "%zu\n", cxlds->cxl_mbox.payload_size); in payload_max_show()
71 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show() local
72 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in label_storage_size_show()
80 static resource_size_t cxl_ram_size(struct cxl_dev_state *cxlds) in cxl_ram_size() argument
83 if (cxlds->part[0].mode != CXL_PARTMODE_RAM) in cxl_ram_size()
85 return resource_size(&cxlds->part[0].res); in cxl_ram_size()
[all …]
H A Dhdm.c199 void cxl_dpa_debug(struct seq_file *file, struct cxl_dev_state *cxlds) in cxl_dpa_debug() argument
204 for (p1 = cxlds->dpa_res.child; p1; p1 = p1->sibling) { in cxl_dpa_debug()
213 static resource_size_t __adjust_skip(struct cxl_dev_state *cxlds, in __adjust_skip() argument
220 for (int i = 0; i < cxlds->nr_partitions; i++) { in __adjust_skip()
221 const struct resource *part_res = &cxlds->part[i].res; in __adjust_skip()
233 __release_region(&cxlds->dpa_res, adjust_start, size); in __adjust_skip()
234 else if (!__request_region(&cxlds->dpa_res, adjust_start, size, in __adjust_skip()
251 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() local
259 __release_region(&cxlds->dpa_res, res->start, resource_size(res)); in __cxl_dpa_release()
261 release_skip(cxlds, skip_start, cxled->skip); in __cxl_dpa_release()
[all …]
H A Dpci.c75 static int cxl_dvsec_mem_range_valid(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_valid() argument
77 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_valid()
78 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_valid()
111 static int cxl_dvsec_mem_range_active(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_active() argument
113 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_active()
114 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_active()
149 int cxl_await_media_ready(struct cxl_dev_state *cxlds) in cxl_await_media_ready() argument
151 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_await_media_ready()
152 int d = cxlds->cxl_dvsec; in cxl_await_media_ready()
164 rc = cxl_dvsec_mem_range_valid(cxlds, i); in cxl_await_media_ready()
[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 Dras.c270 struct cxl_dev_state *cxlds = pci_get_drvdata(pdev); in cxl_cor_error_detected() local
271 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_cor_error_detected()
272 struct device *dev = &cxlds->cxlmd->dev; in cxl_cor_error_detected()
282 if (cxlds->rcd) in cxl_cor_error_detected()
283 cxl_handle_rdport_errors(cxlds); in cxl_cor_error_detected()
285 cxl_handle_cor_ras(&cxlds->cxlmd->dev, cxlmd->endpoint->regs.ras); in cxl_cor_error_detected()
293 struct cxl_dev_state *cxlds = pci_get_drvdata(pdev); in cxl_error_detected() local
294 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_error_detected()
306 if (cxlds->rcd) in cxl_error_detected()
307 cxl_handle_rdport_errors(cxlds); in cxl_error_detected()
[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 Dmbox.c670 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_xfer_log()
759 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_walk_cel()
762 struct device *dev = mds->cxlds.dev; in cxl_walk_cel()
799 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_get_gsl()
848 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_enumerate_cmds()
850 struct device *dev = mds->cxlds.dev; in cxl_enumerate_cmds()
997 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_clear_event_record()
1038 dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log, in cxl_clear_event_record()
1067 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mem_get_records_log()
1068 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_mem_get_records_log()
[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 Dras_rch.c113 void cxl_handle_rdport_errors(struct cxl_dev_state *cxlds) in cxl_handle_rdport_errors() argument
115 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_handle_rdport_errors()
133 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 Dcore.h194 void cxl_handle_rdport_errors(struct cxl_dev_state *cxlds);
206 static inline void cxl_handle_rdport_errors(struct cxl_dev_state *cxlds) { } in cxl_handle_rdport_errors() argument
213 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
H A Dregion.c266 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset() local
269 if (cxlds->rcd) in cxl_region_decode_reset()
1670 struct cxl_dev_state *cxlds; in cxl_region_teardown_targets() local
1686 cxlds = cxlmd->cxlds; in cxl_region_teardown_targets()
1688 if (cxlds->rcd) in cxl_region_teardown_targets()
1705 struct cxl_dev_state *cxlds; in cxl_region_setup_targets() local
1714 cxlds = cxlmd->cxlds; in cxl_region_setup_targets()
1717 if (!cxlds->rcd) { in cxl_region_setup_targets()
2055 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_attach() local
2075 if (cxlds->part[cxled->part].mode != cxlr->mode) { in cxl_region_attach()
[all …]
H A Dtrace.h97 __entry->serial = cxlmd->cxlds->serial;
166 __entry->serial = cxlmd->cxlds->serial;
202 __entry->serial = cxlmd->cxlds->serial;
270 __entry->serial = (cxlmd)->cxlds->serial; \
1066 __entry->serial = cxlmd->cxlds->serial;
H A Dport.c202 struct cxl_dev_state *cxlds = cxlmd->cxlds; in mode_show() local
210 desc = cxlds->part[part].res.name; in mode_show()
848 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_add() local
859 port->reg_map = cxlds->reg_map; in cxl_port_add()
1817 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports()
2397 if (cxlmd->cxlds->rcd) in cxl_endpoint_get_perf_coordinates()
H A Dpmem.c229 sprintf(cxl_nvd->dev_id, "%llu", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
/linux/tools/testing/cxl/test/
H A Daccel.c12 struct cxl_dev_state cxlds; member
20 struct cxl_dev_state *cxlds; in cxl_mock_accel_probe() local
27 struct mock_cxl_accel, cxlds, in cxl_mock_accel_probe()
32 cxlds = &cxl_accel->cxlds; in cxl_mock_accel_probe()
33 cxlds->media_ready = true; in cxl_mock_accel_probe()
34 rc = cxl_set_capacity(cxlds, SZ_512M); in cxl_mock_accel_probe()
38 cxlmd = devm_cxl_probe_mem(cxlds, &mock_range); in cxl_mock_accel_probe()
H A Dmem.c500 static int mock_set_timestamp(struct cxl_dev_state *cxlds, in mock_set_timestamp() argument
503 struct cxl_mockmem_data *mdata = dev_get_drvdata(cxlds->dev); in mock_set_timestamp()
580 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_get_log()
669 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mockmem_sanitize_work()
677 dev_dbg(mds->cxlds.dev, "sanitize complete\n"); in cxl_mockmem_sanitize_work()
684 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_sanitize()
706 dev_dbg(mds->cxlds.dev, "sanitize issued\n"); in mock_sanitize()
1137 struct cxl_dev_state *cxlds; member
1142 cxl_get_injected_po(struct cxl_dev_state *cxlds, u64 offset, u64 length) in cxl_get_injected_po() argument
1153 if (mock_poison_list[i].cxlds != cxlds) in cxl_get_injected_po()
[all …]
H A Dmock.c184 int __wrap_cxl_await_media_ready(struct cxl_dev_state *cxlds) in __wrap_devm_cxl_endpoint_decoders_setup()
189 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_devm_cxl_endpoint_decoders_setup()
192 rc = cxl_await_media_ready(cxlds); in __wrap_devm_cxl_endpoint_decoders_setup()
195 __wrap_cxl_await_media_ready(struct cxl_dev_state * cxlds) __wrap_cxl_await_media_ready() argument
/linux/drivers/net/ethernet/sfc/
H A Defx_cxl.c44 struct efx_cxl, cxlds, false); in efx_cxl_init()
50 &cxl->cxlds.reg_map); in efx_cxl_init()
56 if (!cxl->cxlds.reg_map.component_map.hdm_decoder.valid) { in efx_cxl_init()
61 if (!cxl->cxlds.reg_map.component_map.ras.valid) { in efx_cxl_init()
70 cxl->cxlds.media_ready = true; in efx_cxl_init()
72 if (cxl_set_capacity(&cxl->cxlds, EFX_CTPIO_BUFFER_SIZE)) { in efx_cxl_init()
77 cxl->cxlmd = devm_cxl_probe_mem(&cxl->cxlds, &cxl_pio_range); in efx_cxl_init()
H A Defx_cxl.h21 struct cxl_dev_state cxlds; member
/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
H A Dcxl.h227 struct cxl_memdev *devm_cxl_probe_mem(struct cxl_dev_state *cxlds,
230 int cxl_set_capacity(struct cxl_dev_state *cxlds, u64 capacity);

12