/openbmc/linux/drivers/cxl/ |
H A D | pci.c | 35 #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 D | mem.c | 43 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 D | security.c | 17 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 D | port.c | 91 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 D | pmem.c | 41 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 D | cxlmem.h | 49 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 D | cxlpci.h | 90 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
|
/openbmc/linux/drivers/cxl/core/ |
H A D | memdev.c | 43 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 D | pci.c | 104 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 D | mbox.c | 355 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 D | hdm.c | 222 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 D | region.c | 157 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 D | trace.h | 65 __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 D | pmem.c | 225 sprintf(cxl_nvd->dev_id, "%llx", cxlmd->cxlds->serial); in cxl_nvdimm_alloc()
|
H A D | port.c | 1484 if (cxlmd->cxlds->rcd) in devm_cxl_enumerate_ports()
|
/openbmc/qemu/hw/cxl/ |
H A D | cxl-events.c | 29 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 D | cxl-mailbox-utils.c | 239 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 D | mem.c | 417 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 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()
|
/openbmc/qemu/include/hw/cxl/ |
H A D | cxl_device.h | 410 #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 D | cxl_type3.c | 1605 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()
|