From 8bd1123ed7d120ba7f91c9ca8aab3e9d864888d2 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Fri, 11 Aug 2023 10:57:25 +0800 Subject: [PATCH] media: rockchip: vicap fixes crop sync error while two camera link to a device tree, if the link relationship is switched from one sensor to another, there may be error messages in crop information Signed-off-by: Zefa Chen Change-Id: I6b6aa3efcf8f862b5b1b6e41fb2b4c2fcead2282 --- drivers/media/platform/rockchip/cif/capture.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index e210f1181af3..98df4f36c627 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -5356,6 +5356,7 @@ static void rkcif_sync_crop_info(struct rkcif_stream *stream) stream->crop_mask |= CROP_SRC_SENSOR_MASK; dev->terminal_sensor.selection = input_sel; } else { + stream->crop_mask &= ~CROP_SRC_SENSOR_MASK; dev->terminal_sensor.selection.r = dev->terminal_sensor.raw_rect; } } @@ -5376,8 +5377,10 @@ static void rkcif_sync_crop_info(struct rkcif_stream *stream) stream->crop[CROP_SRC_ACT].top = stream->crop[CROP_SRC_USR].top + stream->crop[CROP_SRC_SENSOR].top; } - } else { + } else if (stream->crop_mask & CROP_SRC_SENSOR_MASK) { stream->crop[CROP_SRC_ACT] = stream->crop[CROP_SRC_SENSOR]; + } else { + stream->crop[CROP_SRC_ACT] = dev->terminal_sensor.raw_rect; } }