* [PATCH v4,0/2] Add dpi output format control for MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee From: Xinlei Lee <xinlei.lee@mediatek.com> Base on the branch of Linux-next/master. This series are based on the following patch: [1] Add MediaTek SoC(vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220711075245.10492-1-nancy.lin@mediatek.com/ [2] Add MediaTek SoC DRM (vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220804072827.22383-1-nancy.lin@mediatek.com/ Changes since v3: 1. Fix formatting issues; 2. Modify the edge output control name & description; 3. Fix the threading problem. Changes since v2: 1. Modify key nouns in the description; 2. Add the label of jitao to Co-developed-by; 3. Macro definition address lowercase problem and function naming; 4. Add missing a description of this property in the mtk_dpi_conf. Change since v1: 1. Modify mt8186 compatiable location. 2. Modify MT8186_DPI_OUTPUT_FORMAT name. When MT8186 outputs dpi signal, it is necessary to add dual edge output format control in mmsys. Xinlei Lee (2): soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 drm: mediatek: Adjust the dpi output format to MT8186 drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 +++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 6 files changed, 51 insertions(+) -- 2.18.0 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v4,0/2] Add dpi output format control for MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> Base on the branch of Linux-next/master. This series are based on the following patch: [1] Add MediaTek SoC(vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220711075245.10492-1-nancy.lin@mediatek.com/ [2] Add MediaTek SoC DRM (vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220804072827.22383-1-nancy.lin@mediatek.com/ Changes since v3: 1. Fix formatting issues; 2. Modify the edge output control name & description; 3. Fix the threading problem. Changes since v2: 1. Modify key nouns in the description; 2. Add the label of jitao to Co-developed-by; 3. Macro definition address lowercase problem and function naming; 4. Add missing a description of this property in the mtk_dpi_conf. Change since v1: 1. Modify mt8186 compatiable location. 2. Modify MT8186_DPI_OUTPUT_FORMAT name. When MT8186 outputs dpi signal, it is necessary to add dual edge output format control in mmsys. Xinlei Lee (2): soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 drm: mediatek: Adjust the dpi output format to MT8186 drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 +++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 6 files changed, 51 insertions(+) -- 2.18.0 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v4,0/2] Add dpi output format control for MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee From: Xinlei Lee <xinlei.lee@mediatek.com> Base on the branch of Linux-next/master. This series are based on the following patch: [1] Add MediaTek SoC(vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220711075245.10492-1-nancy.lin@mediatek.com/ [2] Add MediaTek SoC DRM (vdosys1) support for mt8195 https://patchwork.kernel.org/project/linux-mediatek/cover/20220804072827.22383-1-nancy.lin@mediatek.com/ Changes since v3: 1. Fix formatting issues; 2. Modify the edge output control name & description; 3. Fix the threading problem. Changes since v2: 1. Modify key nouns in the description; 2. Add the label of jitao to Co-developed-by; 3. Macro definition address lowercase problem and function naming; 4. Add missing a description of this property in the mtk_dpi_conf. Change since v1: 1. Modify mt8186 compatiable location. 2. Modify MT8186_DPI_OUTPUT_FORMAT name. When MT8186 outputs dpi signal, it is necessary to add dual edge output format control in mmsys. Xinlei Lee (2): soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 drm: mediatek: Adjust the dpi output format to MT8186 drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 +++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 6 files changed, 51 insertions(+) -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 2022-08-29 3:21 ` xinlei.lee (?) @ 2022-08-29 3:21 ` xinlei.lee -1 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="yes", Size: 2304 bytes --] From: Xinlei Lee <xinlei.lee@mediatek.com> Add mmsys func to manipulate dpi output format config for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> --- drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 3 files changed, 12 insertions(+) diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h index eb1ad9c37a9c..6eca3445bea3 100644 --- a/drivers/soc/mediatek/mt8186-mmsys.h +++ b/drivers/soc/mediatek/mt8186-mmsys.h @@ -3,6 +3,7 @@ #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H #define __SOC_MEDIATEK_MT8186_MMSYS_H +#define MT8186_DPI_OUTPUT_FORMAT 0x400 #define MT8186_MMSYS_OVL_CON 0xF04 #define MT8186_MMSYS_OVL0_CON_MASK 0x3 #define MT8186_MMSYS_OVL0_2L_CON_MASK 0xC diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index 9bbf0103b225..d5305cff51cc 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -252,6 +252,14 @@ void mtk_mmsys_ddp_disconnect(struct device *dev, } EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_disconnect); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt) +{ + mtk_mmsys_update_bits(dev_get_drvdata(dev), MT8186_DPI_OUTPUT_FORMAT, mask, + val, cmdq_pkt); +} +EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_dpi_fmt_config); + void mtk_mmsys_merge_async_config(struct device *dev, int idx, int width, int height, struct cmdq_pkt *cmdq_pkt) { diff --git a/include/linux/soc/mediatek/mtk-mmsys.h b/include/linux/soc/mediatek/mtk-mmsys.h index 7a73305390ba..70bb58fbd837 100644 --- a/include/linux/soc/mediatek/mtk-mmsys.h +++ b/include/linux/soc/mediatek/mtk-mmsys.h @@ -89,4 +89,7 @@ void mtk_mmsys_mixer_in_config(struct device *dev, int idx, bool alpha_sel, u16 void mtk_mmsys_mixer_in_channel_swap(struct device *dev, int idx, bool channel_swap, struct cmdq_pkt *cmdq_pkt); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt); + #endif /* __MTK_MMSYS_H */ -- 2.18.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v4, 1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="yes", Size: 2303 bytes --] From: Xinlei Lee <xinlei.lee@mediatek.com> Add mmsys func to manipulate dpi output format config for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> --- drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 3 files changed, 12 insertions(+) diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h index eb1ad9c37a9c..6eca3445bea3 100644 --- a/drivers/soc/mediatek/mt8186-mmsys.h +++ b/drivers/soc/mediatek/mt8186-mmsys.h @@ -3,6 +3,7 @@ #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H #define __SOC_MEDIATEK_MT8186_MMSYS_H +#define MT8186_DPI_OUTPUT_FORMAT 0x400 #define MT8186_MMSYS_OVL_CON 0xF04 #define MT8186_MMSYS_OVL0_CON_MASK 0x3 #define MT8186_MMSYS_OVL0_2L_CON_MASK 0xC diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index 9bbf0103b225..d5305cff51cc 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -252,6 +252,14 @@ void mtk_mmsys_ddp_disconnect(struct device *dev, } EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_disconnect); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt) +{ + mtk_mmsys_update_bits(dev_get_drvdata(dev), MT8186_DPI_OUTPUT_FORMAT, mask, + val, cmdq_pkt); +} +EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_dpi_fmt_config); + void mtk_mmsys_merge_async_config(struct device *dev, int idx, int width, int height, struct cmdq_pkt *cmdq_pkt) { diff --git a/include/linux/soc/mediatek/mtk-mmsys.h b/include/linux/soc/mediatek/mtk-mmsys.h index 7a73305390ba..70bb58fbd837 100644 --- a/include/linux/soc/mediatek/mtk-mmsys.h +++ b/include/linux/soc/mediatek/mtk-mmsys.h @@ -89,4 +89,7 @@ void mtk_mmsys_mixer_in_config(struct device *dev, int idx, bool alpha_sel, u16 void mtk_mmsys_mixer_in_channel_swap(struct device *dev, int idx, bool channel_swap, struct cmdq_pkt *cmdq_pkt); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt); + #endif /* __MTK_MMSYS_H */ -- 2.18.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="yes", Size: 2304 bytes --] From: Xinlei Lee <xinlei.lee@mediatek.com> Add mmsys func to manipulate dpi output format config for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> --- drivers/soc/mediatek/mt8186-mmsys.h | 1 + drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ 3 files changed, 12 insertions(+) diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h index eb1ad9c37a9c..6eca3445bea3 100644 --- a/drivers/soc/mediatek/mt8186-mmsys.h +++ b/drivers/soc/mediatek/mt8186-mmsys.h @@ -3,6 +3,7 @@ #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H #define __SOC_MEDIATEK_MT8186_MMSYS_H +#define MT8186_DPI_OUTPUT_FORMAT 0x400 #define MT8186_MMSYS_OVL_CON 0xF04 #define MT8186_MMSYS_OVL0_CON_MASK 0x3 #define MT8186_MMSYS_OVL0_2L_CON_MASK 0xC diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index 9bbf0103b225..d5305cff51cc 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -252,6 +252,14 @@ void mtk_mmsys_ddp_disconnect(struct device *dev, } EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_disconnect); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt) +{ + mtk_mmsys_update_bits(dev_get_drvdata(dev), MT8186_DPI_OUTPUT_FORMAT, mask, + val, cmdq_pkt); +} +EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_dpi_fmt_config); + void mtk_mmsys_merge_async_config(struct device *dev, int idx, int width, int height, struct cmdq_pkt *cmdq_pkt) { diff --git a/include/linux/soc/mediatek/mtk-mmsys.h b/include/linux/soc/mediatek/mtk-mmsys.h index 7a73305390ba..70bb58fbd837 100644 --- a/include/linux/soc/mediatek/mtk-mmsys.h +++ b/include/linux/soc/mediatek/mtk-mmsys.h @@ -89,4 +89,7 @@ void mtk_mmsys_mixer_in_config(struct device *dev, int idx, bool alpha_sel, u16 void mtk_mmsys_mixer_in_channel_swap(struct device *dev, int idx, bool channel_swap, struct cmdq_pkt *cmdq_pkt); +void mtk_mmsys_ddp_dpi_fmt_config(struct device *dev, u32 mask, u32 val, + struct cmdq_pkt *cmdq_pkt); + #endif /* __MTK_MMSYS_H */ -- 2.18.0 [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 2022-08-29 3:21 ` [PATCH v4,1/2] " xinlei.lee (?) @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno -1 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add mmsys func to manipulate dpi output format config for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > --- > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > 3 files changed, 12 insertions(+) > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h > index eb1ad9c37a9c..6eca3445bea3 100644 > --- a/drivers/soc/mediatek/mt8186-mmsys.h > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > @@ -3,6 +3,7 @@ > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 For readability, can we please rename this definition to MT8186_MMSYS_DPI_OUTPUT_FORMAT Thanks, Angelo ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno 0 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add mmsys func to manipulate dpi output format config for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > --- > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > 3 files changed, 12 insertions(+) > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h > index eb1ad9c37a9c..6eca3445bea3 100644 > --- a/drivers/soc/mediatek/mt8186-mmsys.h > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > @@ -3,6 +3,7 @@ > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 For readability, can we please rename this definition to MT8186_MMSYS_DPI_OUTPUT_FORMAT Thanks, Angelo ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno 0 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add mmsys func to manipulate dpi output format config for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > --- > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > 3 files changed, 12 insertions(+) > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h > index eb1ad9c37a9c..6eca3445bea3 100644 > --- a/drivers/soc/mediatek/mt8186-mmsys.h > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > @@ -3,6 +3,7 @@ > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 For readability, can we please rename this definition to MT8186_MMSYS_DPI_OUTPUT_FORMAT Thanks, Angelo _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 2022-08-29 9:52 ` AngeloGioacchino Del Regno (?) @ 2022-09-05 1:59 ` xinlei.lee -1 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-09-05 1:59 UTC (permalink / raw) To: AngeloGioacchino Del Regno, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group On Mon, 2022-08-29 at 11:52 +0200, AngeloGioacchino Del Regno wrote: > Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Add mmsys func to manipulate dpi output format config for MT8186. > > > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h > > b/drivers/soc/mediatek/mt8186-mmsys.h > > index eb1ad9c37a9c..6eca3445bea3 100644 > > --- a/drivers/soc/mediatek/mt8186-mmsys.h > > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > > @@ -3,6 +3,7 @@ > > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 > > For readability, can we please rename this definition to > > MT8186_MMSYS_DPI_OUTPUT_FORMAT > > Thanks, > Angelo > Hi Angelo: ok, I will revise it in the next version. Best Regards! Xinlei ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-09-05 1:59 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-09-05 1:59 UTC (permalink / raw) To: AngeloGioacchino Del Regno, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel On Mon, 2022-08-29 at 11:52 +0200, AngeloGioacchino Del Regno wrote: > Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Add mmsys func to manipulate dpi output format config for MT8186. > > > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h > > b/drivers/soc/mediatek/mt8186-mmsys.h > > index eb1ad9c37a9c..6eca3445bea3 100644 > > --- a/drivers/soc/mediatek/mt8186-mmsys.h > > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > > @@ -3,6 +3,7 @@ > > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 > > For readability, can we please rename this definition to > > MT8186_MMSYS_DPI_OUTPUT_FORMAT > > Thanks, > Angelo > Hi Angelo: ok, I will revise it in the next version. Best Regards! Xinlei ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 @ 2022-09-05 1:59 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-09-05 1:59 UTC (permalink / raw) To: AngeloGioacchino Del Regno, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group On Mon, 2022-08-29 at 11:52 +0200, AngeloGioacchino Del Regno wrote: > Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Add mmsys func to manipulate dpi output format config for MT8186. > > > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > > drivers/soc/mediatek/mt8186-mmsys.h | 1 + > > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > > include/linux/soc/mediatek/mtk-mmsys.h | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/drivers/soc/mediatek/mt8186-mmsys.h > > b/drivers/soc/mediatek/mt8186-mmsys.h > > index eb1ad9c37a9c..6eca3445bea3 100644 > > --- a/drivers/soc/mediatek/mt8186-mmsys.h > > +++ b/drivers/soc/mediatek/mt8186-mmsys.h > > @@ -3,6 +3,7 @@ > > #ifndef __SOC_MEDIATEK_MT8186_MMSYS_H > > #define __SOC_MEDIATEK_MT8186_MMSYS_H > > > > +#define MT8186_DPI_OUTPUT_FORMAT 0x400 > > For readability, can we please rename this definition to > > MT8186_MMSYS_DPI_OUTPUT_FORMAT > > Thanks, > Angelo > Hi Angelo: ok, I will revise it in the next version. Best Regards! Xinlei _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 2022-08-29 3:21 ` xinlei.lee (?) @ 2022-08-29 3:21 ` xinlei.lee -1 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee From: Xinlei Lee <xinlei.lee@mediatek.com> Dpi output needs to adjust the output format to dual edge for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ 3 files changed, 39 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index fb0b79704636..c23ef7deef26 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -14,6 +14,7 @@ #include <linux/of_graph.h> #include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> +#include <linux/soc/mediatek/mtk-mmsys.h> #include <linux/types.h> #include <video/videomode.h> @@ -28,6 +29,7 @@ #include "mtk_disp_drv.h" #include "mtk_dpi_regs.h" #include "mtk_drm_ddp_comp.h" +#include "mtk_drm_drv.h" enum mtk_dpi_out_bit_num { MTK_DPI_OUT_BIT_NUM_8BITS, @@ -80,6 +82,7 @@ struct mtk_dpi { struct pinctrl_state *pins_dpi; u32 output_fmt; int refcount; + struct device *mmsys_dev; }; static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { * @yuv422_en_bit: Enable bit of yuv422. * @csc_enable_bit: Enable bit of CSC. * @pixels_per_iter: Quantity of transferred pixels per iteration. + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be + * set in MMSYS. */ struct mtk_dpi_conf { unsigned int (*cal_factor)(int clock); @@ -151,6 +156,7 @@ struct mtk_dpi_conf { u32 yuv422_en_bit; u32 csc_enable_bit; u32 pixels_per_iter; + bool edge_cfg_in_mmsys; }; static void mtk_dpi_mask(struct mtk_dpi *dpi, u32 offset, u32 val, u32 mask) @@ -447,6 +453,9 @@ static void mtk_dpi_dual_edge(struct mtk_dpi *dpi) mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, dpi->output_fmt == MEDIA_BUS_FMT_RGB888_2X12_LE ? EDGE_SEL : 0, EDGE_SEL); + if (dpi->conf->edge_cfg_in_mmsys) + mtk_mmsys_ddp_dpi_fmt_config(dpi->mmsys_dev, DPI_RGB888_DDR_CON, + DPI_FORMAT_MASK, NULL); } else { mtk_dpi_mask(dpi, DPI_DDR_SETTING, DDR_EN | DDR_4PHASE, 0); } @@ -776,8 +785,10 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) { struct mtk_dpi *dpi = dev_get_drvdata(dev); struct drm_device *drm_dev = data; + struct mtk_drm_private *priv = drm_dev->dev_private; int ret; + dpi->mmsys_dev = priv->mmsys_dev; ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, DRM_MODE_ENCODER_TMDS); if (ret) { @@ -928,6 +939,24 @@ static const struct mtk_dpi_conf mt8183_conf = { .csc_enable_bit = CSC_ENABLE, }; +static const struct mtk_dpi_conf mt8186_conf = { + .cal_factor = mt8183_calculate_factor, + .reg_h_fre_con = 0xe0, + .max_clock_khz = 150000, + .output_fmts = mt8183_output_fmts, + .num_output_fmts = ARRAY_SIZE(mt8183_output_fmts), + .edge_cfg_in_mmsys = true, + .pixels_per_iter = 1, + .is_ck_de_pol = true, + .swap_input_support = true, + .support_direct_pin = true, + .dimension_mask = HPW_MASK, + .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, + .yuv422_en_bit = YUV422_EN, + .csc_enable_bit = CSC_ENABLE, +}; + static const struct mtk_dpi_conf mt8192_conf = { .cal_factor = mt8183_calculate_factor, .reg_h_fre_con = 0xe0, @@ -1078,6 +1107,9 @@ static const struct of_device_id mtk_dpi_of_ids[] = { { .compatible = "mediatek,mt8183-dpi", .data = &mt8183_conf, }, + { .compatible = "mediatek,mt8186-dpi", + .data = &mt8186_conf, + }, { .compatible = "mediatek,mt8192-dpi", .data = &mt8192_conf, }, diff --git a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h index 62bd4931b344..779e868ffb1a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h +++ b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h @@ -235,4 +235,9 @@ #define MATRIX_SEL_RGB_TO_JPEG 0 #define MATRIX_SEL_RGB_TO_BT601 2 +/* Values for DPI configuration in MMSYS address space */ +#define DPI_FORMAT_MASK 0x1 +#define DPI_RGB888_DDR_CON BIT(0) +#define DPI_RGB565_SDR_CON BIT(1) + #endif /* __MTK_DPI_REGS_H */ diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 4eba8339188a..e85b9552e45b 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -799,6 +799,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8183-dpi", .data = (void *)MTK_DPI }, + { .compatible = "mediatek,mt8186-dpi", + .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8192-dpi", .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8195-dp-intf", -- 2.18.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> Dpi output needs to adjust the output format to dual edge for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ 3 files changed, 39 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index fb0b79704636..c23ef7deef26 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -14,6 +14,7 @@ #include <linux/of_graph.h> #include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> +#include <linux/soc/mediatek/mtk-mmsys.h> #include <linux/types.h> #include <video/videomode.h> @@ -28,6 +29,7 @@ #include "mtk_disp_drv.h" #include "mtk_dpi_regs.h" #include "mtk_drm_ddp_comp.h" +#include "mtk_drm_drv.h" enum mtk_dpi_out_bit_num { MTK_DPI_OUT_BIT_NUM_8BITS, @@ -80,6 +82,7 @@ struct mtk_dpi { struct pinctrl_state *pins_dpi; u32 output_fmt; int refcount; + struct device *mmsys_dev; }; static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { * @yuv422_en_bit: Enable bit of yuv422. * @csc_enable_bit: Enable bit of CSC. * @pixels_per_iter: Quantity of transferred pixels per iteration. + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be + * set in MMSYS. */ struct mtk_dpi_conf { unsigned int (*cal_factor)(int clock); @@ -151,6 +156,7 @@ struct mtk_dpi_conf { u32 yuv422_en_bit; u32 csc_enable_bit; u32 pixels_per_iter; + bool edge_cfg_in_mmsys; }; static void mtk_dpi_mask(struct mtk_dpi *dpi, u32 offset, u32 val, u32 mask) @@ -447,6 +453,9 @@ static void mtk_dpi_dual_edge(struct mtk_dpi *dpi) mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, dpi->output_fmt == MEDIA_BUS_FMT_RGB888_2X12_LE ? EDGE_SEL : 0, EDGE_SEL); + if (dpi->conf->edge_cfg_in_mmsys) + mtk_mmsys_ddp_dpi_fmt_config(dpi->mmsys_dev, DPI_RGB888_DDR_CON, + DPI_FORMAT_MASK, NULL); } else { mtk_dpi_mask(dpi, DPI_DDR_SETTING, DDR_EN | DDR_4PHASE, 0); } @@ -776,8 +785,10 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) { struct mtk_dpi *dpi = dev_get_drvdata(dev); struct drm_device *drm_dev = data; + struct mtk_drm_private *priv = drm_dev->dev_private; int ret; + dpi->mmsys_dev = priv->mmsys_dev; ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, DRM_MODE_ENCODER_TMDS); if (ret) { @@ -928,6 +939,24 @@ static const struct mtk_dpi_conf mt8183_conf = { .csc_enable_bit = CSC_ENABLE, }; +static const struct mtk_dpi_conf mt8186_conf = { + .cal_factor = mt8183_calculate_factor, + .reg_h_fre_con = 0xe0, + .max_clock_khz = 150000, + .output_fmts = mt8183_output_fmts, + .num_output_fmts = ARRAY_SIZE(mt8183_output_fmts), + .edge_cfg_in_mmsys = true, + .pixels_per_iter = 1, + .is_ck_de_pol = true, + .swap_input_support = true, + .support_direct_pin = true, + .dimension_mask = HPW_MASK, + .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, + .yuv422_en_bit = YUV422_EN, + .csc_enable_bit = CSC_ENABLE, +}; + static const struct mtk_dpi_conf mt8192_conf = { .cal_factor = mt8183_calculate_factor, .reg_h_fre_con = 0xe0, @@ -1078,6 +1107,9 @@ static const struct of_device_id mtk_dpi_of_ids[] = { { .compatible = "mediatek,mt8183-dpi", .data = &mt8183_conf, }, + { .compatible = "mediatek,mt8186-dpi", + .data = &mt8186_conf, + }, { .compatible = "mediatek,mt8192-dpi", .data = &mt8192_conf, }, diff --git a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h index 62bd4931b344..779e868ffb1a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h +++ b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h @@ -235,4 +235,9 @@ #define MATRIX_SEL_RGB_TO_JPEG 0 #define MATRIX_SEL_RGB_TO_BT601 2 +/* Values for DPI configuration in MMSYS address space */ +#define DPI_FORMAT_MASK 0x1 +#define DPI_RGB888_DDR_CON BIT(0) +#define DPI_RGB565_SDR_CON BIT(1) + #endif /* __MTK_DPI_REGS_H */ diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 4eba8339188a..e85b9552e45b 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -799,6 +799,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8183-dpi", .data = (void *)MTK_DPI }, + { .compatible = "mediatek,mt8186-dpi", + .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8192-dpi", .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8195-dp-intf", -- 2.18.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 3:21 ` xinlei.lee 0 siblings, 0 replies; 21+ messages in thread From: xinlei.lee @ 2022-08-29 3:21 UTC (permalink / raw) To: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, enric.balletbo, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group, Xinlei Lee From: Xinlei Lee <xinlei.lee@mediatek.com> Dpi output needs to adjust the output format to dual edge for MT8186. Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ 3 files changed, 39 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index fb0b79704636..c23ef7deef26 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -14,6 +14,7 @@ #include <linux/of_graph.h> #include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> +#include <linux/soc/mediatek/mtk-mmsys.h> #include <linux/types.h> #include <video/videomode.h> @@ -28,6 +29,7 @@ #include "mtk_disp_drv.h" #include "mtk_dpi_regs.h" #include "mtk_drm_ddp_comp.h" +#include "mtk_drm_drv.h" enum mtk_dpi_out_bit_num { MTK_DPI_OUT_BIT_NUM_8BITS, @@ -80,6 +82,7 @@ struct mtk_dpi { struct pinctrl_state *pins_dpi; u32 output_fmt; int refcount; + struct device *mmsys_dev; }; static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { * @yuv422_en_bit: Enable bit of yuv422. * @csc_enable_bit: Enable bit of CSC. * @pixels_per_iter: Quantity of transferred pixels per iteration. + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be + * set in MMSYS. */ struct mtk_dpi_conf { unsigned int (*cal_factor)(int clock); @@ -151,6 +156,7 @@ struct mtk_dpi_conf { u32 yuv422_en_bit; u32 csc_enable_bit; u32 pixels_per_iter; + bool edge_cfg_in_mmsys; }; static void mtk_dpi_mask(struct mtk_dpi *dpi, u32 offset, u32 val, u32 mask) @@ -447,6 +453,9 @@ static void mtk_dpi_dual_edge(struct mtk_dpi *dpi) mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, dpi->output_fmt == MEDIA_BUS_FMT_RGB888_2X12_LE ? EDGE_SEL : 0, EDGE_SEL); + if (dpi->conf->edge_cfg_in_mmsys) + mtk_mmsys_ddp_dpi_fmt_config(dpi->mmsys_dev, DPI_RGB888_DDR_CON, + DPI_FORMAT_MASK, NULL); } else { mtk_dpi_mask(dpi, DPI_DDR_SETTING, DDR_EN | DDR_4PHASE, 0); } @@ -776,8 +785,10 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) { struct mtk_dpi *dpi = dev_get_drvdata(dev); struct drm_device *drm_dev = data; + struct mtk_drm_private *priv = drm_dev->dev_private; int ret; + dpi->mmsys_dev = priv->mmsys_dev; ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, DRM_MODE_ENCODER_TMDS); if (ret) { @@ -928,6 +939,24 @@ static const struct mtk_dpi_conf mt8183_conf = { .csc_enable_bit = CSC_ENABLE, }; +static const struct mtk_dpi_conf mt8186_conf = { + .cal_factor = mt8183_calculate_factor, + .reg_h_fre_con = 0xe0, + .max_clock_khz = 150000, + .output_fmts = mt8183_output_fmts, + .num_output_fmts = ARRAY_SIZE(mt8183_output_fmts), + .edge_cfg_in_mmsys = true, + .pixels_per_iter = 1, + .is_ck_de_pol = true, + .swap_input_support = true, + .support_direct_pin = true, + .dimension_mask = HPW_MASK, + .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, + .yuv422_en_bit = YUV422_EN, + .csc_enable_bit = CSC_ENABLE, +}; + static const struct mtk_dpi_conf mt8192_conf = { .cal_factor = mt8183_calculate_factor, .reg_h_fre_con = 0xe0, @@ -1078,6 +1107,9 @@ static const struct of_device_id mtk_dpi_of_ids[] = { { .compatible = "mediatek,mt8183-dpi", .data = &mt8183_conf, }, + { .compatible = "mediatek,mt8186-dpi", + .data = &mt8186_conf, + }, { .compatible = "mediatek,mt8192-dpi", .data = &mt8192_conf, }, diff --git a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h index 62bd4931b344..779e868ffb1a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi_regs.h +++ b/drivers/gpu/drm/mediatek/mtk_dpi_regs.h @@ -235,4 +235,9 @@ #define MATRIX_SEL_RGB_TO_JPEG 0 #define MATRIX_SEL_RGB_TO_BT601 2 +/* Values for DPI configuration in MMSYS address space */ +#define DPI_FORMAT_MASK 0x1 +#define DPI_RGB888_DDR_CON BIT(0) +#define DPI_RGB565_SDR_CON BIT(1) + #endif /* __MTK_DPI_REGS_H */ diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 4eba8339188a..e85b9552e45b 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -799,6 +799,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8183-dpi", .data = (void *)MTK_DPI }, + { .compatible = "mediatek,mt8186-dpi", + .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8192-dpi", .data = (void *)MTK_DPI }, { .compatible = "mediatek,mt8195-dp-intf", -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 2022-08-29 3:21 ` xinlei.lee (?) @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno -1 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ > 3 files changed, 39 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index fb0b79704636..c23ef7deef26 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -14,6 +14,7 @@ > #include <linux/of_graph.h> > #include <linux/pinctrl/consumer.h> > #include <linux/platform_device.h> > +#include <linux/soc/mediatek/mtk-mmsys.h> > #include <linux/types.h> > > #include <video/videomode.h> > @@ -28,6 +29,7 @@ > #include "mtk_disp_drv.h" > #include "mtk_dpi_regs.h" > #include "mtk_drm_ddp_comp.h" > +#include "mtk_drm_drv.h" > > enum mtk_dpi_out_bit_num { > MTK_DPI_OUT_BIT_NUM_8BITS, > @@ -80,6 +82,7 @@ struct mtk_dpi { > struct pinctrl_state *pins_dpi; > u32 output_fmt; > int refcount; > + struct device *mmsys_dev; > }; > > static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) > @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { > * @yuv422_en_bit: Enable bit of yuv422. > * @csc_enable_bit: Enable bit of CSC. > * @pixels_per_iter: Quantity of transferred pixels per iteration. > + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be > + * set in MMSYS. * @edge_cfg_in_mmsys: Edge configuration for DPI output has to be set in MMSYS. fits in one line and it's more immediate to read. After which... Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno 0 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ > 3 files changed, 39 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index fb0b79704636..c23ef7deef26 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -14,6 +14,7 @@ > #include <linux/of_graph.h> > #include <linux/pinctrl/consumer.h> > #include <linux/platform_device.h> > +#include <linux/soc/mediatek/mtk-mmsys.h> > #include <linux/types.h> > > #include <video/videomode.h> > @@ -28,6 +29,7 @@ > #include "mtk_disp_drv.h" > #include "mtk_dpi_regs.h" > #include "mtk_drm_ddp_comp.h" > +#include "mtk_drm_drv.h" > > enum mtk_dpi_out_bit_num { > MTK_DPI_OUT_BIT_NUM_8BITS, > @@ -80,6 +82,7 @@ struct mtk_dpi { > struct pinctrl_state *pins_dpi; > u32 output_fmt; > int refcount; > + struct device *mmsys_dev; > }; > > static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) > @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { > * @yuv422_en_bit: Enable bit of yuv422. > * @csc_enable_bit: Enable bit of CSC. > * @pixels_per_iter: Quantity of transferred pixels per iteration. > + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be > + * set in MMSYS. * @edge_cfg_in_mmsys: Edge configuration for DPI output has to be set in MMSYS. fits in one line and it's more immediate to read. After which... Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 9:52 ` AngeloGioacchino Del Regno 0 siblings, 0 replies; 21+ messages in thread From: AngeloGioacchino Del Regno @ 2022-08-29 9:52 UTC (permalink / raw) To: xinlei.lee, matthias.bgg, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel Cc: jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group Il 29/08/22 05:21, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 32 +++++++++++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ > 3 files changed, 39 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index fb0b79704636..c23ef7deef26 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -14,6 +14,7 @@ > #include <linux/of_graph.h> > #include <linux/pinctrl/consumer.h> > #include <linux/platform_device.h> > +#include <linux/soc/mediatek/mtk-mmsys.h> > #include <linux/types.h> > > #include <video/videomode.h> > @@ -28,6 +29,7 @@ > #include "mtk_disp_drv.h" > #include "mtk_dpi_regs.h" > #include "mtk_drm_ddp_comp.h" > +#include "mtk_drm_drv.h" > > enum mtk_dpi_out_bit_num { > MTK_DPI_OUT_BIT_NUM_8BITS, > @@ -80,6 +82,7 @@ struct mtk_dpi { > struct pinctrl_state *pins_dpi; > u32 output_fmt; > int refcount; > + struct device *mmsys_dev; > }; > > static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) > @@ -133,6 +136,8 @@ struct mtk_dpi_yc_limit { > * @yuv422_en_bit: Enable bit of yuv422. > * @csc_enable_bit: Enable bit of CSC. > * @pixels_per_iter: Quantity of transferred pixels per iteration. > + * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be > + * set in MMSYS. * @edge_cfg_in_mmsys: Edge configuration for DPI output has to be set in MMSYS. fits in one line and it's more immediate to read. After which... Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 2022-08-29 3:21 ` xinlei.lee (?) @ 2022-08-29 13:49 ` Nícolas F. R. A. Prado -1 siblings, 0 replies; 21+ messages in thread From: Nícolas F. R. A. Prado @ 2022-08-29 13:49 UTC (permalink / raw) To: xinlei.lee Cc: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel, jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group On Mon, Aug 29, 2022 at 11:21:48AM +0800, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Thanks, Nícolas ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 13:49 ` Nícolas F. R. A. Prado 0 siblings, 0 replies; 21+ messages in thread From: Nícolas F. R. A. Prado @ 2022-08-29 13:49 UTC (permalink / raw) To: xinlei.lee Cc: chunkuang.hu, jitao.shi, airlied, jason-jh.lin, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, rex-bc.chen, linux-mediatek, yongqiang.niu, matthias.bgg, linux-arm-kernel, angelogioacchino.delregno On Mon, Aug 29, 2022 at 11:21:48AM +0800, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Thanks, Nícolas ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 @ 2022-08-29 13:49 ` Nícolas F. R. A. Prado 0 siblings, 0 replies; 21+ messages in thread From: Nícolas F. R. A. Prado @ 2022-08-29 13:49 UTC (permalink / raw) To: xinlei.lee Cc: matthias.bgg, angelogioacchino.delregno, rex-bc.chen, jason-jh.lin, yongqiang.niu, chunkuang.hu, p.zabel, airlied, daniel, jitao.shi, dri-devel, linux-mediatek, linux-arm-kernel, linux-kernel, Project_Global_Chrome_Upstream_Group On Mon, Aug 29, 2022 at 11:21:48AM +0800, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Dpi output needs to adjust the output format to dual edge for MT8186. > > Co-developed-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Thanks, Nícolas _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2022-09-05 2:55 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-29 3:21 [PATCH v4,0/2] Add dpi output format control for MT8186 xinlei.lee 2022-08-29 3:21 ` xinlei.lee 2022-08-29 3:21 ` xinlei.lee 2022-08-29 3:21 ` [PATCH v4,1/2] soc: mediatek: Add mmsys func to adapt to dpi output " xinlei.lee 2022-08-29 3:21 ` [PATCH v4, 1/2] " xinlei.lee 2022-08-29 3:21 ` [PATCH v4,1/2] " xinlei.lee 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-09-05 1:59 ` xinlei.lee 2022-09-05 1:59 ` xinlei.lee 2022-09-05 1:59 ` xinlei.lee 2022-08-29 3:21 ` [PATCH v4,2/2] drm: mediatek: Adjust the dpi output format to MT8186 xinlei.lee 2022-08-29 3:21 ` xinlei.lee 2022-08-29 3:21 ` xinlei.lee 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-08-29 9:52 ` AngeloGioacchino Del Regno 2022-08-29 13:49 ` Nícolas F. R. A. Prado 2022-08-29 13:49 ` Nícolas F. R. A. Prado 2022-08-29 13:49 ` Nícolas F. R. A. Prado
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.