From f16eac4a32b333b8ccdadaebf540f2d2a522d240 Mon Sep 17 00:00:00 2001 From: Fancy Fang Date: Sun, 12 Aug 2018 12:02:43 +0800 Subject: [PATCH] MLK-19158-3 gpu: imx: lcdif: fix output order for 16bpp BGR formats The 16bpp BGR order pixel formats 'DRM_FORMAT_ABGR1555' and 'DRM_FORMAT_XBGR1555' also require to be re-ordered to RGB order for display, just like the format 'DRM_FORMAT_BGR565' does. Signed-off-by: Fancy Fang (cherry picked from commit f5cc4f4699570fe697d21cb47c54aa91b82c8458) --- drivers/gpu/imx/lcdif/lcdif-common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/imx/lcdif/lcdif-common.c b/drivers/gpu/imx/lcdif/lcdif-common.c index f7b887ce440f..86b106956e65 100644 --- a/drivers/gpu/imx/lcdif/lcdif-common.c +++ b/drivers/gpu/imx/lcdif/lcdif-common.c @@ -317,7 +317,9 @@ int lcdif_set_pix_fmt(struct lcdif_soc *lcdif, u32 format) ctrl1 |= CTRL1_SET_BYTE_PACKAGING(0xf); /* 'BGR' order */ - if (format == DRM_FORMAT_BGR565) + if (format == DRM_FORMAT_BGR565 || + format == DRM_FORMAT_ABGR1555 || + format == DRM_FORMAT_XBGR1555) writel(CTRL2_ODD_LINE_PATTERN(0x5) | CTRL2_EVEN_LINE_PATTERN(0x5), lcdif->base + LCDIF_CTRL2 + REG_SET);