1*e6938cc1SHelen Koike // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*e6938cc1SHelen Koike /* 3*e6938cc1SHelen Koike * Rockchip ISP1 Driver - Common definitions 4*e6938cc1SHelen Koike * 5*e6938cc1SHelen Koike * Copyright (C) 2019 Collabora, Ltd. 6*e6938cc1SHelen Koike */ 7*e6938cc1SHelen Koike 8*e6938cc1SHelen Koike #include <media/v4l2-rect.h> 9*e6938cc1SHelen Koike 10*e6938cc1SHelen Koike #include "rkisp1-common.h" 11*e6938cc1SHelen Koike 12*e6938cc1SHelen Koike static const struct v4l2_rect rkisp1_sd_min_crop = { 13*e6938cc1SHelen Koike .width = RKISP1_ISP_MIN_WIDTH, 14*e6938cc1SHelen Koike .height = RKISP1_ISP_MIN_HEIGHT, 15*e6938cc1SHelen Koike .top = 0, 16*e6938cc1SHelen Koike .left = 0, 17*e6938cc1SHelen Koike }; 18*e6938cc1SHelen Koike 19*e6938cc1SHelen Koike void rkisp1_sd_adjust_crop_rect(struct v4l2_rect *crop, 20*e6938cc1SHelen Koike const struct v4l2_rect *bounds) 21*e6938cc1SHelen Koike { 22*e6938cc1SHelen Koike v4l2_rect_set_min_size(crop, &rkisp1_sd_min_crop); 23*e6938cc1SHelen Koike v4l2_rect_map_inside(crop, bounds); 24*e6938cc1SHelen Koike } 25*e6938cc1SHelen Koike 26*e6938cc1SHelen Koike void rkisp1_sd_adjust_crop(struct v4l2_rect *crop, 27*e6938cc1SHelen Koike const struct v4l2_mbus_framefmt *bounds) 28*e6938cc1SHelen Koike { 29*e6938cc1SHelen Koike struct v4l2_rect crop_bounds = { 30*e6938cc1SHelen Koike .left = 0, 31*e6938cc1SHelen Koike .top = 0, 32*e6938cc1SHelen Koike .width = bounds->width, 33*e6938cc1SHelen Koike .height = bounds->height, 34*e6938cc1SHelen Koike }; 35*e6938cc1SHelen Koike 36*e6938cc1SHelen Koike rkisp1_sd_adjust_crop_rect(crop, &crop_bounds); 37*e6938cc1SHelen Koike } 38