The RkISP can take higher input resolutions than 4032x3024, but the TRM declares this size as the maximum size for handling black level calibration. Crop the input resolution down to the expected size. Signed-off-by: Sebastian Fricke <sebastian.fricke@xxxxxxxxxx> --- drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c index 2e5b57e3aedc..06d3cca0c00c 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -758,9 +758,13 @@ static void rkisp1_isp_set_sink_crop(struct rkisp1_isp *isp, which); sink_crop->left = ALIGN(r->left, 2); - sink_crop->width = ALIGN(r->width, 2); + sink_crop->width = clamp_t(u32, ALIGN(r->width, 2), + RKISP1_ISP_MIN_WIDTH, + RKISP1_ISP_MAX_WIDTH_PROCESSING); sink_crop->top = r->top; - sink_crop->height = r->height; + sink_crop->height = clamp_t(u32, r->height, + RKISP1_ISP_MIN_HEIGHT, + RKISP1_ISP_MAX_HEIGHT_PROCESSING); rkisp1_sd_adjust_crop(sink_crop, sink_fmt); *r = *sink_crop; -- 2.25.1