Hi, Jason: On Fri, 2023-12-22 at 12:52 +0800, Jason-JH.Lin wrote: > To support secure video path feature, GCE have to read/write > registgers > in the secure world. GCE will enable the secure access permission to > the > HW who wants to access the secure content buffer. > > Add CMDQ secure mailbox driver to make CMDQ client user is able to > sending their HW settings to the secure world. So that GCE can > execute > all instructions to configure HW in the secure world. > > Signed-off-by: Jason-JH.Lin <jason-jh.lin@xxxxxxxxxxxx> > --- [snip] > +static int cmdq_sec_session_reply(const u32 iwc_cmd, struct > iwc_cmdq_message_t *iwc_msg, > + void *data, struct cmdq_sec_task > *sec_task) > +{ > + struct iwc_cmdq_cancel_task_t *cancel = data; > + struct cmdq_sec_data *sec_data = sec_task->task.pkt->sec_data; > + > + if (iwc_cmd == CMD_CMDQ_IWC_SUBMIT_TASK && iwc_msg->rsp < 0) { > + /* submit fail case copy status */ > + memcpy(&sec_data->sec_status, &iwc_msg->sec_status, > + sizeof(sec_data->sec_status)); sec_data->sec_status is useless, so drop it. > + sec_data->response = iwc_msg->rsp; sec_data->response is useless, so drop it. Regards, CK > + } else if (iwc_cmd == CMD_CMDQ_IWC_CANCEL_TASK && cancel) { > + /* cancel case only copy cancel result */ > + memcpy(cancel, &iwc_msg->cancel_task, sizeof(*cancel)); > + } > + > + return iwc_msg->rsp; > +} > +