From 2b761afaffd6857f1a19a044ee8c44e9c6cea4fe Mon Sep 17 00:00:00 2001 From: Wooyeon Kim Date: Wed, 8 Aug 2018 09:56:18 +0900 Subject: [PATCH] [HACK][9610] fimc-is2: use 10bit unpacked for DNG in 3AC of fimc-is-v6_10_0 Change-Id: I01445d7256730267c75cb5078238aefe34767257 Signed-off-by: Wooyeon Kim --- .../fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-config.h | 1 + .../ischain/fimc-is-v6_10_0/fimc-is-subdev-3ac.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-config.h b/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-config.h index 0fdddbd521a2..9eed238eca15 100644 --- a/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-config.h +++ b/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-config.h @@ -133,6 +133,7 @@ #define CAPTURE_NODE_MAX 12 #define OTF_YUV_FORMAT (OTF_INPUT_FORMAT_YUV422) #define MSB_OF_3AA_DMA_OUT (11) +#define MSB_OF_DNG_DMA_OUT (9) #define USE_YUV_RANGE_BY_ISP /* #define ENABLE_3AA_DMA_CROP */ diff --git a/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-subdev-3ac.c b/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-subdev-3ac.c index 2bdde416db32..59d11134a1c8 100644 --- a/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-subdev-3ac.c +++ b/drivers/media/platform/exynos/fimc-is2/ischain/fimc-is-v6_10_0/fimc-is-subdev-3ac.c @@ -80,7 +80,14 @@ static int fimc_is_ischain_3ac_start(struct fimc_is_device_ischain *device, dma_output->format = hw_format; dma_output->order = hw_order; dma_output->bitwidth = hw_bitwidth; - dma_output->msb = MSB_OF_3AA_DMA_OUT; + + /* HACK: for reverse raw capture, forcely use the 10bit unpacked, not 12bit unpacked */ + if (test_bit(FIMC_IS_ISCHAIN_REPROCESSING, &device->state) && + hw_bitwidth == DMA_OUTPUT_BIT_WIDTH_16BIT) + dma_output->msb = MSB_OF_DNG_DMA_OUT; + else + dma_output->msb = MSB_OF_3AA_DMA_OUT; + dma_output->width = otcrop->w; dma_output->height = otcrop->h; dma_output->crop_enable = 0; -- 2.20.1