media: atomisp: Fix atomisp_try_fmt_cap() always returning YUV420 pixelformat
authorHans de Goede <hdegoede@redhat.com>
Sun, 16 Oct 2022 18:02:54 +0000 (19:02 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 25 Nov 2022 08:16:11 +0000 (08:16 +0000)
commit57e1222e8f9b08058bfe487478c14c624d03fd00
treec8bb38d4186325aa169ab9871b4d42dfd4f6e588
parent4361af85109cdf89bd52f75157d818e4cecb2a4e
media: atomisp: Fix atomisp_try_fmt_cap() always returning YUV420 pixelformat

The atomisp_try_fmt() call in atomisp_try_fmt_cap() replaces
the pixelformat passed by userspace with the sensors native pixelformat.

Which always gets replaced by V4L2_PIX_FMT_YUV420 by atomisp_adjust_fmt()
because raw sensor formats are not supported.

This needs to be fixed so that userspace which does a try_fmt call before
s_fmt does not end up always getting YUV420 even if it passed something
else into the try_fmt call.

To fix this restore the userspace requested pixelformat before
the atomisp_adjust_fmt() call. atomisp_adjust_fmt() will replace this
with V4L2_PIX_FMT_YUV420 in case an unsupported format is requested.

Note this relies on the "media: atomisp: Refactor atomisp_adjust_fmt()"
change, before that atomisp_adjust_fmt() would return -EINVAL for
unsupported pixelformats.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_ioctl.c