Lines Matching refs:cmd

255 static int mock_get_event(struct device *dev, struct cxl_mbox_cmd *cmd)  in mock_get_event()  argument
263 if (cmd->size_in != sizeof(log_type)) in mock_get_event()
270 if (cmd->size_out < struct_size(pl, records, ret_limit)) in mock_get_event()
273 log_type = *((u8 *)cmd->payload_in); in mock_get_event()
277 memset(cmd->payload_out, 0, struct_size(pl, records, 0)); in mock_get_event()
283 pl = cmd->payload_out; in mock_get_event()
293 cmd->size_out = struct_size(pl, records, i); in mock_get_event()
314 static int mock_clear_event(struct device *dev, struct cxl_mbox_cmd *cmd) in mock_clear_event() argument
316 struct cxl_mbox_clear_event_payload *pl = cmd->payload_in; in mock_clear_event()
498 struct cxl_mbox_cmd *cmd) in mock_set_timestamp() argument
501 struct cxl_mbox_set_timestamp_in *ts = cmd->payload_in; in mock_set_timestamp()
503 if (cmd->size_in != sizeof(*ts)) in mock_set_timestamp()
506 if (cmd->size_out != 0) in mock_set_timestamp()
564 static int mock_gsl(struct cxl_mbox_cmd *cmd) in mock_gsl() argument
566 if (cmd->size_out < sizeof(mock_gsl_payload)) in mock_gsl()
569 memcpy(cmd->payload_out, &mock_gsl_payload, sizeof(mock_gsl_payload)); in mock_gsl()
570 cmd->size_out = sizeof(mock_gsl_payload); in mock_gsl()
575 static int mock_get_log(struct cxl_memdev_state *mds, struct cxl_mbox_cmd *cmd) in mock_get_log() argument
578 struct cxl_mbox_get_log *gl = cmd->payload_in; in mock_get_log()
584 if (cmd->size_in < sizeof(*gl)) in mock_get_log()
592 if (length > cmd->size_out) in mock_get_log()
595 memcpy(cmd->payload_out, data + offset, length); in mock_get_log()
600 static int mock_rcd_id(struct cxl_mbox_cmd *cmd) in mock_rcd_id() argument
610 if (cmd->size_out < sizeof(id)) in mock_rcd_id()
613 memcpy(cmd->payload_out, &id, sizeof(id)); in mock_rcd_id()
618 static int mock_id(struct cxl_mbox_cmd *cmd) in mock_id() argument
632 if (cmd->size_out < sizeof(id)) in mock_id()
635 memcpy(cmd->payload_out, &id, sizeof(id)); in mock_id()
640 static int mock_partition_info(struct cxl_mbox_cmd *cmd) in mock_partition_info() argument
649 if (cmd->size_out < sizeof(pi)) in mock_partition_info()
652 memcpy(cmd->payload_out, &pi, sizeof(pi)); in mock_partition_info()
673 struct cxl_mbox_cmd *cmd) in mock_sanitize() argument
679 if (cmd->size_in != 0) in mock_sanitize()
682 if (cmd->size_out != 0) in mock_sanitize()
686 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_sanitize()
690 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_sanitize()
707 struct cxl_mbox_cmd *cmd) in mock_secure_erase() argument
709 if (cmd->size_in != 0) in mock_secure_erase()
712 if (cmd->size_out != 0) in mock_secure_erase()
716 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_secure_erase()
721 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_secure_erase()
729 struct cxl_mbox_cmd *cmd) in mock_get_security_state() argument
731 if (cmd->size_in) in mock_get_security_state()
734 if (cmd->size_out != sizeof(u32)) in mock_get_security_state()
737 memcpy(cmd->payload_out, &mdata->security_state, sizeof(u32)); in mock_get_security_state()
761 struct cxl_mbox_cmd *cmd) in mock_set_passphrase() argument
765 if (cmd->size_in != sizeof(*set_pass)) in mock_set_passphrase()
768 if (cmd->size_out != 0) in mock_set_passphrase()
772 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_set_passphrase()
776 set_pass = cmd->payload_in; in mock_set_passphrase()
780 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_set_passphrase()
788 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_set_passphrase()
793 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_set_passphrase()
802 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_set_passphrase()
807 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_set_passphrase()
815 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_set_passphrase()
821 struct cxl_mbox_cmd *cmd) in mock_disable_passphrase() argument
825 if (cmd->size_in != sizeof(*dis_pass)) in mock_disable_passphrase()
828 if (cmd->size_out != 0) in mock_disable_passphrase()
832 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_disable_passphrase()
836 dis_pass = cmd->payload_in; in mock_disable_passphrase()
840 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_disable_passphrase()
845 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_disable_passphrase()
851 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_disable_passphrase()
862 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_disable_passphrase()
867 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_disable_passphrase()
873 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_disable_passphrase()
884 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_disable_passphrase()
892 struct cxl_mbox_cmd *cmd) in mock_freeze_security() argument
894 if (cmd->size_in != 0) in mock_freeze_security()
897 if (cmd->size_out != 0) in mock_freeze_security()
908 struct cxl_mbox_cmd *cmd) in mock_unlock_security() argument
910 if (cmd->size_in != NVDIMM_PASSPHRASE_LEN) in mock_unlock_security()
913 if (cmd->size_out != 0) in mock_unlock_security()
917 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_unlock_security()
922 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_unlock_security()
927 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_unlock_security()
932 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_unlock_security()
936 if (memcmp(cmd->payload_in, mdata->user_pass, NVDIMM_PASSPHRASE_LEN)) { in mock_unlock_security()
939 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_unlock_security()
949 struct cxl_mbox_cmd *cmd) in mock_passphrase_secure_erase() argument
953 if (cmd->size_in != sizeof(*erase)) in mock_passphrase_secure_erase()
956 if (cmd->size_out != 0) in mock_passphrase_secure_erase()
959 erase = cmd->payload_in; in mock_passphrase_secure_erase()
961 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_passphrase_secure_erase()
967 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_passphrase_secure_erase()
973 cmd->return_code = CXL_MBOX_CMD_RC_SECURITY; in mock_passphrase_secure_erase()
990 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_passphrase_secure_erase()
1021 cmd->return_code = CXL_MBOX_CMD_RC_PASSPHRASE; in mock_passphrase_secure_erase()
1047 struct cxl_mbox_cmd *cmd) in mock_get_lsa() argument
1049 struct cxl_mbox_get_lsa *get_lsa = cmd->payload_in; in mock_get_lsa()
1053 if (sizeof(*get_lsa) > cmd->size_in) in mock_get_lsa()
1059 if (length > cmd->size_out) in mock_get_lsa()
1062 memcpy(cmd->payload_out, lsa + offset, length); in mock_get_lsa()
1067 struct cxl_mbox_cmd *cmd) in mock_set_lsa() argument
1069 struct cxl_mbox_set_lsa *set_lsa = cmd->payload_in; in mock_set_lsa()
1073 if (sizeof(*set_lsa) > cmd->size_in) in mock_set_lsa()
1076 length = cmd->size_in - sizeof(*set_lsa); in mock_set_lsa()
1084 static int mock_health_info(struct cxl_mbox_cmd *cmd) in mock_health_info() argument
1106 if (cmd->size_out < sizeof(health_info)) in mock_health_info()
1109 memcpy(cmd->payload_out, &health_info, sizeof(health_info)); in mock_health_info()
1114 struct cxl_mbox_cmd *cmd) in mock_set_shutdown_state() argument
1116 struct cxl_mbox_set_shutdown_state_in *ss = cmd->payload_in; in mock_set_shutdown_state()
1118 if (cmd->size_in != sizeof(*ss)) in mock_set_shutdown_state()
1121 if (cmd->size_out != 0) in mock_set_shutdown_state()
1166 struct cxl_mbox_cmd *cmd) in mock_get_poison() argument
1168 struct cxl_mbox_poison_in *pi = cmd->payload_in; in mock_get_poison()
1178 memcpy(cmd->payload_out, po, struct_size(po, record, nr_records)); in mock_get_poison()
1179 cmd->size_out = struct_size(po, record, nr_records); in mock_get_poison()
1231 struct cxl_mbox_cmd *cmd) in mock_inject_poison() argument
1233 struct cxl_mbox_inject_poison *pi = cmd->payload_in; in mock_inject_poison()
1258 struct cxl_mbox_cmd *cmd) in mock_clear_poison() argument
1260 struct cxl_mbox_clear_poison *pi = cmd->payload_in; in mock_clear_poison()
1316 struct cxl_mbox_cmd *cmd) in mock_fw_info() argument
1330 if (cmd->size_out < sizeof(fw_info)) in mock_fw_info()
1333 memcpy(cmd->payload_out, &fw_info, sizeof(fw_info)); in mock_fw_info()
1338 struct cxl_mbox_cmd *cmd) in mock_transfer_fw() argument
1340 struct cxl_mbox_transfer_fw *transfer = cmd->payload_in; in mock_transfer_fw()
1345 length = cmd->size_in - sizeof(*transfer); in mock_transfer_fw()
1374 struct cxl_mbox_cmd *cmd) in mock_activate_fw() argument
1376 struct cxl_mbox_activate_fw *activate = cmd->payload_in; in mock_activate_fw()
1416 struct cxl_mbox_cmd *cmd) in mock_get_test_feature() argument
1418 struct vendor_test_feat *output = cmd->payload_out; in mock_get_test_feature()
1419 struct cxl_mbox_get_feat_in *input = cmd->payload_in; in mock_get_test_feature()
1425 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_get_test_feature()
1430 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_get_test_feature()
1441 struct cxl_mbox_cmd *cmd) in mock_get_feature() argument
1443 struct cxl_mbox_get_feat_in *input = cmd->payload_in; in mock_get_feature()
1446 return mock_get_test_feature(mdata, cmd); in mock_get_feature()
1448 cmd->return_code = CXL_MBOX_CMD_RC_UNSUPPORTED; in mock_get_feature()
1454 struct cxl_mbox_cmd *cmd) in mock_set_test_feature() argument
1456 struct cxl_mbox_set_feat_in *input = cmd->payload_in; in mock_set_test_feature()
1469 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_set_test_feature()
1475 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_set_test_feature()
1485 struct cxl_mbox_cmd *cmd) in mock_set_feature() argument
1487 struct cxl_mbox_set_feat_in *input = cmd->payload_in; in mock_set_feature()
1490 return mock_set_test_feature(mdata, cmd); in mock_set_feature()
1492 cmd->return_code = CXL_MBOX_CMD_RC_UNSUPPORTED; in mock_set_feature()
1498 struct cxl_mbox_cmd *cmd) in mock_get_supported_features() argument
1500 struct cxl_mbox_get_sup_feats_in *in = cmd->payload_in; in mock_get_supported_features()
1501 struct cxl_mbox_get_sup_feats_out *out = cmd->payload_out; in mock_get_supported_features()
1505 if (cmd->size_out < sizeof(*out)) { in mock_get_supported_features()
1506 cmd->return_code = CXL_MBOX_CMD_RC_PAYLOADLEN; in mock_get_supported_features()
1515 cmd->return_code = CXL_MBOX_CMD_RC_INPUT; in mock_get_supported_features()
1521 cmd->return_code = CXL_MBOX_CMD_RC_PAYLOADLEN; in mock_get_supported_features()
1526 cmd->return_code = 0; in mock_get_supported_features()
1540 struct cxl_mbox_cmd *cmd) in cxl_mock_mbox_send() argument
1548 switch (cmd->opcode) { in cxl_mock_mbox_send()
1550 rc = mock_set_timestamp(cxlds, cmd); in cxl_mock_mbox_send()
1553 rc = mock_gsl(cmd); in cxl_mock_mbox_send()
1556 rc = mock_get_log(mds, cmd); in cxl_mock_mbox_send()
1560 rc = mock_rcd_id(cmd); in cxl_mock_mbox_send()
1562 rc = mock_id(cmd); in cxl_mock_mbox_send()
1565 rc = mock_get_lsa(mdata, cmd); in cxl_mock_mbox_send()
1568 rc = mock_partition_info(cmd); in cxl_mock_mbox_send()
1571 rc = mock_get_event(dev, cmd); in cxl_mock_mbox_send()
1574 rc = mock_clear_event(dev, cmd); in cxl_mock_mbox_send()
1577 rc = mock_set_lsa(mdata, cmd); in cxl_mock_mbox_send()
1580 rc = mock_health_info(cmd); in cxl_mock_mbox_send()
1583 rc = mock_sanitize(mdata, cmd); in cxl_mock_mbox_send()
1586 rc = mock_secure_erase(mdata, cmd); in cxl_mock_mbox_send()
1589 rc = mock_get_security_state(mdata, cmd); in cxl_mock_mbox_send()
1592 rc = mock_set_passphrase(mdata, cmd); in cxl_mock_mbox_send()
1595 rc = mock_disable_passphrase(mdata, cmd); in cxl_mock_mbox_send()
1598 rc = mock_freeze_security(mdata, cmd); in cxl_mock_mbox_send()
1601 rc = mock_unlock_security(mdata, cmd); in cxl_mock_mbox_send()
1604 rc = mock_passphrase_secure_erase(mdata, cmd); in cxl_mock_mbox_send()
1607 rc = mock_set_shutdown_state(mdata, cmd); in cxl_mock_mbox_send()
1610 rc = mock_get_poison(cxlds, cmd); in cxl_mock_mbox_send()
1613 rc = mock_inject_poison(cxlds, cmd); in cxl_mock_mbox_send()
1616 rc = mock_clear_poison(cxlds, cmd); in cxl_mock_mbox_send()
1619 rc = mock_fw_info(mdata, cmd); in cxl_mock_mbox_send()
1622 rc = mock_transfer_fw(mdata, cmd); in cxl_mock_mbox_send()
1625 rc = mock_activate_fw(mdata, cmd); in cxl_mock_mbox_send()
1628 rc = mock_get_supported_features(mdata, cmd); in cxl_mock_mbox_send()
1631 rc = mock_get_feature(mdata, cmd); in cxl_mock_mbox_send()
1634 rc = mock_set_feature(mdata, cmd); in cxl_mock_mbox_send()
1640 dev_dbg(dev, "opcode: %#x sz_in: %zd sz_out: %zd rc: %d\n", cmd->opcode, in cxl_mock_mbox_send()
1641 cmd->size_in, cmd->size_out, rc); in cxl_mock_mbox_send()