[PATCH v8,2/3]drm: mediatek: Adjust the dpi output format to MT8186
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Fri Sep 23 02:16:34 PDT 2022
Il 22/09/22 14:45, xinlei.lee at mediatek.com ha scritto:
> From: Xinlei Lee <xinlei.lee at mediatek.com>
>
> Due to the mt8186 hardware changes, we need to modify the dpi output
> format corresponding to the mmsys register(mmsys_base+0x400).
>
> Because different sink ICs may support other output formats.
> The current DRM architecture supports retrieving the output format of
> all bridges (eg dpi is implemented via DRM's .atomic_check and
> .atomic_get_output_bus_fmts and .atomic_get_input_bus_fmts).
> If no unified output format is found, the default soc format
> (MEDIA_BUS_FMT_RGB888_2X12_LE in mt8186) is used.
>
> Therefore, if there are other format sink ICs (RGB888_DDR/RGB888_SDR) in
> the future, the sink IC needs to add the func implementation mentioned
> above needs to be added.
> And the drm architecture will select the appropriate format to change
> the dpi output.
>
> Co-developed-by: Jitao Shi <jitao.shi at mediatek.com>
> Signed-off-by: Jitao Shi <jitao.shi at mediatek.com>
> Signed-off-by: Xinlei Lee <xinlei.lee at mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_dpi.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c
> index 630a4e301ef6..bd1870a8504a 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dpi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
> @@ -15,6 +15,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>
> @@ -30,6 +31,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,
> @@ -82,6 +84,7 @@ struct mtk_dpi {
> struct pinctrl_state *pins_dpi;
> u32 output_fmt;
> int refcount;
> + struct device *mmsys_dev;
Please place this after `struct device *dev;` and not here at the end.
Thanks,
Angelo
More information about the linux-arm-kernel
mailing list