mirror of
https://gitee.com/Vancouver2017/luban-lite.git
synced 2025-12-17 09:38:55 +00:00
V1.0.6
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2023, Artinchip Technology Co., Ltd
|
||||
* Copyright (c) 2023-2024, ArtInChip Technology Co., Ltd
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@@ -12,6 +12,9 @@
|
||||
#include <console.h>
|
||||
#include <aic_common.h>
|
||||
#include "upg_internal.h"
|
||||
#ifdef AIC_USING_SID
|
||||
#include "efuse.h"
|
||||
#endif
|
||||
#ifdef AICUPG_LOG_BUFFER_SUPPORT
|
||||
#include <log_buf.h>
|
||||
#endif
|
||||
@@ -26,7 +29,9 @@ struct hwinfo {
|
||||
u8 init_mode;
|
||||
u8 curr_mode;
|
||||
u8 boot_stage;
|
||||
u8 reserved1[67];
|
||||
u8 reserved1[3];
|
||||
u32 chipid[4];
|
||||
u8 reserved2[48];
|
||||
};
|
||||
|
||||
struct cmd_rw_priv {
|
||||
@@ -41,7 +46,7 @@ struct cmd_rw_priv {
|
||||
* <- [RESP HEADER]
|
||||
* <- [HWINFO DATA]
|
||||
*/
|
||||
static void CMD_GET_HWINFO_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void get_hwinfo_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
pr_debug("%s\n", __func__);
|
||||
if (cmd->cmd != UPG_PROTO_CMD_GET_HWINFO)
|
||||
@@ -49,14 +54,14 @@ static void CMD_GET_HWINFO_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_GET_HWINFO_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_hwinfo_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
/* No input data */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static s32 CMD_GET_HWINFO_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_hwinfo_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -91,8 +96,11 @@ static s32 CMD_GET_HWINFO_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
memset(&hw, 0, sizeof(hw));
|
||||
memcpy(hw.magic, "HWINFO", 6);
|
||||
hw.boot_stage = BOOT_STAGE_UBOOT;
|
||||
hw.init_mode = upg_info.init.mode;
|
||||
hw.init_mode = upg_info.init.mode_bits;
|
||||
hw.curr_mode = upg_info.cfg.mode;
|
||||
#ifdef AIC_USING_SID
|
||||
efuse_read_chip_id(hw.chipid);
|
||||
#endif
|
||||
memcpy(buf + siz, &hw, sizeof(hw));
|
||||
siz += sizeof(hw);
|
||||
|
||||
@@ -102,23 +110,23 @@ static s32 CMD_GET_HWINFO_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_GET_HWINFO_end(struct upg_cmd *cmd)
|
||||
static void get_hwinfo_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
pr_debug("%s\n", __func__);
|
||||
cmd_state_set_next(cmd, CMD_STATE_IDLE);
|
||||
}
|
||||
|
||||
static void CMD_UNSUPPORTED_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void unsupported_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
}
|
||||
|
||||
static s32 CMD_UNSUPPORTED_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 unsupported_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
return len;
|
||||
}
|
||||
|
||||
static s32 CMD_UNSUPPORTED_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 unsupported_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -137,7 +145,7 @@ static s32 CMD_UNSUPPORTED_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_UNSUPPORTED_end(struct upg_cmd *cmd)
|
||||
static void unsupported_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -147,7 +155,7 @@ static void CMD_UNSUPPORTED_end(struct upg_cmd *cmd)
|
||||
* -> [DATA from host]
|
||||
* <- [RESP HEADER]
|
||||
*/
|
||||
static void CMD_WRITE_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void write_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
|
||||
@@ -187,7 +195,7 @@ static void *hw_friendly_memcpy(void *dest, const void *src, size_t count)
|
||||
return dest;
|
||||
}
|
||||
|
||||
static s32 CMD_WRITE_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 write_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
u32 val, clen;
|
||||
@@ -233,7 +241,7 @@ static s32 CMD_WRITE_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_WRITE_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 write_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
struct resp_header resp;
|
||||
@@ -259,7 +267,7 @@ static s32 CMD_WRITE_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_WRITE_end(struct upg_cmd *cmd)
|
||||
static void write_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
|
||||
@@ -282,7 +290,7 @@ static void CMD_WRITE_end(struct upg_cmd *cmd)
|
||||
* <- [RESP HEADER]
|
||||
* <- [DATA to host]
|
||||
*/
|
||||
static void CMD_READ_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void read_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
static struct cmd_rw_priv read_info;
|
||||
|
||||
@@ -296,7 +304,7 @@ static void CMD_READ_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_READ_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 read_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
u32 val, clen;
|
||||
@@ -326,7 +334,7 @@ static s32 CMD_READ_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_READ_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 read_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
struct resp_header resp;
|
||||
@@ -361,7 +369,7 @@ static s32 CMD_READ_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_READ_end(struct upg_cmd *cmd)
|
||||
static void read_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
|
||||
@@ -387,7 +395,7 @@ static void CMD_READ_end(struct upg_cmd *cmd)
|
||||
|
||||
typedef int (*exec_func)(void);
|
||||
|
||||
static void CMD_EXEC_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void exec_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_EXEC)
|
||||
return;
|
||||
@@ -395,7 +403,7 @@ static void CMD_EXEC_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_EXEC_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 exec_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
u32 addr = 0, clen = 0;
|
||||
exec_func fn;
|
||||
@@ -427,7 +435,7 @@ out:
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_EXEC_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
static s32 exec_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
u32 siz = 0;
|
||||
@@ -446,7 +454,7 @@ static s32 CMD_EXEC_read_output_data(struct upg_cmd *cmd, u8 *buf, s32 len)
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_EXEC_end(struct upg_cmd *cmd)
|
||||
static void exec_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -461,7 +469,7 @@ static struct run_shell_info {
|
||||
char shell_str[MAX_SHELL_CMD_STR_LEN];
|
||||
} shell_info;
|
||||
|
||||
static void CMD_RUN_SHELL_STR_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void run_shell_str_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_RUN_SHELL_STR)
|
||||
return;
|
||||
@@ -470,7 +478,7 @@ static void CMD_RUN_SHELL_STR_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_RUN_SHELL_STR_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 run_shell_str_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct run_shell_info *shinfo;
|
||||
@@ -520,7 +528,7 @@ static s32 CMD_RUN_SHELL_STR_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_RUN_SHELL_STR_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 run_shell_str_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct run_shell_info *shinfo;
|
||||
@@ -545,7 +553,7 @@ static s32 CMD_RUN_SHELL_STR_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_RUN_SHELL_STR_end(struct upg_cmd *cmd)
|
||||
static void run_shell_str_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -553,7 +561,7 @@ static void CMD_RUN_SHELL_STR_end(struct upg_cmd *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
static void CMD_GET_MEM_BUF_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void get_mem_buf_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_GET_MEM_BUF)
|
||||
return;
|
||||
@@ -561,7 +569,7 @@ static void CMD_GET_MEM_BUF_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_GET_MEM_BUF_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_mem_buf_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
u32 memlen, clen = 0;
|
||||
@@ -585,7 +593,7 @@ static s32 CMD_GET_MEM_BUF_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_GET_MEM_BUF_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_mem_buf_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -627,7 +635,7 @@ static s32 CMD_GET_MEM_BUF_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_GET_MEM_BUF_end(struct upg_cmd *cmd)
|
||||
static void get_mem_buf_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -635,7 +643,7 @@ static void CMD_GET_MEM_BUF_end(struct upg_cmd *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
static void CMD_FREE_MEM_BUF_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void free_mem_buf_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_FREE_MEM_BUF)
|
||||
return;
|
||||
@@ -643,7 +651,7 @@ static void CMD_FREE_MEM_BUF_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_FREE_MEM_BUF_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 free_mem_buf_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
u32 clen = 0;
|
||||
@@ -668,7 +676,7 @@ static s32 CMD_FREE_MEM_BUF_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_FREE_MEM_BUF_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 free_mem_buf_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -688,7 +696,7 @@ static s32 CMD_FREE_MEM_BUF_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_FREE_MEM_BUF_end(struct upg_cmd *cmd)
|
||||
static void free_mem_buf_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -696,7 +704,7 @@ static void CMD_FREE_MEM_BUF_end(struct upg_cmd *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
static void CMD_SET_UPG_CFG_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void set_upg_cfg_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_SET_UPG_CFG)
|
||||
return;
|
||||
@@ -704,7 +712,7 @@ static void CMD_SET_UPG_CFG_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_SET_UPG_CFG_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 set_upg_cfg_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
u32 cfglen, clen = 0;
|
||||
@@ -750,7 +758,7 @@ static s32 CMD_SET_UPG_CFG_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_SET_UPG_CFG_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 set_upg_cfg_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -770,7 +778,7 @@ static s32 CMD_SET_UPG_CFG_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_SET_UPG_CFG_end(struct upg_cmd *cmd)
|
||||
static void set_upg_cfg_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -778,7 +786,7 @@ static void CMD_SET_UPG_CFG_end(struct upg_cmd *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
static void CMD_SET_UPG_END_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void set_upg_end_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
if (cmd->cmd != UPG_PROTO_CMD_SET_UPG_END)
|
||||
return;
|
||||
@@ -787,7 +795,7 @@ static void CMD_SET_UPG_END_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_SET_UPG_END_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 set_upg_end_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
u32 param_len, clen = 0;
|
||||
@@ -833,7 +841,7 @@ static s32 CMD_SET_UPG_END_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_SET_UPG_END_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 set_upg_end_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -853,7 +861,7 @@ static s32 CMD_SET_UPG_END_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_SET_UPG_END_end(struct upg_cmd *cmd)
|
||||
static void set_upg_end_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
if (cmd->state == CMD_STATE_END) {
|
||||
cmd->priv = 0;
|
||||
@@ -861,19 +869,19 @@ static void CMD_SET_UPG_END_end(struct upg_cmd *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
static void CMD_GET_LOG_SIZE_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void get_log_size_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_GET_LOG_SIZE_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_log_size_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
/* No input data for this command */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static s32 CMD_GET_LOG_SIZE_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_log_size_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct resp_header resp;
|
||||
@@ -908,12 +916,12 @@ static s32 CMD_GET_LOG_SIZE_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_GET_LOG_SIZE_end(struct upg_cmd *cmd)
|
||||
static void get_log_size_end(struct upg_cmd *cmd)
|
||||
{
|
||||
cmd_state_set_next(cmd, CMD_STATE_IDLE);
|
||||
}
|
||||
|
||||
static void CMD_GET_LOG_DATA_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
static void get_log_data_cmd_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
{
|
||||
static struct cmd_rw_priv read_log;
|
||||
|
||||
@@ -924,7 +932,7 @@ static void CMD_GET_LOG_DATA_start(struct upg_cmd *cmd, s32 cmd_data_len)
|
||||
cmd_state_init(cmd, CMD_STATE_START);
|
||||
}
|
||||
|
||||
static s32 CMD_GET_LOG_DATA_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_log_data_cmd_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
@@ -955,7 +963,7 @@ static s32 CMD_GET_LOG_DATA_write_input_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return clen;
|
||||
}
|
||||
|
||||
static s32 CMD_GET_LOG_DATA_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
static s32 get_log_data_cmd_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
s32 len)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
@@ -983,9 +991,8 @@ static s32 CMD_GET_LOG_DATA_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
if (cmd->state == CMD_STATE_DATA_OUT) {
|
||||
/* Enter read DATA state */
|
||||
p = (char *)buf;
|
||||
|
||||
#ifdef AICUPG_LOG_BUFFER_SUPPORT
|
||||
p = (char *)buf;
|
||||
log_buf_read(p, len - siz);
|
||||
#endif
|
||||
priv->index += (len - siz);
|
||||
@@ -996,7 +1003,7 @@ static s32 CMD_GET_LOG_DATA_read_output_data(struct upg_cmd *cmd, u8 *buf,
|
||||
return siz;
|
||||
}
|
||||
|
||||
static void CMD_GET_LOG_DATA_end(struct upg_cmd *cmd)
|
||||
static void get_log_data_cmd_end(struct upg_cmd *cmd)
|
||||
{
|
||||
struct cmd_rw_priv *priv;
|
||||
|
||||
@@ -1015,87 +1022,87 @@ static void CMD_GET_LOG_DATA_end(struct upg_cmd *cmd)
|
||||
static struct upg_cmd basic_cmd_list[] = {
|
||||
{
|
||||
UPG_PROTO_CMD_GET_HWINFO,
|
||||
CMD_GET_HWINFO_start,
|
||||
CMD_GET_HWINFO_write_input_data,
|
||||
CMD_GET_HWINFO_read_output_data,
|
||||
CMD_GET_HWINFO_end,
|
||||
get_hwinfo_cmd_start,
|
||||
get_hwinfo_cmd_write_input_data,
|
||||
get_hwinfo_cmd_read_output_data,
|
||||
get_hwinfo_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_GET_TRACEINFO,
|
||||
CMD_UNSUPPORTED_start,
|
||||
CMD_UNSUPPORTED_write_input_data,
|
||||
CMD_UNSUPPORTED_read_output_data,
|
||||
CMD_UNSUPPORTED_end,
|
||||
unsupported_cmd_start,
|
||||
unsupported_cmd_write_input_data,
|
||||
unsupported_cmd_read_output_data,
|
||||
unsupported_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_WRITE,
|
||||
CMD_WRITE_start,
|
||||
CMD_WRITE_write_input_data,
|
||||
CMD_WRITE_read_output_data,
|
||||
CMD_WRITE_end,
|
||||
write_cmd_start,
|
||||
write_cmd_write_input_data,
|
||||
write_cmd_read_output_data,
|
||||
write_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_READ,
|
||||
CMD_READ_start,
|
||||
CMD_READ_write_input_data,
|
||||
CMD_READ_read_output_data,
|
||||
CMD_READ_end,
|
||||
read_cmd_start,
|
||||
read_cmd_write_input_data,
|
||||
read_cmd_read_output_data,
|
||||
read_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_EXEC,
|
||||
CMD_EXEC_start,
|
||||
CMD_EXEC_write_input_data,
|
||||
CMD_EXEC_read_output_data,
|
||||
CMD_EXEC_end,
|
||||
exec_cmd_start,
|
||||
exec_cmd_write_input_data,
|
||||
exec_cmd_read_output_data,
|
||||
exec_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_RUN_SHELL_STR,
|
||||
CMD_RUN_SHELL_STR_start,
|
||||
CMD_RUN_SHELL_STR_write_input_data,
|
||||
CMD_RUN_SHELL_STR_read_output_data,
|
||||
CMD_RUN_SHELL_STR_end,
|
||||
run_shell_str_cmd_start,
|
||||
run_shell_str_cmd_write_input_data,
|
||||
run_shell_str_cmd_read_output_data,
|
||||
run_shell_str_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_SET_UPG_CFG,
|
||||
CMD_SET_UPG_CFG_start,
|
||||
CMD_SET_UPG_CFG_write_input_data,
|
||||
CMD_SET_UPG_CFG_read_output_data,
|
||||
CMD_SET_UPG_CFG_end,
|
||||
set_upg_cfg_cmd_start,
|
||||
set_upg_cfg_cmd_write_input_data,
|
||||
set_upg_cfg_cmd_read_output_data,
|
||||
set_upg_cfg_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_SET_UPG_END,
|
||||
CMD_SET_UPG_END_start,
|
||||
CMD_SET_UPG_END_write_input_data,
|
||||
CMD_SET_UPG_END_read_output_data,
|
||||
CMD_SET_UPG_END_end,
|
||||
set_upg_end_cmd_start,
|
||||
set_upg_end_cmd_write_input_data,
|
||||
set_upg_end_cmd_read_output_data,
|
||||
set_upg_end_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_GET_MEM_BUF,
|
||||
CMD_GET_MEM_BUF_start,
|
||||
CMD_GET_MEM_BUF_write_input_data,
|
||||
CMD_GET_MEM_BUF_read_output_data,
|
||||
CMD_GET_MEM_BUF_end,
|
||||
get_mem_buf_cmd_start,
|
||||
get_mem_buf_cmd_write_input_data,
|
||||
get_mem_buf_cmd_read_output_data,
|
||||
get_mem_buf_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_FREE_MEM_BUF,
|
||||
CMD_FREE_MEM_BUF_start,
|
||||
CMD_FREE_MEM_BUF_write_input_data,
|
||||
CMD_FREE_MEM_BUF_read_output_data,
|
||||
CMD_FREE_MEM_BUF_end,
|
||||
free_mem_buf_cmd_start,
|
||||
free_mem_buf_cmd_write_input_data,
|
||||
free_mem_buf_cmd_read_output_data,
|
||||
free_mem_buf_cmd_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_GET_LOG_SIZE,
|
||||
CMD_GET_LOG_SIZE_start,
|
||||
CMD_GET_LOG_SIZE_write_input_data,
|
||||
CMD_GET_LOG_SIZE_read_output_data,
|
||||
CMD_GET_LOG_SIZE_end,
|
||||
get_log_size_start,
|
||||
get_log_size_write_input_data,
|
||||
get_log_size_read_output_data,
|
||||
get_log_size_end,
|
||||
},
|
||||
{
|
||||
UPG_PROTO_CMD_GET_LOG_DATA,
|
||||
CMD_GET_LOG_DATA_start,
|
||||
CMD_GET_LOG_DATA_write_input_data,
|
||||
CMD_GET_LOG_DATA_read_output_data,
|
||||
CMD_GET_LOG_DATA_end,
|
||||
get_log_data_cmd_start,
|
||||
get_log_data_cmd_write_input_data,
|
||||
get_log_data_cmd_read_output_data,
|
||||
get_log_data_cmd_end,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user