Home
last modified time | relevance | path

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

/openbmc/linux/drivers/cxl/
H A Dpci.c35 #define cxl_doorbell_busy(cxlds) \ argument
36 (readl((cxlds)->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET) & \
55 static int cxl_pci_mbox_wait_for_doorbell(struct cxl_dev_state *cxlds) in cxl_pci_mbox_wait_for_doorbell() argument
60 while (cxl_doorbell_busy(cxlds)) { in cxl_pci_mbox_wait_for_doorbell()
65 if (!cxl_doorbell_busy(cxlds)) in cxl_pci_mbox_wait_for_doorbell()
72 dev_dbg(cxlds->dev, "Doorbell wait took %dms", in cxl_pci_mbox_wait_for_doorbell()
89 struct cxl_dev_state *cxlds; member
92 static int cxl_request_irq(struct cxl_dev_state *cxlds, int irq, in cxl_request_irq() argument
95 struct device *dev = cxlds->dev; in cxl_request_irq()
102 dev_id->cxlds = cxlds; in cxl_request_irq()
[all …]
H A Dmem.c43 cxl_dpa_debug(file, cxlmd->cxlds); in cxl_mem_dpa_show()
52 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_add_endpoint() local
69 cxlds->component_reg_phys, in devm_cxl_add_endpoint()
110 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_mem_probe()
111 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_mem_probe() local
118 if (!cxlds->media_ready) in cxl_mem_probe()
176 if (resource_size(&cxlds->pmem_res) && IS_ENABLED(CONFIG_CXL_PMEM)) { in cxl_mem_probe()
223 to_cxl_memdev_state(cxlmd->cxlds); in cxl_mem_visible()
H A Dsecurity.c17 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_get_security_flags()
73 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_change_key()
99 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in __cxl_pmem_security_disable()
134 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_freeze()
147 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_unlock()
172 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_security_passphrase_erase()
H A Dport.c91 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_endpoint_port_probe() local
96 rc = cxl_dvsec_rr_decode(cxlds->dev, cxlds->cxl_dvsec, &info); in cxl_endpoint_port_probe()
115 rc = cxl_hdm_decode_init(cxlds, cxlhdm, &info); in cxl_endpoint_port_probe()
H A Dpmem.c41 struct cxl_dev_state *cxlds = cxl_nvd->cxlmd->cxlds; in id_show() local
43 return sysfs_emit(buf, "%lld\n", cxlds->serial); in id_show()
68 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_nvdimm_probe()
198 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_pmem_nvdimm_ctl()
367 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_pmem_region_probe() local
386 info[i].serial = cxlds->serial; in cxl_pmem_region_probe()
H A Dcxlmem.h49 struct cxl_dev_state *cxlds; member
88 struct cxl_dev_state *cxlds);
463 struct cxl_dev_state cxlds; member
489 to_cxl_memdev_state(struct cxl_dev_state *cxlds) in to_cxl_memdev_state() argument
491 if (cxlds->type != CXL_DEVTYPE_CLASSMEM) in to_cxl_memdev_state()
493 return container_of(cxlds, struct cxl_memdev_state, cxlds); in to_cxl_memdev_state()
860 int cxl_await_media_ready(struct cxl_dev_state *cxlds);
911 void cxl_dpa_debug(struct seq_file *file, struct cxl_dev_state *cxlds);
H A Dcxlpci.h90 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
/openbmc/linux/drivers/cxl/core/
H A Dmemdev.c43 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show() local
44 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in firmware_version_show()
56 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show() local
57 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in payload_max_show()
69 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show() local
70 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in label_storage_size_show()
82 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_size_show() local
83 unsigned long long len = resource_size(&cxlds->ram_res); in ram_size_show()
95 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_size_show() local
96 unsigned long long len = resource_size(&cxlds->pmem_res); in pmem_size_show()
[all …]
H A Dpci.c104 static int cxl_dvsec_mem_range_valid(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_valid() argument
106 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_valid()
107 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_valid()
140 static int cxl_dvsec_mem_range_active(struct cxl_dev_state *cxlds, int id) in cxl_dvsec_mem_range_active() argument
142 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_dvsec_mem_range_active()
143 int d = cxlds->cxl_dvsec; in cxl_dvsec_mem_range_active()
178 int cxl_await_media_ready(struct cxl_dev_state *cxlds) in cxl_await_media_ready() argument
180 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_await_media_ready()
181 int d = cxlds->cxl_dvsec; in cxl_await_media_ready()
193 rc = cxl_dvsec_mem_range_valid(cxlds, i); in cxl_await_media_ready()
[all …]
H A Dmbox.c355 dev_dbg(mds->cxlds.dev, "%s: input payload not allowed\n", in cxl_mbox_cmd_ctor()
402 dev_WARN_ONCE(mds->cxlds.dev, true, "raw command path used\n"); in cxl_to_mem_cmd_raw()
516 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_query_cmd()
581 struct device *dev = mds->cxlds.dev; in handle_mailbox_cmd_from_user()
620 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_send_cmd()
710 struct device *dev = mds->cxlds.dev; in cxl_walk_cel()
791 struct device *dev = mds->cxlds.dev; in cxl_enumerate_cmds()
930 dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log, in cxl_clear_event_record()
959 struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; in cxl_mem_get_records_log()
960 struct device *dev = mds->cxlds.dev; in cxl_mem_get_records_log()
[all …]
H A Dhdm.c222 void cxl_dpa_debug(struct seq_file *file, struct cxl_dev_state *cxlds) in cxl_dpa_debug() argument
227 for (p1 = cxlds->dpa_res.child; p1; p1 = p1->sibling) { in cxl_dpa_debug()
244 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() local
252 __release_region(&cxlds->dpa_res, res->start, resource_size(res)); in __cxl_dpa_release()
254 __release_region(&cxlds->dpa_res, skip_start, cxled->skip); in __cxl_dpa_release()
287 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve() local
318 res = __request_region(&cxlds->dpa_res, base - skipped, skipped, in __cxl_dpa_reserve()
327 res = __request_region(&cxlds->dpa_res, base, len, in __cxl_dpa_reserve()
333 __release_region(&cxlds->dpa_res, base - skipped, in __cxl_dpa_reserve()
340 if (resource_contains(&cxlds->pmem_res, res)) in __cxl_dpa_reserve()
[all …]
H A Dregion.c157 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_region_decode_reset() local
160 if (cxlds->rcd) in cxl_region_decode_reset()
1391 struct cxl_dev_state *cxlds; in cxl_region_teardown_targets() local
1407 cxlds = cxlmd->cxlds; in cxl_region_teardown_targets()
1409 if (cxlds->rcd) in cxl_region_teardown_targets()
1426 struct cxl_dev_state *cxlds; in cxl_region_setup_targets() local
1435 cxlds = cxlmd->cxlds; in cxl_region_setup_targets()
1438 if (!cxlds->rcd) { in cxl_region_setup_targets()
2475 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_get_poison_unmapped() local
2491 length = resource_size(&cxlds->ram_res) - offset; in cxl_get_poison_unmapped()
[all …]
H A Dtrace.h65 __entry->serial = cxlmd->cxlds->serial;
111 __entry->serial = cxlmd->cxlds->serial;
147 __entry->serial = cxlmd->cxlds->serial;
205 __entry->serial = (cxlmd)->cxlds->serial; \
680 __entry->serial = cxlmd->cxlds->serial;
H A Dpmem.c225 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
H A Dport.c1484 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports()
/openbmc/qemu/hw/cxl/
H A Dcxl-events.c29 void cxl_event_init(CXLDeviceState *cxlds, int start_msg_num) in cxl_event_init() argument
35 log = &cxlds->event_logs[i]; in cxl_event_init()
47 cxlds->event_logs[CXL_EVENT_TYPE_DYNAMIC_CAP].irq_vec = in cxl_event_init()
48 cxlds->event_logs[CXL_EVENT_TYPE_INFO].irq_vec; in cxl_event_init()
79 static void cxl_event_delete_head(CXLDeviceState *cxlds, in cxl_event_delete_head() argument
88 cxl_event_set_status(cxlds, log_type, false); in cxl_event_delete_head()
97 bool cxl_event_insert(CXLDeviceState *cxlds, CXLEventLogType log_type, in cxl_event_insert() argument
108 time = cxl_device_get_timestamp(cxlds); in cxl_event_insert()
110 log = &cxlds->event_logs[log_type]; in cxl_event_insert()
136 cxl_event_set_status(cxlds, log_type, true); in cxl_event_insert()
[all …]
H A Dcxl-mailbox-utils.c239 CXLDeviceState *cxlds = &CXL_TYPE3(cci->d)->cxl_dstate; in cmd_events_get_records() local
252 max_recs = (cxlds->payload_size - CXL_EVENT_PAYLOAD_HDR_SIZE) / in cmd_events_get_records()
258 return cxl_event_get_records(cxlds, pl, log_type, max_recs, len_out); in cmd_events_get_records()
268 CXLDeviceState *cxlds = &CXL_TYPE3(cci->d)->cxl_dstate; in cmd_events_clear_records() local
279 return cxl_event_clear_records(cxlds, pl); in cmd_events_clear_records()
289 CXLDeviceState *cxlds = &CXL_TYPE3(cci->d)->cxl_dstate; in cmd_events_get_interrupt_policy() local
295 log = &cxlds->event_logs[CXL_EVENT_TYPE_INFO]; in cmd_events_get_interrupt_policy()
300 log = &cxlds->event_logs[CXL_EVENT_TYPE_WARN]; in cmd_events_get_interrupt_policy()
305 log = &cxlds->event_logs[CXL_EVENT_TYPE_FAIL]; in cmd_events_get_interrupt_policy()
310 log = &cxlds->event_logs[CXL_EVENT_TYPE_FATAL]; in cmd_events_get_interrupt_policy()
[all …]
/openbmc/linux/tools/testing/cxl/test/
H A Dmem.c417 static int mock_set_timestamp(struct cxl_dev_state *cxlds, in mock_set_timestamp() argument
420 struct cxl_mockmem_data *mdata = dev_get_drvdata(cxlds->dev); in mock_set_timestamp()
1000 struct cxl_dev_state *cxlds; member
1005 cxl_get_injected_po(struct cxl_dev_state *cxlds, u64 offset, u64 length) in cxl_get_injected_po() argument
1016 if (mock_poison_list[i].cxlds != cxlds) in cxl_get_injected_po()
1036 static int mock_get_poison(struct cxl_dev_state *cxlds, in mock_get_poison() argument
1045 po = cxl_get_injected_po(cxlds, offset, length); in mock_get_poison()
1056 static bool mock_poison_dev_max_injected(struct cxl_dev_state *cxlds) in mock_poison_dev_max_injected() argument
1061 if (mock_poison_list[i].cxlds == cxlds) in mock_poison_dev_max_injected()
1067 static bool mock_poison_add(struct cxl_dev_state *cxlds, u64 dpa) in mock_poison_add() argument
[all …]
H A Dmock.c199 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()
/openbmc/qemu/include/hw/cxl/
H A Dcxl_device.h410 #define cxl_dev_disable_media(cxlds) \ argument
411 do { __toggle_media((cxlds), 0x3); } while (0)
412 #define cxl_dev_enable_media(cxlds) \ argument
413 do { __toggle_media((cxlds), 0x1); } while (0)
641 uint64_t cxl_device_get_timestamp(CXLDeviceState *cxlds);
643 void cxl_event_init(CXLDeviceState *cxlds, int start_msg_num);
644 bool cxl_event_insert(CXLDeviceState *cxlds, CXLEventLogType log_type,
646 CXLRetCode cxl_event_get_records(CXLDeviceState *cxlds, CXLGetEventPayload *pl,
649 CXLRetCode cxl_event_clear_records(CXLDeviceState *cxlds,
651 void cxl_discard_all_event_records(CXLDeviceState *cxlds);
/openbmc/qemu/hw/mem/
H A Dcxl_type3.c1605 CXLDeviceState *cxlds; in qmp_cxl_inject_general_media_event() local
1620 cxlds = &ct3d->cxl_dstate; in qmp_cxl_inject_general_media_event()
1661 if (cxl_event_insert(cxlds, enc_log, (CXLEventRecordRaw *)&gem)) { in qmp_cxl_inject_general_media_event()
1692 CXLDeviceState *cxlds; in qmp_cxl_inject_dram_event() local
1707 cxlds = &ct3d->cxl_dstate; in qmp_cxl_inject_dram_event()
1772 if (cxl_event_insert(cxlds, enc_log, (CXLEventRecordRaw *)&dram)) { in qmp_cxl_inject_dram_event()
1793 CXLDeviceState *cxlds; in qmp_cxl_inject_memory_module_event() local
1807 cxlds = &ct3d->cxl_dstate; in qmp_cxl_inject_memory_module_event()
1832 if (cxl_event_insert(cxlds, enc_log, (CXLEventRecordRaw *)&module)) { in qmp_cxl_inject_memory_module_event()