mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: remove uneeded seq_desc, msg parameter of sec2_cmd_post and callback
These parameters are not required. Removing those will simplify the refactoring of the IPC units. The plan is to keep access to sequence struct members within IPC units. JIRA NVGPU-2075 Change-Id: Idf62082152448230d286cfc5e7249c9886d8251a Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2085747 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
270b14706f
commit
c9cb1aab1c
@@ -136,7 +136,7 @@ int nvgpu_sec2_destroy(struct gk20a *g)
|
||||
/* LSF's bootstrap command */
|
||||
static void sec2_handle_lsfm_boot_acr_msg(struct gk20a *g,
|
||||
struct nv_flcn_msg_sec2 *msg,
|
||||
void *param, u32 handle, u32 status)
|
||||
void *param, u32 status)
|
||||
{
|
||||
bool *command_ack = param;
|
||||
|
||||
@@ -156,7 +156,6 @@ static void sec2_load_ls_falcons(struct gk20a *g, struct nvgpu_sec2 *sec2,
|
||||
{
|
||||
struct nv_flcn_cmd_sec2 cmd;
|
||||
bool command_ack;
|
||||
u32 seq = 0;
|
||||
int err = 0;
|
||||
size_t tmp_size;
|
||||
|
||||
@@ -179,8 +178,8 @@ static void sec2_load_ls_falcons(struct gk20a *g, struct nvgpu_sec2 *sec2,
|
||||
falcon_id);
|
||||
|
||||
command_ack = false;
|
||||
err = nvgpu_sec2_cmd_post(g, &cmd, NULL, PMU_COMMAND_QUEUE_HPQ,
|
||||
sec2_handle_lsfm_boot_acr_msg, &command_ack, &seq, U32_MAX);
|
||||
err = nvgpu_sec2_cmd_post(g, &cmd, PMU_COMMAND_QUEUE_HPQ,
|
||||
sec2_handle_lsfm_boot_acr_msg, &command_ack, U32_MAX);
|
||||
if (err != 0) {
|
||||
nvgpu_err(g, "command post failed");
|
||||
}
|
||||
|
||||
@@ -71,10 +71,8 @@ static void sec2_seq_release(struct nvgpu_sec2 *sec2,
|
||||
struct sec2_sequence *seq)
|
||||
{
|
||||
seq->state = SEC2_SEQ_STATE_FREE;
|
||||
seq->desc = SEC2_INVALID_SEQ_DESC;
|
||||
seq->callback = NULL;
|
||||
seq->cb_params = NULL;
|
||||
seq->msg = NULL;
|
||||
seq->out_payload = NULL;
|
||||
|
||||
clear_bit((int)seq->id, sec2->sec2_seq_tbl);
|
||||
@@ -145,18 +143,16 @@ static int sec2_write_cmd(struct nvgpu_sec2 *sec2,
|
||||
}
|
||||
|
||||
int nvgpu_sec2_cmd_post(struct gk20a *g, struct nv_flcn_cmd_sec2 *cmd,
|
||||
struct nv_flcn_msg_sec2 *msg, u32 queue_id, sec2_callback callback,
|
||||
void *cb_param, u32 *seq_desc, u32 timeout)
|
||||
u32 queue_id, sec2_callback callback,
|
||||
void *cb_param, u32 timeout)
|
||||
{
|
||||
struct nvgpu_sec2 *sec2 = &g->sec2;
|
||||
struct sec2_sequence *seq = NULL;
|
||||
int err = 0;
|
||||
|
||||
if ((cmd == NULL) || (seq_desc == NULL) || (!sec2->sec2_ready)) {
|
||||
if ((cmd == NULL) || (!sec2->sec2_ready)) {
|
||||
if (cmd == NULL) {
|
||||
nvgpu_warn(g, "%s(): SEC2 cmd buffer is NULL", __func__);
|
||||
} else if (seq_desc == NULL) {
|
||||
nvgpu_warn(g, "%s(): Seq descriptor is NULL", __func__);
|
||||
} else {
|
||||
nvgpu_warn(g, "%s(): SEC2 is not ready", __func__);
|
||||
}
|
||||
@@ -185,11 +181,7 @@ int nvgpu_sec2_cmd_post(struct gk20a *g, struct nv_flcn_cmd_sec2 *cmd,
|
||||
|
||||
seq->callback = callback;
|
||||
seq->cb_params = cb_param;
|
||||
seq->msg = msg;
|
||||
seq->out_payload = NULL;
|
||||
seq->desc = sec2->next_seq_desc++;
|
||||
|
||||
*seq_desc = seq->desc;
|
||||
|
||||
seq->state = SEC2_SEQ_STATE_USED;
|
||||
|
||||
@@ -220,7 +212,7 @@ static int sec2_response_handle(struct nvgpu_sec2 *sec2,
|
||||
}
|
||||
|
||||
if (seq->callback != NULL) {
|
||||
seq->callback(g, msg, seq->cb_params, seq->desc, ret);
|
||||
seq->callback(g, msg, seq->cb_params, ret);
|
||||
}
|
||||
|
||||
/* release the sequence so that it may be used for other commands */
|
||||
|
||||
@@ -45,8 +45,6 @@
|
||||
#define SEC2_SEQ_TBL_SIZE \
|
||||
(SEC2_MAX_NUM_SEQUENCES >> SEC2_SEQ_BIT_SHIFT)
|
||||
|
||||
#define SEC2_INVALID_SEQ_DESC (~0U)
|
||||
|
||||
enum sec2_seq_state {
|
||||
SEC2_SEQ_STATE_FREE = 0U,
|
||||
SEC2_SEQ_STATE_PENDING,
|
||||
@@ -55,13 +53,11 @@ enum sec2_seq_state {
|
||||
};
|
||||
|
||||
typedef void (*sec2_callback)(struct gk20a *g, struct nv_flcn_msg_sec2 *msg,
|
||||
void *param, u32 handle, u32 status);
|
||||
void *param, u32 status);
|
||||
|
||||
struct sec2_sequence {
|
||||
u8 id;
|
||||
enum sec2_seq_state state;
|
||||
u32 desc;
|
||||
struct nv_flcn_msg_sec2 *msg;
|
||||
u8 *out_payload;
|
||||
sec2_callback callback;
|
||||
void *cb_params;
|
||||
@@ -76,7 +72,6 @@ struct nvgpu_sec2 {
|
||||
|
||||
struct sec2_sequence *seq;
|
||||
unsigned long sec2_seq_tbl[SEC2_SEQ_TBL_SIZE];
|
||||
u32 next_seq_desc;
|
||||
struct nvgpu_mutex sec2_seq_lock;
|
||||
|
||||
bool isr_enabled;
|
||||
@@ -96,8 +91,8 @@ struct nvgpu_sec2 {
|
||||
|
||||
/* command/message handling methods*/
|
||||
int nvgpu_sec2_cmd_post(struct gk20a *g, struct nv_flcn_cmd_sec2 *cmd,
|
||||
struct nv_flcn_msg_sec2 *msg, u32 queue_id, sec2_callback callback,
|
||||
void *cb_param, u32 *seq_desc, u32 timeout);
|
||||
u32 queue_id, sec2_callback callback,
|
||||
void *cb_param, u32 timeout);
|
||||
int nvgpu_sec2_process_message(struct nvgpu_sec2 *sec2);
|
||||
int nvgpu_sec2_wait_message_cond(struct nvgpu_sec2 *sec2, u32 timeout_ms,
|
||||
void *var, u8 val);
|
||||
|
||||
Reference in New Issue
Block a user