Loading drivers/devfreq/devfreq_spdm.c +32 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <linux/device.h> #include <linux/devfreq.h> #include <linux/init.h> #include <linux/ipc_logging.h> #include <linux/gfp.h> #include <linux/list.h> #include <linux/module.h> Loading @@ -26,7 +27,15 @@ #include "governor.h" #include "devfreq_spdm.h" static void *spdm_ipc_log_ctxt; #define DEVFREQ_SPDM_DEFAULT_WINDOW_MS 100 #define SPDM_IPC_LOG_PAGES 5 #define SPDM_IPC_LOG(x...) do { \ pr_debug(x); \ if (spdm_ipc_log_ctxt) \ ipc_log_string(spdm_ipc_log_ctxt, x); \ } while (0) static int change_bw(struct device *dev, unsigned long *freq, u32 flags) { Loading Loading @@ -61,7 +70,7 @@ update_thresholds: desc.arg[0] = SPDM_CMD_ENABLE; desc.arg[1] = data->spdm_client; desc.arg[2] = clk_get_rate(data->cci_clk); hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -232,6 +241,17 @@ no_pdata: return ret; } int __spdm_hyp_call(u64 func_id, struct hvc_desc *desc) { int ret = 0; SPDM_IPC_LOG("hvc call fn:0x%llx, cmd:%llu\n", func_id, desc->arg[0]); ret = hvc(func_id, desc); SPDM_IPC_LOG("hvc return fn:0x%llx cmd:%llu Ret[0]:%llu Ret[1]:%llu\n", func_id, desc->arg[0], desc->ret[0], desc->ret[1]); return ret; } static int probe(struct platform_device *pdev) { struct spdm_data *data = 0; Loading Loading @@ -280,6 +300,14 @@ static int probe(struct platform_device *pdev) } spdm_init_debugfs(&pdev->dev); spdm_ipc_log_ctxt = ipc_log_context_create(SPDM_IPC_LOG_PAGES, "devfreq_spdm", 0); if (IS_ERR_OR_NULL(spdm_ipc_log_ctxt)) { pr_err("%s: Failed to create IPC log context\n", __func__); spdm_ipc_log_ctxt = NULL; } return 0; Loading Loading @@ -315,6 +343,9 @@ static int remove(struct platform_device *pdev) devm_kfree(&pdev->dev, data); if (spdm_ipc_log_ctxt) ipc_log_context_destroy(spdm_ipc_log_ctxt); return 0; } Loading drivers/devfreq/devfreq_spdm.h +3 −0 Original line number Diff line number Diff line Loading @@ -103,4 +103,7 @@ extern void spdm_remove_debugfs(struct spdm_data *data); #define SPDM_CMD_CFG_MAXCCI 17 #define SPDM_CMD_CFG_VOTES 18 extern int __spdm_hyp_call(u64 func_id, struct hvc_desc *desc); #define spdm_ext_call __spdm_hyp_call #endif drivers/devfreq/governor_spdm_bw_hyp.c +18 −18 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ static irqreturn_t threaded_isr(int irq, void *dev_id) /* call hyp to get bw_vote */ desc.arg[0] = SPDM_CMD_GET_BW_ALL; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -131,7 +131,7 @@ static int gov_spdm_hyp_target_bw(struct devfreq *devfreq, unsigned long *freq, } else { desc.arg[0] = SPDM_CMD_GET_BW_SPECIFIC; desc.arg[1] = ((struct spdm_data *)devfreq->data)->spdm_client; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -160,7 +160,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[2] = spdm_data->config_data.num_ports; for (i = 0; i < spdm_data->config_data.num_ports; i++) desc.arg[i+3] = spdm_data->config_data.ports[i]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -170,7 +170,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[2] = spdm_data->config_data.aup; desc.arg[3] = spdm_data->config_data.adown; desc.arg[4] = spdm_data->config_data.bucket_size; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -179,7 +179,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; for (i = 0; i < SPDM_PL_COUNT - 1; i++) desc.arg[i+2] = spdm_data->config_data.pl_freqs[i]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -188,7 +188,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[0]; desc.arg[3] = spdm_data->config_data.reject_rate[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -196,7 +196,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[2]; desc.arg[3] = spdm_data->config_data.reject_rate[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -204,7 +204,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[4]; desc.arg[3] = spdm_data->config_data.reject_rate[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -213,7 +213,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[0]; desc.arg[3] = spdm_data->config_data.response_time_us[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -221,7 +221,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[2]; desc.arg[3] = spdm_data->config_data.response_time_us[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -229,7 +229,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[4]; desc.arg[3] = spdm_data->config_data.response_time_us[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -238,7 +238,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[0]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -246,7 +246,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[2]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -254,7 +254,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[4]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -262,7 +262,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[0] = SPDM_CMD_CFG_MAXCCI; desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.max_cci_freq; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -273,7 +273,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[3] = spdm_data->config_data.downstep; desc.arg[4] = spdm_data->config_data.max_vote; desc.arg[5] = spdm_data->config_data.up_step_multp; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -282,7 +282,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[0] = SPDM_CMD_ENABLE; desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = 0; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) { pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -309,7 +309,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, /* call hypvervisor to disable */ desc.arg[0] = SPDM_CMD_DISABLE; desc.arg[1] = spdm_data->spdm_client; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading
drivers/devfreq/devfreq_spdm.c +32 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <linux/device.h> #include <linux/devfreq.h> #include <linux/init.h> #include <linux/ipc_logging.h> #include <linux/gfp.h> #include <linux/list.h> #include <linux/module.h> Loading @@ -26,7 +27,15 @@ #include "governor.h" #include "devfreq_spdm.h" static void *spdm_ipc_log_ctxt; #define DEVFREQ_SPDM_DEFAULT_WINDOW_MS 100 #define SPDM_IPC_LOG_PAGES 5 #define SPDM_IPC_LOG(x...) do { \ pr_debug(x); \ if (spdm_ipc_log_ctxt) \ ipc_log_string(spdm_ipc_log_ctxt, x); \ } while (0) static int change_bw(struct device *dev, unsigned long *freq, u32 flags) { Loading Loading @@ -61,7 +70,7 @@ update_thresholds: desc.arg[0] = SPDM_CMD_ENABLE; desc.arg[1] = data->spdm_client; desc.arg[2] = clk_get_rate(data->cci_clk); hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -232,6 +241,17 @@ no_pdata: return ret; } int __spdm_hyp_call(u64 func_id, struct hvc_desc *desc) { int ret = 0; SPDM_IPC_LOG("hvc call fn:0x%llx, cmd:%llu\n", func_id, desc->arg[0]); ret = hvc(func_id, desc); SPDM_IPC_LOG("hvc return fn:0x%llx cmd:%llu Ret[0]:%llu Ret[1]:%llu\n", func_id, desc->arg[0], desc->ret[0], desc->ret[1]); return ret; } static int probe(struct platform_device *pdev) { struct spdm_data *data = 0; Loading Loading @@ -280,6 +300,14 @@ static int probe(struct platform_device *pdev) } spdm_init_debugfs(&pdev->dev); spdm_ipc_log_ctxt = ipc_log_context_create(SPDM_IPC_LOG_PAGES, "devfreq_spdm", 0); if (IS_ERR_OR_NULL(spdm_ipc_log_ctxt)) { pr_err("%s: Failed to create IPC log context\n", __func__); spdm_ipc_log_ctxt = NULL; } return 0; Loading Loading @@ -315,6 +343,9 @@ static int remove(struct platform_device *pdev) devm_kfree(&pdev->dev, data); if (spdm_ipc_log_ctxt) ipc_log_context_destroy(spdm_ipc_log_ctxt); return 0; } Loading
drivers/devfreq/devfreq_spdm.h +3 −0 Original line number Diff line number Diff line Loading @@ -103,4 +103,7 @@ extern void spdm_remove_debugfs(struct spdm_data *data); #define SPDM_CMD_CFG_MAXCCI 17 #define SPDM_CMD_CFG_VOTES 18 extern int __spdm_hyp_call(u64 func_id, struct hvc_desc *desc); #define spdm_ext_call __spdm_hyp_call #endif
drivers/devfreq/governor_spdm_bw_hyp.c +18 −18 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ static irqreturn_t threaded_isr(int irq, void *dev_id) /* call hyp to get bw_vote */ desc.arg[0] = SPDM_CMD_GET_BW_ALL; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -131,7 +131,7 @@ static int gov_spdm_hyp_target_bw(struct devfreq *devfreq, unsigned long *freq, } else { desc.arg[0] = SPDM_CMD_GET_BW_SPECIFIC; desc.arg[1] = ((struct spdm_data *)devfreq->data)->spdm_client; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading Loading @@ -160,7 +160,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[2] = spdm_data->config_data.num_ports; for (i = 0; i < spdm_data->config_data.num_ports; i++) desc.arg[i+3] = spdm_data->config_data.ports[i]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -170,7 +170,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[2] = spdm_data->config_data.aup; desc.arg[3] = spdm_data->config_data.adown; desc.arg[4] = spdm_data->config_data.bucket_size; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -179,7 +179,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; for (i = 0; i < SPDM_PL_COUNT - 1; i++) desc.arg[i+2] = spdm_data->config_data.pl_freqs[i]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -188,7 +188,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[0]; desc.arg[3] = spdm_data->config_data.reject_rate[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -196,7 +196,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[2]; desc.arg[3] = spdm_data->config_data.reject_rate[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -204,7 +204,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.reject_rate[4]; desc.arg[3] = spdm_data->config_data.reject_rate[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -213,7 +213,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[0]; desc.arg[3] = spdm_data->config_data.response_time_us[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -221,7 +221,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[2]; desc.arg[3] = spdm_data->config_data.response_time_us[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -229,7 +229,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.response_time_us[4]; desc.arg[3] = spdm_data->config_data.response_time_us[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -238,7 +238,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[0]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[1]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -246,7 +246,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[2]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[3]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -254,7 +254,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.cci_response_time_us[4]; desc.arg[3] = spdm_data->config_data.cci_response_time_us[5]; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -262,7 +262,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[0] = SPDM_CMD_CFG_MAXCCI; desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.max_cci_freq; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -273,7 +273,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[3] = spdm_data->config_data.downstep; desc.arg[4] = spdm_data->config_data.max_vote; desc.arg[5] = spdm_data->config_data.up_step_multp; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -282,7 +282,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, desc.arg[0] = SPDM_CMD_ENABLE; desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = 0; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) { pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading @@ -309,7 +309,7 @@ static int gov_spdm_hyp_eh(struct devfreq *devfreq, unsigned int event, /* call hypvervisor to disable */ desc.arg[0] = SPDM_CMD_DISABLE; desc.arg[1] = spdm_data->spdm_client; hvc_status = hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc); hvc_status = spdm_ext_call(HVC_FN_SIP(SPDM_HYP_FNID), &desc); if (hvc_status) pr_err("HVC command %u failed with error %u", (int)desc.arg[0], hvc_status); Loading