[PATCH 5/8] drm/tidss: dt property to force 16bit VP output to a 24bit bridge

From: Aradhya Bhatia
Date: Tue Jul 19 2022 - 04:09:27 EST


Override the DSS Videoport to output 16bit RGB565 instead of 24bit
RGB888 when the dt property "ti,rgb565-to-888" has been enanbled.

Co-developed-by: Darren Etheridge <detheridge@xxxxxx>
Signed-off-by: Darren Etheridge <detheridge@xxxxxx>
Signed-off-by: Aradhya Bhatia <a-bhatia1@xxxxxx>
---
drivers/gpu/drm/tidss/tidss_dispc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/tidss/tidss_dispc.c b/drivers/gpu/drm/tidss/tidss_dispc.c
index fb1fdecfc83a..94fce035c1d7 100644
--- a/drivers/gpu/drm/tidss/tidss_dispc.c
+++ b/drivers/gpu/drm/tidss/tidss_dispc.c
@@ -896,6 +896,8 @@ struct dispc_bus_format *dispc_vp_find_bus_fmt(struct dispc_device *dispc,
if (dispc->feat->vp_bus_type[hw_videoport] == DISPC_VP_OLDI &&
dispc->oldi_mode == OLDI_DUAL_LINK)
is_dual_link = true;
+ else if (bus_fmt == MEDIA_BUS_FMT_RGB888_1X24 && dispc->rgb565_to_888)
+ bus_fmt = MEDIA_BUS_FMT_RGB565_1X16;

for (i = 0; i < ARRAY_SIZE(dispc_bus_formats); ++i) {
if (dispc_bus_formats[i].bus_fmt == bus_fmt &&
--
2.37.0