Lines Matching refs:cmd

408 	psp->cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);  in psp_sw_init()
409 if (!psp->cmd) { in psp_sw_init()
509 struct psp_gfx_cmd_resp *cmd = psp->cmd; in psp_sw_fini() local
519 kfree(cmd); in psp_sw_fini()
520 cmd = NULL; in psp_sw_fini()
625 struct psp_gfx_cmd_resp *cmd, uint64_t fence_mc_addr) in psp_cmd_submit_buf() argument
638 memcpy(psp->cmd_buf_mem, cmd, sizeof(struct psp_gfx_cmd_resp)); in psp_cmd_submit_buf()
667 memcpy(&cmd->resp, &psp->cmd_buf_mem->resp, sizeof(struct psp_gfx_resp)); in psp_cmd_submit_buf()
704 struct psp_gfx_cmd_resp *cmd = psp->cmd; in acquire_psp_cmd_buf() local
708 memset(cmd, 0, sizeof(struct psp_gfx_cmd_resp)); in acquire_psp_cmd_buf()
710 return cmd; in acquire_psp_cmd_buf()
719 struct psp_gfx_cmd_resp *cmd, in psp_prep_tmr_cmd_buf() argument
732 cmd->cmd_id = GFX_CMD_ID_SETUP_VMR; in psp_prep_tmr_cmd_buf()
734 cmd->cmd_id = GFX_CMD_ID_SETUP_TMR; in psp_prep_tmr_cmd_buf()
735 cmd->cmd.cmd_setup_tmr.buf_phy_addr_lo = lower_32_bits(tmr_mc); in psp_prep_tmr_cmd_buf()
736 cmd->cmd.cmd_setup_tmr.buf_phy_addr_hi = upper_32_bits(tmr_mc); in psp_prep_tmr_cmd_buf()
737 cmd->cmd.cmd_setup_tmr.buf_size = size; in psp_prep_tmr_cmd_buf()
738 cmd->cmd.cmd_setup_tmr.bitfield.virt_phy_addr = 1; in psp_prep_tmr_cmd_buf()
739 cmd->cmd.cmd_setup_tmr.system_phy_addr_lo = lower_32_bits(tmr_pa); in psp_prep_tmr_cmd_buf()
740 cmd->cmd.cmd_setup_tmr.system_phy_addr_hi = upper_32_bits(tmr_pa); in psp_prep_tmr_cmd_buf()
743 static void psp_prep_load_toc_cmd_buf(struct psp_gfx_cmd_resp *cmd, in psp_prep_load_toc_cmd_buf() argument
746 cmd->cmd_id = GFX_CMD_ID_LOAD_TOC; in psp_prep_load_toc_cmd_buf()
747 cmd->cmd.cmd_load_toc.toc_phy_addr_lo = lower_32_bits(pri_buf_mc); in psp_prep_load_toc_cmd_buf()
748 cmd->cmd.cmd_load_toc.toc_phy_addr_hi = upper_32_bits(pri_buf_mc); in psp_prep_load_toc_cmd_buf()
749 cmd->cmd.cmd_load_toc.toc_size = size; in psp_prep_load_toc_cmd_buf()
757 struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp); in psp_load_toc() local
762 psp_prep_load_toc_cmd_buf(cmd, psp->fw_pri_mc_addr, psp->toc.size_bytes); in psp_load_toc()
764 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_load_toc()
846 struct psp_gfx_cmd_resp *cmd; in psp_tmr_load() local
854 cmd = acquire_psp_cmd_buf(psp); in psp_tmr_load()
856 psp_prep_tmr_cmd_buf(psp, cmd, psp->tmr_mc_addr, psp->tmr_bo); in psp_tmr_load()
861 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_tmr_load()
870 struct psp_gfx_cmd_resp *cmd) in psp_prep_tmr_unload_cmd_buf() argument
873 cmd->cmd_id = GFX_CMD_ID_DESTROY_VMR; in psp_prep_tmr_unload_cmd_buf()
875 cmd->cmd_id = GFX_CMD_ID_DESTROY_TMR; in psp_prep_tmr_unload_cmd_buf()
881 struct psp_gfx_cmd_resp *cmd; in psp_tmr_unload() local
889 cmd = acquire_psp_cmd_buf(psp); in psp_tmr_unload()
891 psp_prep_tmr_unload_cmd_buf(psp, cmd); in psp_tmr_unload()
894 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_tmr_unload()
911 struct psp_gfx_cmd_resp *cmd; in psp_get_fw_attestation_records_addr() local
919 cmd = acquire_psp_cmd_buf(psp); in psp_get_fw_attestation_records_addr()
921 cmd->cmd_id = GFX_CMD_ID_GET_FW_ATTESTATION; in psp_get_fw_attestation_records_addr()
923 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_get_fw_attestation_records_addr()
927 *output_ptr = ((uint64_t)cmd->resp.uresp.fwar_db_info.fwar_db_addr_lo) + in psp_get_fw_attestation_records_addr()
928 ((uint64_t)cmd->resp.uresp.fwar_db_info.fwar_db_addr_hi << 32); in psp_get_fw_attestation_records_addr()
939 struct psp_gfx_cmd_resp *cmd; in psp_boot_config_get() local
945 cmd = acquire_psp_cmd_buf(psp); in psp_boot_config_get()
947 cmd->cmd_id = GFX_CMD_ID_BOOT_CFG; in psp_boot_config_get()
948 cmd->cmd.boot_cfg.sub_cmd = BOOTCFG_CMD_GET; in psp_boot_config_get()
950 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_boot_config_get()
953 (cmd->resp.uresp.boot_cfg.boot_cfg & BOOT_CONFIG_GECC) ? 1 : 0; in psp_boot_config_get()
965 struct psp_gfx_cmd_resp *cmd; in psp_boot_config_set() local
970 cmd = acquire_psp_cmd_buf(psp); in psp_boot_config_set()
972 cmd->cmd_id = GFX_CMD_ID_BOOT_CFG; in psp_boot_config_set()
973 cmd->cmd.boot_cfg.sub_cmd = BOOTCFG_CMD_SET; in psp_boot_config_set()
974 cmd->cmd.boot_cfg.boot_config = boot_cfg; in psp_boot_config_set()
975 cmd->cmd.boot_cfg.boot_config_valid = boot_cfg; in psp_boot_config_set()
977 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_boot_config_set()
988 struct psp_gfx_cmd_resp *cmd; in psp_rl_load() local
993 cmd = acquire_psp_cmd_buf(psp); in psp_rl_load()
998 cmd->cmd_id = GFX_CMD_ID_LOAD_IP_FW; in psp_rl_load()
999 cmd->cmd.cmd_load_ip_fw.fw_phy_addr_lo = lower_32_bits(psp->fw_pri_mc_addr); in psp_rl_load()
1000 cmd->cmd.cmd_load_ip_fw.fw_phy_addr_hi = upper_32_bits(psp->fw_pri_mc_addr); in psp_rl_load()
1001 cmd->cmd.cmd_load_ip_fw.fw_size = psp->rl.size_bytes; in psp_rl_load()
1002 cmd->cmd.cmd_load_ip_fw.fw_type = GFX_FW_TYPE_REG_LIST; in psp_rl_load()
1004 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_rl_load()
1013 struct psp_gfx_cmd_resp *cmd; in psp_spatial_partition() local
1019 cmd = acquire_psp_cmd_buf(psp); in psp_spatial_partition()
1021 cmd->cmd_id = GFX_CMD_ID_SRIOV_SPATIAL_PART; in psp_spatial_partition()
1022 cmd->cmd.cmd_spatial_part.mode = mode; in psp_spatial_partition()
1025 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_spatial_partition()
1054 static void psp_prep_ta_unload_cmd_buf(struct psp_gfx_cmd_resp *cmd, in psp_prep_ta_unload_cmd_buf() argument
1057 cmd->cmd_id = GFX_CMD_ID_UNLOAD_TA; in psp_prep_ta_unload_cmd_buf()
1058 cmd->cmd.cmd_unload_ta.session_id = session_id; in psp_prep_ta_unload_cmd_buf()
1064 struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp); in psp_ta_unload() local
1066 psp_prep_ta_unload_cmd_buf(cmd, context->session_id); in psp_ta_unload()
1068 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_ta_unload()
1070 context->resp_status = cmd->resp.status; in psp_ta_unload()
1094 static void psp_prep_reg_prog_cmd_buf(struct psp_gfx_cmd_resp *cmd, in psp_prep_reg_prog_cmd_buf() argument
1097 cmd->cmd_id = GFX_CMD_ID_PROG_REG; in psp_prep_reg_prog_cmd_buf()
1098 cmd->cmd.cmd_setup_reg_prog.reg_value = value; in psp_prep_reg_prog_cmd_buf()
1099 cmd->cmd.cmd_setup_reg_prog.reg_id = id; in psp_prep_reg_prog_cmd_buf()
1105 struct psp_gfx_cmd_resp *cmd; in psp_reg_program() local
1111 cmd = acquire_psp_cmd_buf(psp); in psp_reg_program()
1113 psp_prep_reg_prog_cmd_buf(cmd, reg, value); in psp_reg_program()
1114 ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); in psp_reg_program()
1123 static void psp_prep_ta_load_cmd_buf(struct psp_gfx_cmd_resp *cmd, in psp_prep_ta_load_cmd_buf() argument
1127 cmd->cmd_id = context->ta_load_type; in psp_prep_ta_load_cmd_buf()
1128 cmd->cmd.cmd_load_ta.app_phy_addr_lo = lower_32_bits(ta_bin_mc); in psp_prep_ta_load_cmd_buf()
1129 cmd->cmd.cmd_load_ta.app_phy_addr_hi = upper_32_bits(ta_bin_mc); in psp_prep_ta_load_cmd_buf()
1130 cmd->cmd.cmd_load_ta.app_len = context->bin_desc.size_bytes; in psp_prep_ta_load_cmd_buf()
1132 cmd->cmd.cmd_load_ta.cmd_buf_phy_addr_lo = in psp_prep_ta_load_cmd_buf()
1134 cmd->cmd.cmd_load_ta.cmd_buf_phy_addr_hi = in psp_prep_ta_load_cmd_buf()
1136 cmd->cmd.cmd_load_ta.cmd_buf_len = context->mem_context.shared_mem_size; in psp_prep_ta_load_cmd_buf()
1154 static void psp_prep_ta_invoke_cmd_buf(struct psp_gfx_cmd_resp *cmd, in psp_prep_ta_invoke_cmd_buf() argument
1158 cmd->cmd_id = GFX_CMD_ID_INVOKE_CMD; in psp_prep_ta_invoke_cmd_buf()
1159 cmd->cmd.cmd_invoke_cmd.session_id = session_id; in psp_prep_ta_invoke_cmd_buf()
1160 cmd->cmd.cmd_invoke_cmd.ta_cmd_id = ta_cmd_id; in psp_prep_ta_invoke_cmd_buf()
1168 struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp); in psp_ta_invoke() local
1170 psp_prep_ta_invoke_cmd_buf(cmd, ta_cmd_id, context->session_id); in psp_ta_invoke()
1172 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_ta_invoke()
1175 context->resp_status = cmd->resp.status; in psp_ta_invoke()
1185 struct psp_gfx_cmd_resp *cmd; in psp_ta_load() local
1187 cmd = acquire_psp_cmd_buf(psp); in psp_ta_load()
1192 psp_prep_ta_load_cmd_buf(cmd, psp->fw_pri_mc_addr, context); in psp_ta_load()
1194 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_ta_load()
1197 context->resp_status = cmd->resp.status; in psp_ta_load()
1200 context->session_id = cmd->resp.session_id; in psp_ta_load()
2453 struct psp_gfx_cmd_resp *cmd) in psp_prep_load_ip_fw_cmd_buf() argument
2458 cmd->cmd_id = GFX_CMD_ID_LOAD_IP_FW; in psp_prep_load_ip_fw_cmd_buf()
2459 cmd->cmd.cmd_load_ip_fw.fw_phy_addr_lo = lower_32_bits(fw_mem_mc_addr); in psp_prep_load_ip_fw_cmd_buf()
2460 cmd->cmd.cmd_load_ip_fw.fw_phy_addr_hi = upper_32_bits(fw_mem_mc_addr); in psp_prep_load_ip_fw_cmd_buf()
2461 cmd->cmd.cmd_load_ip_fw.fw_size = ucode->ucode_size; in psp_prep_load_ip_fw_cmd_buf()
2463 ret = psp_get_fw_type(ucode, &cmd->cmd.cmd_load_ip_fw.fw_type); in psp_prep_load_ip_fw_cmd_buf()
2474 struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp); in psp_execute_ip_fw_load() local
2476 ret = psp_prep_load_ip_fw_cmd_buf(ucode, cmd); in psp_execute_ip_fw_load()
2478 ret = psp_cmd_submit_buf(psp, ucode, cmd, in psp_execute_ip_fw_load()
2931 struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp); in psp_rlc_autoload_start() local
2933 cmd->cmd_id = GFX_CMD_ID_AUTOLOAD_RLC; in psp_rlc_autoload_start()
2935 ret = psp_cmd_submit_buf(psp, NULL, cmd, in psp_rlc_autoload_start()