Lines Matching full:cxlds

45 	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()
92 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_size_show() local
93 unsigned long long len = cxl_ram_size(cxlds); in ram_size_show()
105 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_size_show() local
106 unsigned long long len = cxl_pmem_size(cxlds); in pmem_size_show()
118 struct cxl_dev_state *cxlds = cxlmd->cxlds; in serial_show() local
120 return sysfs_emit(buf, "%#llx\n", cxlds->serial); in serial_show()
136 struct cxl_dev_state *cxlds = cxlmd->cxlds; in security_state_show() local
137 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in security_state_show()
138 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in security_state_show()
207 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_memdev_has_poison_cmd()
217 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_get_poison_by_memdev() local
222 for (int i = 0; i < cxlds->nr_partitions; i++) { in cxl_get_poison_by_memdev()
223 const struct resource *res = &cxlds->part[i].res; in cxl_get_poison_by_memdev()
232 if (rc == -EFAULT && cxlds->part[i].mode == CXL_PARTMODE_RAM) in cxl_get_poison_by_memdev()
269 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_validate_poison_dpa() local
274 if (!resource_size(&cxlds->dpa_res)) { in cxl_validate_poison_dpa()
275 dev_dbg(cxlds->dev, "device has no dpa resource\n"); in cxl_validate_poison_dpa()
278 if (!cxl_resource_contains_addr(&cxlds->dpa_res, dpa)) { in cxl_validate_poison_dpa()
279 dev_dbg(cxlds->dev, "dpa:0x%llx not in resource:%pR\n", in cxl_validate_poison_dpa()
280 dpa, &cxlds->dpa_res); in cxl_validate_poison_dpa()
284 dev_dbg(cxlds->dev, "dpa:0x%llx is not 64-byte aligned\n", dpa); in cxl_validate_poison_dpa()
293 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_inject_poison_locked()
353 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_clear_poison_locked()
429 static struct cxl_dpa_perf *to_pmem_perf(struct cxl_dev_state *cxlds) in to_pmem_perf() argument
431 for (int i = 0; i < cxlds->nr_partitions; i++) in to_pmem_perf()
432 if (cxlds->part[i].mode == CXL_PARTMODE_PMEM) in to_pmem_perf()
433 return &cxlds->part[i].perf; in to_pmem_perf()
441 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_qos_class_show() local
443 return sysfs_emit(buf, "%d\n", to_pmem_perf(cxlds)->qos_class); in pmem_qos_class_show()
455 static struct cxl_dpa_perf *to_ram_perf(struct cxl_dev_state *cxlds) in to_ram_perf() argument
457 if (cxlds->part[0].mode != CXL_PARTMODE_RAM) in to_ram_perf()
459 return &cxlds->part[0].perf; in to_ram_perf()
466 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_qos_class_show() local
468 return sysfs_emit(buf, "%d\n", to_ram_perf(cxlds)->qos_class); in ram_qos_class_show()
504 struct cxl_dpa_perf *perf = to_ram_perf(cxlmd->cxlds); in cxl_ram_visible()
523 struct cxl_dpa_perf *perf = to_pmem_perf(cxlmd->cxlds); in cxl_pmem_visible()
543 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in cxl_memdev_security_visible()
614 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_mem_dpa_fetch() local
615 struct device *dev = cxlds->dev; in cxl_mem_dpa_fetch()
618 if (!cxlds->media_ready) { in cxl_mem_dpa_fetch()
650 * @cxlds: pointer to cxl_dev_state
653 int cxl_set_capacity(struct cxl_dev_state *cxlds, u64 capacity) in cxl_set_capacity() argument
660 return cxl_dpa_setup(cxlds, &range_info); in cxl_set_capacity()
676 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in set_exclusive_cxl_commands()
692 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in clear_exclusive_cxl_commands()
705 cxlmd->cxlds = NULL; in cxl_memdev_shutdown()
743 struct cxl_dev_state *cxlds = devm_kzalloc(dev, size, GFP_KERNEL); in _devm_cxl_dev_state_create() local
745 if (!cxlds) in _devm_cxl_dev_state_create()
748 cxlds->dev = dev; in _devm_cxl_dev_state_create()
749 cxlds->type = type; in _devm_cxl_dev_state_create()
750 cxlds->serial = serial; in _devm_cxl_dev_state_create()
751 cxlds->cxl_dvsec = dvsec; in _devm_cxl_dev_state_create()
752 cxlds->reg_map.host = dev; in _devm_cxl_dev_state_create()
753 cxlds->reg_map.resource = CXL_RESOURCE_NONE; in _devm_cxl_dev_state_create()
756 cxlds->cxl_mbox.host = dev; in _devm_cxl_dev_state_create()
758 return cxlds; in _devm_cxl_dev_state_create()
762 static struct cxl_memdev *cxl_memdev_alloc(struct cxl_dev_state *cxlds, in cxl_memdev_alloc() argument
786 dev->parent = get_device(cxlds->dev); in cxl_memdev_alloc()
789 if (cxlds->type == CXL_DEVTYPE_DEVMEM) in cxl_memdev_alloc()
808 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); in __cxl_memdev_ioctl()
809 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in __cxl_memdev_ioctl()
825 struct cxl_dev_state *cxlds; in cxl_memdev_ioctl() local
828 cxlds = cxlmd->cxlds; in cxl_memdev_ioctl()
829 if (cxlds && cxlds->type == CXL_DEVTYPE_CLASSMEM) in cxl_memdev_ioctl()
868 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mem_get_fw_info()
903 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mem_activate_fw()
935 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mem_abort_fw_xfer()
970 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_fw_do_cancel() local
971 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_fw_do_cancel()
986 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_fw_prepare()
1011 struct cxl_dev_state *cxlds = &mds->cxlds; in cxl_fw_write() local
1012 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in cxl_fw_write()
1013 struct cxl_memdev *cxlmd = cxlds->cxlmd; in cxl_fw_write()
1146 struct cxl_dev_state *cxlds = &mds->cxlds; in devm_cxl_setup_fw_upload() local
1147 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in devm_cxl_setup_fw_upload()
1148 struct device *dev = &cxlds->cxlmd->dev; in devm_cxl_setup_fw_upload()
1175 static int cxlmd_add(struct cxl_memdev *cxlmd, struct cxl_dev_state *cxlds) in cxlmd_add() argument
1179 cxlmd->cxlds = cxlds; in cxlmd_add()
1180 cxlds->cxlmd = cxlmd; in cxlmd_add()
1219 rc = devm_add_action_or_reset(cxlmd->cxlds->dev, cxl_memdev_unregister, in cxl_memdev_autoremove()
1231 struct cxl_memdev *__devm_cxl_add_memdev(struct cxl_dev_state *cxlds, in __devm_cxl_add_memdev() argument
1238 cxl_memdev_alloc(cxlds, &cxl_memdev_fops, attach); in __devm_cxl_add_memdev()
1247 rc = cxlmd_add(cxlmd, cxlds); in __devm_cxl_add_memdev()
1258 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in sanitize_teardown_notifier()
1277 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_sanitize_setup_notifier() local
1278 struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds); in devm_cxl_sanitize_setup_notifier()