| /linux/drivers/cxl/core/ |
| H A D | mbox.c | 251 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 D | features.c | 55 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 D | memdev.c | 63 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 D | edac.c | 77 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 D | core.h | 95 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 D | security.c | 17 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 D | pci.c | 129 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 D | pmem.c | 191 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 D | cxlmem.h | 408 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 D | mailbox.h | 66 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 D | cxl.h | 190 struct cxl_mailbox cxl_mbox; member
|
| /linux/tools/testing/cxl/test/ |
| H A D | mem.c | 580 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 …]
|