Home
last modified time | relevance | path

Searched refs:cxl_mbox (Results 1 – 12 of 12) sorted by relevance

/linux/drivers/cxl/core/
H A Dmbox.c251 int cxl_internal_send_cmd(struct cxl_mailbox *cxl_mbox, in cxl_internal_send_cmd() argument
257 if (mbox_cmd->size_in > cxl_mbox->payload_size || in cxl_internal_send_cmd()
258 mbox_cmd->size_out > cxl_mbox->payload_size) in cxl_internal_send_cmd()
263 rc = cxl_mbox->mbox_send(cxl_mbox, mbox_cmd); in cxl_internal_send_cmd()
366 struct cxl_mailbox *cxl_mbox, u16 opcode, in cxl_mbox_cmd_ctor() argument
382 dev_dbg(cxl_mbox->host, "%s: input payload not allowed\n", in cxl_mbox_cmd_ctor()
389 mbox_cmd->size_out = min_t(size_t, out_size, cxl_mbox->payload_size); in cxl_mbox_cmd_ctor()
409 struct cxl_mailbox *cxl_mbox) in cxl_to_mem_cmd_raw() argument
419 if (send_cmd->out.size > cxl_mbox->payload_size) in cxl_to_mem_cmd_raw()
425 dev_WARN_ONCE(cxl_mbox->host, true, "raw command path used\n"); in cxl_to_mem_cmd_raw()
[all …]
H A Dfeatures.c55 static int cxl_get_supported_features_count(struct cxl_mailbox *cxl_mbox) in cxl_get_supported_features_count() argument
73 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_get_supported_features_count()
84 struct cxl_mailbox *cxl_mbox = &cxlfs->cxlds->cxl_mbox; in get_supported_features() local
92 count = cxl_get_supported_features_count(cxl_mbox); in get_supported_features()
102 kvmalloc(cxl_mbox->payload_size, GFP_KERNEL); in get_supported_features()
107 max_size = cxl_mbox->payload_size - hdr_size; in get_supported_features()
140 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in get_supported_features()
201 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in devm_cxl_setup_features() local
203 if (cxl_mbox->feat_cap < CXL_FEATURES_RO) in devm_cxl_setup_features()
223 size_t cxl_get_feature(struct cxl_mailbox *cxl_mbox, const uuid_t *feat_uuid, in cxl_get_feature() argument
[all …]
H A Dmemdev.c63 return sysfs_emit(buf, "%zu\n", cxlds->cxl_mbox.payload_size); in payload_max_show()
137 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in security_state_show() local
143 mutex_lock(&cxl_mbox->mbox_mutex); in security_state_show()
146 mutex_unlock(&cxl_mbox->mbox_mutex); in security_state_show()
293 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_inject_poison_locked() local
316 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_inject_poison_locked()
322 dev_warn_once(cxl_mbox->host, in cxl_inject_poison_locked()
353 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_clear_poison_locked() local
385 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_clear_poison_locked()
391 dev_warn_once(cxl_mbox->host, in cxl_clear_poison_locked()
[all …]
H A Dedac.c77 static int cxl_mem_scrub_get_attrbs(struct cxl_mailbox *cxl_mbox, u8 *cap, in cxl_mem_scrub_get_attrbs() argument
87 data_size = cxl_get_feature(cxl_mbox, &CXL_FEAT_PATROL_SCRUB_UUID, in cxl_mem_scrub_get_attrbs()
105 struct cxl_mailbox *cxl_mbox; in cxl_scrub_get_attrbs() local
113 cxl_mbox = &cxl_ps_ctx->cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs()
114 return cxl_mem_scrub_get_attrbs(cxl_mbox, cap, cycle, in cxl_scrub_get_attrbs()
129 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_get_attrbs()
130 ret = cxl_mem_scrub_get_attrbs(cxl_mbox, cap, cycle, flags, in cxl_scrub_get_attrbs()
154 struct cxl_mailbox *cxl_mbox; in cxl_scrub_set_attrbs_region() local
173 cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_scrub_set_attrbs_region()
174 ret = cxl_set_feature(cxl_mbox, &CXL_FEAT_PATROL_SCRUB_UUID, in cxl_scrub_set_attrbs_region()
[all …]
H A Dcore.h95 int cxl_query_cmd(struct cxl_mailbox *cxl_mbox,
97 int cxl_send_cmd(struct cxl_mailbox *cxl_mbox, struct cxl_send_command __user *s);
220 size_t cxl_get_feature(struct cxl_mailbox *cxl_mbox, const uuid_t *feat_uuid,
224 int cxl_set_feature(struct cxl_mailbox *cxl_mbox, const uuid_t *feat_uuid,
/linux/drivers/cxl/
H A Dsecurity.c17 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_get_security_flags() local
33 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_get_security_flags()
74 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_change_key() local
91 return cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_security_change_key()
100 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in __cxl_pmem_security_disable() local
116 return cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in __cxl_pmem_security_disable()
135 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_freeze() local
140 return cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_security_freeze()
148 struct cxl_mailbox *cxl_mbox = &cxlmd->cxlds->cxl_mbox; in cxl_pmem_security_unlock() local
160 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_security_unlock()
[all …]
H A Dpci.c129 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in cxl_pci_mbox_irq() local
138 mutex_lock(&cxl_mbox->mbox_mutex); in cxl_pci_mbox_irq()
141 mutex_unlock(&cxl_mbox->mbox_mutex); in cxl_pci_mbox_irq()
144 rcuwait_wake_up(&cxl_mbox->mbox_wait); in cxl_pci_mbox_irq()
158 struct cxl_mailbox *cxl_mbox = &cxlds->cxl_mbox; in cxl_mbox_sanitize_work() local
160 mutex_lock(&cxl_mbox->mbox_mutex); in cxl_mbox_sanitize_work()
174 mutex_unlock(&cxl_mbox->mbox_mutex); in cxl_mbox_sanitize_work()
199 static int __cxl_pci_mbox_send_cmd(struct cxl_mailbox *cxl_mbox, in __cxl_pci_mbox_send_cmd() argument
202 struct cxl_dev_state *cxlds = mbox_to_cxlds(cxl_mbox); in __cxl_pci_mbox_send_cmd()
210 lockdep_assert_held(&cxl_mbox->mbox_mutex); in __cxl_pci_mbox_send_cmd()
[all …]
H A Dpmem.c191 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_size() local
199 cxl_mbox->payload_size - sizeof(struct cxl_mbox_set_lsa), in cxl_pmem_get_config_size()
209 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_get_config_data() local
231 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_get_config_data()
241 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_pmem_set_config_data() local
268 rc = cxl_internal_send_cmd(cxl_mbox, &mbox_cmd); in cxl_pmem_set_config_data()
H A Dcxlmem.h408 static inline struct cxl_dev_state *mbox_to_cxlds(struct cxl_mailbox *cxl_mbox) in mbox_to_cxlds() argument
410 return dev_get_drvdata(cxl_mbox->host); in mbox_to_cxlds()
792 int cxl_internal_send_cmd(struct cxl_mailbox *cxl_mbox,
/linux/include/cxl/
H A Dmailbox.h66 int (*mbox_send)(struct cxl_mailbox *cxl_mbox, struct cxl_mbox_cmd *cmd);
70 int cxl_mailbox_init(struct cxl_mailbox *cxl_mbox, struct device *host);
H A Dcxl.h190 struct cxl_mailbox cxl_mbox; member
/linux/tools/testing/cxl/test/
H A Dmem.c580 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_get_log() local
594 if (length > cxl_mbox->payload_size) in mock_get_log()
669 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in cxl_mockmem_sanitize_work() local
671 mutex_lock(&cxl_mbox->mbox_mutex); in cxl_mockmem_sanitize_work()
675 mutex_unlock(&cxl_mbox->mbox_mutex); in cxl_mockmem_sanitize_work()
684 struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox; in mock_sanitize() local
702 mutex_lock(&cxl_mbox->mbox_mutex); in mock_sanitize()
709 mutex_unlock(&cxl_mbox->mbox_mutex); in mock_sanitize()
1558 static int cxl_mock_mbox_send(struct cxl_mailbox *cxl_mbox, in cxl_mock_mbox_send() argument
1561 struct device *dev = cxl_mbox->host; in cxl_mock_mbox_send()
[all …]