lkml.org 
[lkml]   [2022]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v15 12/16] drm/mediatek: dpi: move the csc_enable bit to SoC config
    Date
    From: Guillaume Ranquet <granquet@baylibre.com>

    Add flexibility by moving the csc_enable bit to SoC specific config

    Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
    Reviewed-by: CK Hu <ck.hu@mediatek.com>
    ---
    drivers/gpu/drm/mediatek/mtk_dpi.c | 9 ++++++++-
    1 file changed, 8 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c
    index 0b75a4ce8261..3085033becbd 100644
    --- a/drivers/gpu/drm/mediatek/mtk_dpi.c
    +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
    @@ -127,6 +127,7 @@ struct mtk_dpi_yc_limit {
    * @hvsize_mask: Mask of HSIZE and VSIZE mask (no shift).
    * @channel_swap_shift: Shift value of channel swap.
    * @yuv422_en_bit: Enable bit of yuv422.
    + * @csc_enable_bit: Enable bit of CSC.
    */
    struct mtk_dpi_conf {
    unsigned int (*cal_factor)(int clock);
    @@ -141,6 +142,7 @@ struct mtk_dpi_conf {
    u32 hvsize_mask;
    u32 channel_swap_shift;
    u32 yuv422_en_bit;
    + u32 csc_enable_bit;
    };

    static void mtk_dpi_mask(struct mtk_dpi *dpi, u32 offset, u32 val, u32 mask)
    @@ -384,7 +386,8 @@ static void mtk_dpi_config_yuv422_enable(struct mtk_dpi *dpi, bool enable)

    static void mtk_dpi_config_csc_enable(struct mtk_dpi *dpi, bool enable)
    {
    - mtk_dpi_mask(dpi, DPI_CON, enable ? CSC_ENABLE : 0, CSC_ENABLE);
    + mtk_dpi_mask(dpi, DPI_CON, enable ? dpi->conf->csc_enable_bit : 0,
    + dpi->conf->csc_enable_bit);
    }

    static void mtk_dpi_config_swap_input(struct mtk_dpi *dpi, bool enable)
    @@ -826,6 +829,7 @@ static const struct mtk_dpi_conf mt8173_conf = {
    .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 mt2701_conf = {
    @@ -841,6 +845,7 @@ static const struct mtk_dpi_conf mt2701_conf = {
    .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 mt8183_conf = {
    @@ -855,6 +860,7 @@ static const struct mtk_dpi_conf mt8183_conf = {
    .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 = {
    @@ -869,6 +875,7 @@ static const struct mtk_dpi_conf mt8192_conf = {
    .hvsize_mask = HSIZE_MASK,
    .channel_swap_shift = CH_SWAP,
    .yuv422_en_bit = YUV422_EN,
    + .csc_enable_bit = CSC_ENABLE,
    };

    static int mtk_dpi_probe(struct platform_device *pdev)
    --
    2.18.0
    \
     
     \ /
      Last update: 2022-07-01 06:00    [W:5.312 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site