aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <[email protected]>2017-02-28 19:44:55 -0300
committerMauro Carvalho Chehab <[email protected]>2017-04-10 08:32:21 -0300
commit40ad34d8ebe7abd0d4df35a3364bf446e10f5c52 (patch)
tree30f47edc5c48716d99a55506623b85365a3741e4
parent9dbed95ba640c1b4fb2d069814924811bdeb0de6 (diff)
[media] v4l: vsp1: Disable HSV formats on Gen3 hardware
While all VSP instances can process HSV internally, on Gen3 hardware reading or writing HSV24 or HSV32 from/to memory causes the device to hang. Disable those pixel formats on Gen3 hardware. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r--drivers/media/platform/vsp1/vsp1_pipe.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
index 3f1acf68dc6e..35364f594e19 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
@@ -157,9 +157,15 @@ const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1,
{
unsigned int i;
- /* Special case, the VYUY format is supported on Gen2 only. */
- if (vsp1->info->gen != 2 && fourcc == V4L2_PIX_FMT_VYUY)
- return NULL;
+ /* Special case, the VYUY and HSV formats are supported on Gen2 only. */
+ if (vsp1->info->gen != 2) {
+ switch (fourcc) {
+ case V4L2_PIX_FMT_VYUY:
+ case V4L2_PIX_FMT_HSV24:
+ case V4L2_PIX_FMT_HSV32:
+ return NULL;
+ }
+ }
for (i = 0; i < ARRAY_SIZE(vsp1_video_formats); ++i) {
const struct vsp1_format_info *info = &vsp1_video_formats[i];