Message ID | 20211020071448.14187-2-roy-cw.yeh@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add mdp support for mt8195 | expand |
Il 20/10/21 09:14, roy-cw.yeh ha scritto: > From: "Roy-CW.Yeh" <roy-cw.yeh@mediatek.com> > > Expand mdp related enum for chip independence architecture > > Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@mediatek.com> Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > drivers/soc/mediatek/mtk-mmsys.c | 2 - > include/linux/soc/mediatek/mtk-mmsys.h | 89 ++++++++++++++++++++------ > 2 files changed, 70 insertions(+), 21 deletions(-) > > diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c > index b16e6a2628c5..cbae8063a187 100644 > --- a/drivers/soc/mediatek/mtk-mmsys.c > +++ b/drivers/soc/mediatek/mtk-mmsys.c > @@ -128,7 +128,6 @@ void mtk_mmsys_mdp_connect(struct device *dev, struct mmsys_cmdq_cmd *cmd, > int i; > > WARN_ON(!routes); > - WARN_ON(mmsys->subsys_id == 0); > for (i = 0; i < mmsys->data->mdp_num_routes; i++) > if (cur == routes[i].from_comp && next == routes[i].to_comp) > cmdq_pkt_write_mask(cmd->pkt, mmsys->subsys_id, > @@ -145,7 +144,6 @@ void mtk_mmsys_mdp_disconnect(struct device *dev, struct mmsys_cmdq_cmd *cmd, > const struct mtk_mmsys_routes *routes = mmsys->data->mdp_routes; > int i; > > - WARN_ON(mmsys->subsys_id == 0); > for (i = 0; i < mmsys->data->mdp_num_routes; i++) > if (cur == routes[i].from_comp && next == routes[i].to_comp) > cmdq_pkt_write_mask(cmd->pkt, mmsys->subsys_id, > diff --git a/include/linux/soc/mediatek/mtk-mmsys.h b/include/linux/soc/mediatek/mtk-mmsys.h > index 113d33e2155f..acf4bd3deac1 100644 > --- a/include/linux/soc/mediatek/mtk-mmsys.h > +++ b/include/linux/soc/mediatek/mtk-mmsys.h > @@ -76,33 +76,84 @@ enum mtk_mdp_comp_id { > /* MDP */ > MDP_COMP_CAMIN, /* 9 */ > MDP_COMP_CAMIN2, /* 10 */ > - MDP_COMP_RDMA0, /* 11 */ > - MDP_COMP_AAL0, /* 12 */ > - MDP_COMP_CCORR0, /* 13 */ > - MDP_COMP_RSZ0, /* 14 */ > - MDP_COMP_RSZ1, /* 15 */ > - MDP_COMP_TDSHP0, /* 16 */ > - MDP_COMP_COLOR0, /* 17 */ > - MDP_COMP_PATH0_SOUT, /* 18 */ > - MDP_COMP_PATH1_SOUT, /* 19 */ > - MDP_COMP_WROT0, /* 20 */ > - MDP_COMP_WDMA, /* 21 */ > - > - /* Dummy Engine */ > - MDP_COMP_RDMA1, /* 22 */ > - MDP_COMP_RSZ2, /* 23 */ > - MDP_COMP_TDSHP1, /* 24 */ > - MDP_COMP_WROT1, /* 25 */ > + MDP_COMP_SPLIT, /* 11 */ > + MDP_COMP_SPLIT2, /* 12 */ > + MDP_COMP_RDMA0, /* 13 */ > + MDP_COMP_RDMA1, /* 14 */ > + MDP_COMP_RDMA2, /* 15 */ > + MDP_COMP_RDMA3, /* 16 */ > + MDP_COMP_STITCH, /* 17 */ > + MDP_COMP_FG0, /* 18 */ > + MDP_COMP_FG1, /* 19 */ > + MDP_COMP_FG2, /* 20 */ > + MDP_COMP_FG3, /* 21 */ > + MDP_COMP_TO_SVPP2MOUT, /* 22 */ > + MDP_COMP_TO_SVPP3MOUT, /* 23 */ > + MDP_COMP_TO_WARP0MOUT, /* 24 */ > + MDP_COMP_TO_WARP1MOUT, /* 25 */ > + MDP_COMP_VPP0_SOUT, /* 26 */ > + MDP_COMP_VPP1_SOUT, /* 27 */ > + MDP_COMP_PQ0_SOUT, /* 28 */ > + MDP_COMP_PQ1_SOUT, /* 29 */ > + MDP_COMP_HDR0, /* 30 */ > + MDP_COMP_HDR1, /* 31 */ > + MDP_COMP_HDR2, /* 32 */ > + MDP_COMP_HDR3, /* 33 */ > + MDP_COMP_AAL0, /* 34 */ > + MDP_COMP_AAL1, /* 35 */ > + MDP_COMP_AAL2, /* 36 */ > + MDP_COMP_AAL3, /* 37 */ > + MDP_COMP_CCORR0, /* 38 */ > + MDP_COMP_RSZ0, /* 39 */ > + MDP_COMP_RSZ1, /* 40 */ > + MDP_COMP_RSZ2, /* 41 */ > + MDP_COMP_RSZ3, /* 42 */ > + MDP_COMP_TDSHP0, /* 43 */ > + MDP_COMP_TDSHP1, /* 44 */ > + MDP_COMP_TDSHP2, /* 45 */ > + MDP_COMP_TDSHP3, /* 46 */ > + MDP_COMP_COLOR0, /* 47 */ > + MDP_COMP_COLOR1, /* 48 */ > + MDP_COMP_COLOR2, /* 49 */ > + MDP_COMP_COLOR3, /* 50 */ > + MDP_COMP_OVL0, /* 51 */ > + MDP_COMP_OVL1, /* 52 */ > + MDP_COMP_PAD0, /* 53 */ > + MDP_COMP_PAD1, /* 54 */ > + MDP_COMP_PAD2, /* 55 */ > + MDP_COMP_PAD3, /* 56 */ > + MDP_COMP_TCC0, /* 56 */ > + MDP_COMP_TCC1, /* 57 */ > + MDP_COMP_WROT0, /* 58 */ > + MDP_COMP_WROT1, /* 59 */ > + MDP_COMP_WROT2, /* 60 */ > + MDP_COMP_WROT3, /* 61 */ > + MDP_COMP_WDMA, /* 62 */ > + MDP_COMP_MERGE2, /* 63 */ > + MDP_COMP_MERGE3, /* 64 */ > + MDP_COMP_PATH0_SOUT, /* 65 */ > + MDP_COMP_PATH1_SOUT, /* 66 */ > + MDP_COMP_VDO0DL0, /* 67 */ > + MDP_COMP_VDO1DL0, /* 68 */ > + MDP_COMP_VDO0DL1, /* 69 */ > + MDP_COMP_VDO1DL1, /* 70 */ > > MDP_MAX_COMP_COUNT /* ALWAYS keep at the end */ > }; > > enum mtk_mdp_pipe_id { > + MDP_PIPE_IMGI = 0, > MDP_PIPE_RDMA0, > - MDP_PIPE_IMGI, > MDP_PIPE_WPEI, > MDP_PIPE_WPEI2, > - MDP_PIPE_MAX > + MDP_PIPE_RDMA1, > + MDP_PIPE_RDMA2, > + MDP_PIPE_RDMA3, > + MDP_PIPE_SPLIT, > + MDP_PIPE_SPLIT2, > + MDP_PIPE_VPP0_SOUT, > + MDP_PIPE_VPP1_SOUT, > + MDP_PIPE_MAX, > }; > > enum mtk_isp_ctrl { >
diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index b16e6a2628c5..cbae8063a187 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -128,7 +128,6 @@ void mtk_mmsys_mdp_connect(struct device *dev, struct mmsys_cmdq_cmd *cmd, int i; WARN_ON(!routes); - WARN_ON(mmsys->subsys_id == 0); for (i = 0; i < mmsys->data->mdp_num_routes; i++) if (cur == routes[i].from_comp && next == routes[i].to_comp) cmdq_pkt_write_mask(cmd->pkt, mmsys->subsys_id, @@ -145,7 +144,6 @@ void mtk_mmsys_mdp_disconnect(struct device *dev, struct mmsys_cmdq_cmd *cmd, const struct mtk_mmsys_routes *routes = mmsys->data->mdp_routes; int i; - WARN_ON(mmsys->subsys_id == 0); for (i = 0; i < mmsys->data->mdp_num_routes; i++) if (cur == routes[i].from_comp && next == routes[i].to_comp) cmdq_pkt_write_mask(cmd->pkt, mmsys->subsys_id, diff --git a/include/linux/soc/mediatek/mtk-mmsys.h b/include/linux/soc/mediatek/mtk-mmsys.h index 113d33e2155f..acf4bd3deac1 100644 --- a/include/linux/soc/mediatek/mtk-mmsys.h +++ b/include/linux/soc/mediatek/mtk-mmsys.h @@ -76,33 +76,84 @@ enum mtk_mdp_comp_id { /* MDP */ MDP_COMP_CAMIN, /* 9 */ MDP_COMP_CAMIN2, /* 10 */ - MDP_COMP_RDMA0, /* 11 */ - MDP_COMP_AAL0, /* 12 */ - MDP_COMP_CCORR0, /* 13 */ - MDP_COMP_RSZ0, /* 14 */ - MDP_COMP_RSZ1, /* 15 */ - MDP_COMP_TDSHP0, /* 16 */ - MDP_COMP_COLOR0, /* 17 */ - MDP_COMP_PATH0_SOUT, /* 18 */ - MDP_COMP_PATH1_SOUT, /* 19 */ - MDP_COMP_WROT0, /* 20 */ - MDP_COMP_WDMA, /* 21 */ - - /* Dummy Engine */ - MDP_COMP_RDMA1, /* 22 */ - MDP_COMP_RSZ2, /* 23 */ - MDP_COMP_TDSHP1, /* 24 */ - MDP_COMP_WROT1, /* 25 */ + MDP_COMP_SPLIT, /* 11 */ + MDP_COMP_SPLIT2, /* 12 */ + MDP_COMP_RDMA0, /* 13 */ + MDP_COMP_RDMA1, /* 14 */ + MDP_COMP_RDMA2, /* 15 */ + MDP_COMP_RDMA3, /* 16 */ + MDP_COMP_STITCH, /* 17 */ + MDP_COMP_FG0, /* 18 */ + MDP_COMP_FG1, /* 19 */ + MDP_COMP_FG2, /* 20 */ + MDP_COMP_FG3, /* 21 */ + MDP_COMP_TO_SVPP2MOUT, /* 22 */ + MDP_COMP_TO_SVPP3MOUT, /* 23 */ + MDP_COMP_TO_WARP0MOUT, /* 24 */ + MDP_COMP_TO_WARP1MOUT, /* 25 */ + MDP_COMP_VPP0_SOUT, /* 26 */ + MDP_COMP_VPP1_SOUT, /* 27 */ + MDP_COMP_PQ0_SOUT, /* 28 */ + MDP_COMP_PQ1_SOUT, /* 29 */ + MDP_COMP_HDR0, /* 30 */ + MDP_COMP_HDR1, /* 31 */ + MDP_COMP_HDR2, /* 32 */ + MDP_COMP_HDR3, /* 33 */ + MDP_COMP_AAL0, /* 34 */ + MDP_COMP_AAL1, /* 35 */ + MDP_COMP_AAL2, /* 36 */ + MDP_COMP_AAL3, /* 37 */ + MDP_COMP_CCORR0, /* 38 */ + MDP_COMP_RSZ0, /* 39 */ + MDP_COMP_RSZ1, /* 40 */ + MDP_COMP_RSZ2, /* 41 */ + MDP_COMP_RSZ3, /* 42 */ + MDP_COMP_TDSHP0, /* 43 */ + MDP_COMP_TDSHP1, /* 44 */ + MDP_COMP_TDSHP2, /* 45 */ + MDP_COMP_TDSHP3, /* 46 */ + MDP_COMP_COLOR0, /* 47 */ + MDP_COMP_COLOR1, /* 48 */ + MDP_COMP_COLOR2, /* 49 */ + MDP_COMP_COLOR3, /* 50 */ + MDP_COMP_OVL0, /* 51 */ + MDP_COMP_OVL1, /* 52 */ + MDP_COMP_PAD0, /* 53 */ + MDP_COMP_PAD1, /* 54 */ + MDP_COMP_PAD2, /* 55 */ + MDP_COMP_PAD3, /* 56 */ + MDP_COMP_TCC0, /* 56 */ + MDP_COMP_TCC1, /* 57 */ + MDP_COMP_WROT0, /* 58 */ + MDP_COMP_WROT1, /* 59 */ + MDP_COMP_WROT2, /* 60 */ + MDP_COMP_WROT3, /* 61 */ + MDP_COMP_WDMA, /* 62 */ + MDP_COMP_MERGE2, /* 63 */ + MDP_COMP_MERGE3, /* 64 */ + MDP_COMP_PATH0_SOUT, /* 65 */ + MDP_COMP_PATH1_SOUT, /* 66 */ + MDP_COMP_VDO0DL0, /* 67 */ + MDP_COMP_VDO1DL0, /* 68 */ + MDP_COMP_VDO0DL1, /* 69 */ + MDP_COMP_VDO1DL1, /* 70 */ MDP_MAX_COMP_COUNT /* ALWAYS keep at the end */ }; enum mtk_mdp_pipe_id { + MDP_PIPE_IMGI = 0, MDP_PIPE_RDMA0, - MDP_PIPE_IMGI, MDP_PIPE_WPEI, MDP_PIPE_WPEI2, - MDP_PIPE_MAX + MDP_PIPE_RDMA1, + MDP_PIPE_RDMA2, + MDP_PIPE_RDMA3, + MDP_PIPE_SPLIT, + MDP_PIPE_SPLIT2, + MDP_PIPE_VPP0_SOUT, + MDP_PIPE_VPP1_SOUT, + MDP_PIPE_MAX, }; enum mtk_isp_ctrl {