mirror of https://gitee.com/openkylin/linux.git
[media] rcar-vin: move chip check for pixelformat support
The check for if the specific pixelformat is supported on the current chip should happen in VIDIOC_S_FMT and VIDIOC_TRY_FMT and not when we try to setup the hardware for streaming. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
2fb5910c03
commit
ee9e2a525c
|
@ -225,11 +225,9 @@ static int rvin_setup(struct rvin_dev *vin)
|
||||||
dmr = 0;
|
dmr = 0;
|
||||||
break;
|
break;
|
||||||
case V4L2_PIX_FMT_XBGR32:
|
case V4L2_PIX_FMT_XBGR32:
|
||||||
if (vin->chip == RCAR_GEN2 || vin->chip == RCAR_H1) {
|
/* Note: not supported on M1 */
|
||||||
dmr = VNDMR_EXRGB;
|
dmr = VNDMR_EXRGB;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
/* fall through */
|
|
||||||
default:
|
default:
|
||||||
vin_err(vin, "Invalid pixelformat (0x%x)\n",
|
vin_err(vin, "Invalid pixelformat (0x%x)\n",
|
||||||
vin->format.pixelformat);
|
vin->format.pixelformat);
|
||||||
|
|
|
@ -192,6 +192,11 @@ static int __rvin_try_format(struct rvin_dev *vin,
|
||||||
pix->sizeimage = max_t(u32, pix->sizeimage,
|
pix->sizeimage = max_t(u32, pix->sizeimage,
|
||||||
rvin_format_sizeimage(pix));
|
rvin_format_sizeimage(pix));
|
||||||
|
|
||||||
|
if (vin->chip == RCAR_M1 && pix->pixelformat == V4L2_PIX_FMT_XBGR32) {
|
||||||
|
vin_err(vin, "pixel format XBGR32 not supported on M1\n");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
vin_dbg(vin, "Requested %ux%u Got %ux%u bpl: %d size: %d\n",
|
vin_dbg(vin, "Requested %ux%u Got %ux%u bpl: %d size: %d\n",
|
||||||
rwidth, rheight, pix->width, pix->height,
|
rwidth, rheight, pix->width, pix->height,
|
||||||
pix->bytesperline, pix->sizeimage);
|
pix->bytesperline, pix->sizeimage);
|
||||||
|
|
Loading…
Reference in New Issue