Re: [PATCH v10 11/21] drm/mediatek: dpi: move swap_shift to SoC config
From: Rex-BC Chen <hidden>
Date: 2022-06-02 11:39:11
Also in:
dri-devel, linux-arm-kernel, linux-devicetree, linux-mediatek, linux-phy, lkml
On Mon, 2022-05-30 at 16:38 +0800, CK Hu wrote:
Hi, Guillaume: On Mon, 2022-05-23 at 12:47 +0200, Guillaume Ranquet wrote:quoted
Add flexibility by moving the swap shift value to SoC specific config Signed-off-by: Guillaume Ranquet <redacted> Reviewed-by: Rex-BC Chen <redacted> Reviewed-by: AngeloGioacchino Del Regno < angelogioacchino.delregno@collabora.com> --- drivers/gpu/drm/mediatek/mtk_dpi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.cb/drivers/gpu/drm/mediatek/mtk_dpi.c index 6eeda222a973..6d4d8c6ec47d 100644--- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c@@ -131,6 +131,7 @@ struct mtk_dpi_conf { u32 dimension_mask; /* HSIZE and VSIZE mask (no shift) */ u32 hvsize_mask; + u32 channel_swap_shift; const struct mtk_dpi_yc_limit *limit; };@@ -349,7 +350,8 @@ static void mtk_dpi_config_channel_swap(structmtk_dpi *dpi, break; } - mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, val << CH_SWAP, CH_SWAP_MASK); + mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, val << dpi->conf-quoted
channel_swap_shift,+ CH_SWAP_MASK); From the definiton:#define CH_SWAP 0 +#define DPINTF_CH_SWAP BIT(1) #define CH_SWAP_MASK (0x7 << 0) +#define DPINTF_CH_SWAP_MASK (0x7 << 1) This statement should be: mtk_dpi_mask(dpi, DPI_OUTPUT_SETTING, val << dpi->conf-quoted
channel_swap_shift, CH_SWAP_MASK << dpi->conf->channel_swap_shift);dpi->conf->channel_swap_shift is 1 for MT8195-DP_INTF and 0 for others. And drop the definition of DPINTF_CH_SWAP and DPINTF_CH_SWAP_MASK, Regards, CK
Hello CK, I think we should keep DPINTF_CH_SWAP? BIT(1) = 2 so the shift should be: dpi->conf->channel_swap_shift is 2 for MT8195-DP_INTF and 0 for others. BRs, Bo-Chen
quoted
} static void mtk_dpi_config_yuv422_enable(struct mtk_dpi *dpi, bool enable)@@ -821,6 +823,7 @@ static const struct mtk_dpi_conf mt8173_conf ={ .swap_input_support = true, .dimension_mask = HPW_MASK, .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, .limit = &mtk_dpi_limit, };@@ -835,6 +838,7 @@ static const struct mtk_dpi_conf mt2701_conf ={ .swap_input_support = true, .dimension_mask = HPW_MASK, .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, .limit = &mtk_dpi_limit, };@@ -848,6 +852,7 @@ static const struct mtk_dpi_conf mt8183_conf ={ .swap_input_support = true, .dimension_mask = HPW_MASK, .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, .limit = &mtk_dpi_limit, };@@ -861,6 +866,7 @@ static const struct mtk_dpi_conf mt8192_conf ={ .swap_input_support = true, .dimension_mask = HPW_MASK, .hvsize_mask = HSIZE_MASK, + .channel_swap_shift = CH_SWAP, .limit = &mtk_dpi_limit, };_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel