diff options
Diffstat (limited to 'drivers/devfreq/devfreq_spdm_debugfs.c')
| -rw-r--r-- | drivers/devfreq/devfreq_spdm_debugfs.c | 111 |
1 files changed, 73 insertions, 38 deletions
diff --git a/drivers/devfreq/devfreq_spdm_debugfs.c b/drivers/devfreq/devfreq_spdm_debugfs.c index ef7ac3323ce2..8ef329620a86 100644 --- a/drivers/devfreq/devfreq_spdm_debugfs.c +++ b/drivers/devfreq/devfreq_spdm_debugfs.c @@ -1,5 +1,5 @@ /* -*Copyright (c) 2014, The Linux Foundation. All rights reserved. +*Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * *This program is free software; you can redistribute it and/or modify *it under the terms of the GNU General Public License version 2 and @@ -15,7 +15,6 @@ #include <linux/module.h> #include <linux/slab.h> #include <linux/uaccess.h> -#include <soc/qcom/hvc.h> #include "devfreq_spdm.h" static int spdm_open(struct inode *inode, struct file *file) @@ -29,7 +28,8 @@ static ssize_t pl_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; int i; buf = kzalloc(size, GFP_KERNEL); @@ -47,8 +47,10 @@ static ssize_t pl_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, SPDM_PL_COUNT + 1); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -64,7 +66,8 @@ static ssize_t rejrate_low_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -80,8 +83,10 @@ static ssize_t rejrate_low_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -97,7 +102,8 @@ static ssize_t rejrate_med_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -112,8 +118,10 @@ static ssize_t rejrate_med_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -129,7 +137,8 @@ static ssize_t rejrate_high_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -144,8 +153,10 @@ static ssize_t rejrate_high_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -161,7 +172,8 @@ static ssize_t resptime_low_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -176,8 +188,10 @@ static ssize_t resptime_low_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -193,7 +207,8 @@ static ssize_t resptime_med_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -208,8 +223,10 @@ static ssize_t resptime_med_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -225,7 +242,8 @@ static ssize_t resptime_high_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -240,8 +258,10 @@ static ssize_t resptime_high_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -257,7 +277,8 @@ static ssize_t cciresptime_low_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -272,8 +293,10 @@ static ssize_t cciresptime_low_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -289,7 +312,8 @@ static ssize_t cciresptime_med_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -304,8 +328,10 @@ static ssize_t cciresptime_med_write(struct file *file, const char __user *data, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -322,7 +348,8 @@ static ssize_t cciresptime_high_write(struct file *file, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -337,8 +364,10 @@ static ssize_t cciresptime_high_write(struct file *file, 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]; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 4); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -354,7 +383,8 @@ static ssize_t cci_max_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -367,8 +397,10 @@ static ssize_t cci_max_write(struct file *file, const char __user *data, desc.arg[0] = SPDM_CMD_CFG_MAXCCI; desc.arg[1] = spdm_data->spdm_client; desc.arg[2] = spdm_data->config_data.max_cci_freq; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 3); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; @@ -384,7 +416,8 @@ static ssize_t vote_cfg_write(struct file *file, const char __user *data, { struct spdm_data *spdm_data = file->private_data; char *buf; - struct hvc_desc desc; + struct spdm_args desc = { { 0 } }; + int ext_status = 0; buf = kzalloc(size, GFP_KERNEL); @@ -403,8 +436,10 @@ static ssize_t vote_cfg_write(struct file *file, const char __user *data, 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; - if (hvc(HVC_FN_SIP(SPDM_HYP_FNID), &desc)) - pr_debug("check hvc logs"); + ext_status = spdm_ext_call(&desc, 6); + if (ext_status) + pr_err("External command %u failed with error %u", + (int)desc.arg[0], ext_status); *offset += size; kfree(buf); return size; |
