From 81b7b86314170373c5ea6bbba7ee5bbdcfd1c027 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 19 Feb 2024 14:36:28 +0900 Subject: [PATCH] ODROID-COMMON: osd: Enable forced RGB colorspace Change-Id: Ibac9e15967c5bf0e218cb73afa23e44a6217cfcd --- drivers/amlogic/media/osd/osd_hw.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index ce1299939d10..9d0249ecd94c 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -5491,6 +5491,17 @@ static int afbc_pix_format(u32 fmt_mode) return pix_format; } +static char force_colorrange; +static int __init osd_colorrange_setup(char *s) +{ + if (!(strcmp(s, "true"))) + force_colorrange = 1; + else + force_colorrange = 0; + + return 0; +} +__setup("fullcolorrange=", osd_colorrange_setup); static void osd_update_color_mode(u32 index) { @@ -5629,11 +5640,17 @@ static void osd_update_color_mode(u32 index) } } if (idx >= COLOR_INDEX_32_BGRX - && idx <= COLOR_INDEX_32_XRGB) + && idx <= COLOR_INDEX_32_XRGB) { VSYNCOSD_WR_MPEG_REG_BITS( osd_reg->osd_ctrl_stat2, 0x1ff, 6, 9); - else + if (force_colorrange) + VSYNCOSD_WR_MPEG_REG_BITS( + osd_reg->osd_ctrl_stat2, 1, 3, 1); + else + VSYNCOSD_WR_MPEG_REG_BITS( + osd_reg->osd_ctrl_stat2, 0, 3, 1); + } else VSYNCOSD_WR_MPEG_REG_BITS( osd_reg->osd_ctrl_stat2, 0, 6, 9);