Home
last modified time | relevance | path

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

/Linux-v6.1/drivers/cxl/
Dpci.c34 #define cxl_doorbell_busy(cxlds) \ argument
35 (readl((cxlds)->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET) & \
54 static int cxl_pci_mbox_wait_for_doorbell(struct cxl_dev_state *cxlds) in cxl_pci_mbox_wait_for_doorbell() argument
59 while (cxl_doorbell_busy(cxlds)) { in cxl_pci_mbox_wait_for_doorbell()
64 if (!cxl_doorbell_busy(cxlds)) in cxl_pci_mbox_wait_for_doorbell()
71 dev_dbg(cxlds->dev, "Doorbell wait took %dms", in cxl_pci_mbox_wait_for_doorbell()
109 static int __cxl_pci_mbox_send_cmd(struct cxl_dev_state *cxlds, in __cxl_pci_mbox_send_cmd() argument
112 void __iomem *payload = cxlds->regs.mbox + CXLDEV_MBOX_PAYLOAD_OFFSET; in __cxl_pci_mbox_send_cmd()
113 struct device *dev = cxlds->dev; in __cxl_pci_mbox_send_cmd()
118 lockdep_assert_held(&cxlds->mbox_mutex); in __cxl_pci_mbox_send_cmd()
[all …]
Dpmem.c23 static void clear_exclusive(void *cxlds) in clear_exclusive() argument
25 clear_exclusive_cxl_commands(cxlds, exclusive_cmds); in clear_exclusive()
57 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_nvdimm_probe() local
72 set_exclusive_cxl_commands(cxlds, exclusive_cmds); in cxl_nvdimm_probe()
73 rc = devm_add_action_or_reset(dev, clear_exclusive, cxlds); in cxl_nvdimm_probe()
104 static int cxl_pmem_get_config_size(struct cxl_dev_state *cxlds, in cxl_pmem_get_config_size() argument
112 .config_size = cxlds->lsa_size, in cxl_pmem_get_config_size()
113 .max_xfer = cxlds->payload_size - sizeof(struct cxl_mbox_set_lsa), in cxl_pmem_get_config_size()
119 static int cxl_pmem_get_config_data(struct cxl_dev_state *cxlds, in cxl_pmem_get_config_data() argument
136 rc = cxl_mbox_send_cmd(cxlds, CXL_MBOX_OP_GET_LSA, &get_lsa, in cxl_pmem_get_config_data()
[all …]
Dcxlmem.h43 struct cxl_dev_state *cxlds; member
77 struct cxl_memdev *devm_cxl_add_memdev(struct cxl_dev_state *cxlds);
250 int (*mbox_send)(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd);
375 int cxl_mbox_send_cmd(struct cxl_dev_state *cxlds, u16 opcode, void *in,
377 int cxl_dev_state_identify(struct cxl_dev_state *cxlds);
378 int cxl_await_media_ready(struct cxl_dev_state *cxlds);
379 int cxl_enumerate_cmds(struct cxl_dev_state *cxlds);
380 int cxl_mem_create_range_info(struct cxl_dev_state *cxlds);
382 void set_exclusive_cxl_commands(struct cxl_dev_state *cxlds, unsigned long *cmds);
383 void clear_exclusive_cxl_commands(struct cxl_dev_state *cxlds, unsigned long *cmds);
[all …]
Dport.c54 struct cxl_dev_state *cxlds = cxlmd->cxlds; in cxl_port_probe() local
64 rc = cxl_hdm_decode_init(cxlds, cxlhdm); in cxl_port_probe()
68 rc = cxl_await_media_ready(cxlds); in cxl_port_probe()
Dcxlpci.h76 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm);
Dmem.c43 cxl_dpa_debug(file, cxlmd->cxlds); in cxl_mem_dpa_show()
/Linux-v6.1/drivers/cxl/core/
Dmbox.c164 int cxl_mbox_send_cmd(struct cxl_dev_state *cxlds, u16 opcode, void *in, in cxl_mbox_send_cmd() argument
177 if (in_size > cxlds->payload_size || out_size > cxlds->payload_size) in cxl_mbox_send_cmd()
180 rc = cxlds->mbox_send(cxlds, &mbox_cmd); in cxl_mbox_send_cmd()
257 struct cxl_dev_state *cxlds, u16 opcode, in cxl_mbox_cmd_ctor() argument
272 dev_dbg(cxlds->dev, "%s: input payload not allowed\n", in cxl_mbox_cmd_ctor()
281 mbox->size_out = cxlds->payload_size; in cxl_mbox_cmd_ctor()
303 struct cxl_dev_state *cxlds) in cxl_to_mem_cmd_raw() argument
313 if (send_cmd->out.size > cxlds->payload_size) in cxl_to_mem_cmd_raw()
319 dev_WARN_ONCE(cxlds->dev, true, "raw command path used\n"); in cxl_to_mem_cmd_raw()
335 struct cxl_dev_state *cxlds) in cxl_to_mem_cmd() argument
[all …]
Dmemdev.c40 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show() local
42 return sysfs_emit(buf, "%.16s\n", cxlds->firmware_version); in firmware_version_show()
50 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show() local
52 return sysfs_emit(buf, "%zu\n", cxlds->payload_size); in payload_max_show()
60 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show() local
62 return sysfs_emit(buf, "%zu\n", cxlds->lsa_size); in label_storage_size_show()
70 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_size_show() local
71 unsigned long long len = resource_size(&cxlds->ram_res); in ram_size_show()
83 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_size_show() local
84 unsigned long long len = resource_size(&cxlds->pmem_res); in pmem_size_show()
[all …]
Dpci.c110 int cxl_await_media_ready(struct cxl_dev_state *cxlds) in cxl_await_media_ready() argument
112 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_await_media_ready()
113 int d = cxlds->cxl_dvsec; in cxl_await_media_ready()
139 md_status = readq(cxlds->regs.memdev + CXLMDEV_STATUS_OFFSET); in cxl_await_media_ready()
147 static int wait_for_valid(struct cxl_dev_state *cxlds) in wait_for_valid() argument
149 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in wait_for_valid()
150 int d = cxlds->cxl_dvsec, rc; in wait_for_valid()
179 static int cxl_set_mem_enable(struct cxl_dev_state *cxlds, u16 val) in cxl_set_mem_enable() argument
181 struct pci_dev *pdev = to_pci_dev(cxlds->dev); in cxl_set_mem_enable()
182 int d = cxlds->cxl_dvsec; in cxl_set_mem_enable()
[all …]
Dhdm.c146 void cxl_dpa_debug(struct seq_file *file, struct cxl_dev_state *cxlds) in cxl_dpa_debug() argument
151 for (p1 = cxlds->dpa_res.child; p1; p1 = p1->sibling) { in cxl_dpa_debug()
168 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_release() local
176 __release_region(&cxlds->dpa_res, res->start, resource_size(res)); in __cxl_dpa_release()
178 __release_region(&cxlds->dpa_res, skip_start, cxled->skip); in __cxl_dpa_release()
211 struct cxl_dev_state *cxlds = cxlmd->cxlds; in __cxl_dpa_reserve() local
239 res = __request_region(&cxlds->dpa_res, base - skipped, skipped, in __cxl_dpa_reserve()
248 res = __request_region(&cxlds->dpa_res, base, len, in __cxl_dpa_reserve()
254 __release_region(&cxlds->dpa_res, base - skipped, in __cxl_dpa_reserve()
261 if (resource_contains(&cxlds->pmem_res, res)) in __cxl_dpa_reserve()
[all …]
Dport.c1129 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_add_endpoint() local
1146 cxlds->component_reg_phys, parent_dport); in devm_cxl_add_endpoint()
/Linux-v6.1/tools/testing/cxl/test/
Dmem.c79 static int mock_get_log(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd) in mock_get_log() argument
89 if (length > cxlds->payload_size) in mock_get_log()
103 static int mock_id(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd) in mock_id() argument
122 static int mock_partition_info(struct cxl_dev_state *cxlds, in mock_partition_info() argument
140 static int mock_get_lsa(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd) in mock_get_lsa() argument
143 void *lsa = dev_get_drvdata(cxlds->dev); in mock_get_lsa()
159 static int mock_set_lsa(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd) in mock_set_lsa() argument
162 void *lsa = dev_get_drvdata(cxlds->dev); in mock_set_lsa()
176 static int mock_health_info(struct cxl_dev_state *cxlds, in mock_health_info() argument
206 static int cxl_mock_mbox_send(struct cxl_dev_state *cxlds, struct cxl_mbox_cmd *cmd) in cxl_mock_mbox_send() argument
[all …]
Dmock.c196 int __wrap_cxl_await_media_ready(struct cxl_dev_state *cxlds) in __wrap_cxl_await_media_ready() argument
201 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_await_media_ready()
204 rc = cxl_await_media_ready(cxlds); in __wrap_cxl_await_media_ready()
211 int __wrap_cxl_hdm_decode_init(struct cxl_dev_state *cxlds, in __wrap_cxl_hdm_decode_init() argument
217 if (ops && ops->is_mock_dev(cxlds->dev)) in __wrap_cxl_hdm_decode_init()
220 rc = cxl_hdm_decode_init(cxlds, cxlhdm); in __wrap_cxl_hdm_decode_init()