media: vsp1: Remove artificial minimum width/height limitation
authorKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Fri, 31 Aug 2018 14:40:39 +0000 (10:40 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 17 Sep 2018 18:52:49 +0000 (14:52 -0400)
The VSP1 has a minimum width and height of a single pixel, with the
exception of pixel formats with sub-sampling.

Remove the artificial minimum width and minimum height limitation, and
instead clamp the minimum dimensions based upon the sub-sampling
parameter of that dimension.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/vsp1/vsp1_video.c

index aa54322..e4754d5 100644 (file)
@@ -38,9 +38,7 @@
 #define VSP1_VIDEO_DEF_WIDTH           1024
 #define VSP1_VIDEO_DEF_HEIGHT          768
 
-#define VSP1_VIDEO_MIN_WIDTH           2U
 #define VSP1_VIDEO_MAX_WIDTH           8190U
-#define VSP1_VIDEO_MIN_HEIGHT          2U
 #define VSP1_VIDEO_MAX_HEIGHT          8190U
 
 /* -----------------------------------------------------------------------------
@@ -136,9 +134,8 @@ static int __vsp1_video_try_format(struct vsp1_video *video,
        height = round_down(height, info->vsub);
 
        /* Clamp the width and height. */
-       pix->width = clamp(width, VSP1_VIDEO_MIN_WIDTH, VSP1_VIDEO_MAX_WIDTH);
-       pix->height = clamp(height, VSP1_VIDEO_MIN_HEIGHT,
-                           VSP1_VIDEO_MAX_HEIGHT);
+       pix->width = clamp(width, info->hsub, VSP1_VIDEO_MAX_WIDTH);
+       pix->height = clamp(height, info->vsub, VSP1_VIDEO_MAX_HEIGHT);
 
        /*
         * Compute and clamp the stride and image size. While not documented in