mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
05ed7dc50d
Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
49 lines
2.1 KiB
Diff
49 lines
2.1 KiB
Diff
From 21261e30679118b96ed537d1cdf9e12682fc1b29 Mon Sep 17 00:00:00 2001
|
|
From: Eugen Hristev <eugen.hristev@microchip.com>
|
|
Date: Wed, 9 Jun 2021 15:00:28 +0200
|
|
Subject: [PATCH 193/247] media: atmel: atmel-sama5d2-isc: fix YUYV format
|
|
|
|
SAMA5D2 does not have the YCYC field for the RLP (rounding, limiting,
|
|
packaging) module.
|
|
The YCYC field is supposed to work with interleaved YUV formats like YUYV.
|
|
In SAMA5D2, we have to use YYCC field, which is used for both planar
|
|
formats like YUV420 and interleaved formats like YUYV.
|
|
Fix the according rlp callback to replace the generic YCYC field (which
|
|
makes more sense from a logical point of view) with the required YYCC
|
|
field.
|
|
|
|
Fixes: debfa496871c ("media: atmel: atmel-isc-base: add support for more formats and additional pipeline modules")
|
|
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
|
|
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
---
|
|
.../media/platform/atmel/atmel-sama5d2-isc.c | 17 +++++++++++++++++
|
|
1 file changed, 17 insertions(+)
|
|
|
|
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
|
|
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
|
|
@@ -255,6 +255,23 @@ static void isc_sama5d2_config_rlp(struc
|
|
struct regmap *regmap = isc->regmap;
|
|
u32 rlp_mode = isc->config.rlp_cfg_mode;
|
|
|
|
+ /*
|
|
+ * In sama5d2, the YUV planar modes and the YUYV modes are treated
|
|
+ * in the same way in RLP register.
|
|
+ * Normally, YYCC mode should be Luma(n) - Color B(n) - Color R (n)
|
|
+ * and YCYC should be Luma(n + 1) - Color B (n) - Luma (n) - Color R (n)
|
|
+ * but in sama5d2, the YCYC mode does not exist, and YYCC must be
|
|
+ * selected for both planar and interleaved modes, as in fact
|
|
+ * both modes are supported.
|
|
+ *
|
|
+ * Thus, if the YCYC mode is selected, replace it with the
|
|
+ * sama5d2-compliant mode which is YYCC .
|
|
+ */
|
|
+ if ((rlp_mode & ISC_RLP_CFG_MODE_YCYC) == ISC_RLP_CFG_MODE_YCYC) {
|
|
+ rlp_mode &= ~ISC_RLP_CFG_MODE_MASK;
|
|
+ rlp_mode |= ISC_RLP_CFG_MODE_YYCC;
|
|
+ }
|
|
+
|
|
regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp,
|
|
ISC_RLP_CFG_MODE_MASK, rlp_mode);
|
|
}
|