Hi CK, Thanks for the reviews. On Mon, 2024-05-27 at 03:44 +0000, CK Hu (胡俊光) wrote: > Hi, Jason: > > On Sun, 2024-05-26 at 22:44 +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. > > > > TODO: > > 1. Squash cmdq_sec_task_exec_work() into cmdq_sec_mbox_send_data(). > > 2. Call into TEE to query cookie instead of using shared memory in > > cmdq_sec_get_cookie(). > > 3. Register shared memory as command buffer instead of copying > > normal > > command buffer to IWC shared memory. > > 4. Use SOFTDEP to make cmdq_sec_probe later than OPTEE loaded and > > then > > move cmdq_sec_session_init into cmdq_sec_probe(). > > 5. Remove timeout detection in cmdq_sec_session_send(). > > > > Signed-off-by: Jason-JH.Lin <jason-jh.lin@xxxxxxxxxxxx> > > Signed-off-by: Hsiao Chien Sung <shawn.sung@xxxxxxxxxxxx> > > --- > > [snip] > > > +/* > > + * enum cmdq_sec_engine_enum - the flag for HW engines need to be > > proteced in secure world. > > + * Each enum is a bit in a u64 engine flag variable. > > + */ > > +enum cmdq_sec_engine_enum { > > + /* MDP */ > > + CMDQ_SEC_MDP_RDMA0 = 0, > > + CMDQ_SEC_MDP_RDMA1 = 1, > > + CMDQ_SEC_MDP_WDMA = 2, > > + CMDQ_SEC_MDP_RDMA2 = 3, > > + CMDQ_SEC_MDP_RDMA3 = 4, > > + CMDQ_SEC_MDP_WROT0 = 5, > > + CMDQ_SEC_MDP_WROT1 = 6, > > + CMDQ_SEC_MDP_WROT2 = 7, > > + CMDQ_SEC_MDP_WROT3 = 8, > > + CMDQ_SEC_MDP_HDR0 = 9, > > + CMDQ_SEC_MDP_HDR1 = 10, > > + CMDQ_SEC_MDP_HDR2 = 11, > > + CMDQ_SEC_MDP_HDR3 = 12, > > + CMDQ_SEC_MDP_AAL0 = 13, > > + CMDQ_SEC_MDP_AAL1 = 14, > > + CMDQ_SEC_MDP_AAL2 = 15, > > + CMDQ_SEC_MDP_AAL3 = 16, > > + > > + /* DISP (VDOSYS0) */ > > + CMDQ_SEC_DISP_RDMA0 = 17, > > + CMDQ_SEC_DISP_RDMA1 = 18, > > + CMDQ_SEC_DISP_WDMA0 = 19, > > + CMDQ_SEC_DISP_WDMA1 = 20, > > + CMDQ_SEC_DISP_OVL0 = 21, > > + CMDQ_SEC_DISP_OVL1 = 22, > > + CMDQ_SEC_DISP_OVL2 = 23, > > + CMDQ_SEC_DISP_2L_OVL0 = 24, > > + CMDQ_SEC_DISP_2L_OVL1 = 25, > > + CMDQ_SEC_DISP_2L_OVL2 = 26, > > + > > + /* DSIP (VDOSYS1) */ > > + CMDQ_SEC_VDO1_DISP_RDMA_L0 = 27, > > + CMDQ_SEC_VDO1_DISP_RDMA_L1 = 28, > > + CMDQ_SEC_VDO1_DISP_RDMA_L2 = 29, > > + CMDQ_SEC_VDO1_DISP_RDMA_L3 = 30, > > + > > + /* VENC */ > > + CMDQ_SEC_VENC_BSDMA = 31, > > + CMDQ_SEC_VENC_CUR_LUMA = 32, > > + CMDQ_SEC_VENC_CUR_CHROMA = 33, > > + CMDQ_SEC_VENC_REF_LUMA = 34, > > + CMDQ_SEC_VENC_REF_CHROMA = 35, > > + CMDQ_SEC_VENC_REC = 36, > > + CMDQ_SEC_VENC_SUB_R_LUMA = 37, > > + CMDQ_SEC_VENC_SUB_W_LUMA = 38, > > + CMDQ_SEC_VENC_SV_COMV = 39, > > + CMDQ_SEC_VENC_RD_COMV = 40, > > + CMDQ_SEC_VENC_NBM_RDMA = 41, > > + CMDQ_SEC_VENC_NBM_WDMA = 42, > > + CMDQ_SEC_VENC_NBM_RDMA_LITE = 43, > > + CMDQ_SEC_VENC_NBM_WDMA_LITE = 44, > > + CMDQ_SEC_VENC_FCS_NBM_RDMA = 45, > > + CMDQ_SEC_VENC_FCS_NBM_WDMA = 46, > > + > > + CMDQ_SEC_MAX_ENG_COUNT > > +}; > > Useless, so drop these. > OK, I'll drop this. Regards, Jason-JH.Lin > Regards, > CK > > > +