Commit 692f3ccc authored by Dafna Hirschfeld's avatar Dafna Hirschfeld Committed by Mauro Carvalho Chehab
Browse files

media: staging: rkisp1: don't support bayer format on selfpath resizer



The selfpath capture does not support bayer formats.
Therefore there is no reason to support bayer formats
on the selfpath resizer. The selfpath resizer should
support only MEDIA_BUS_FMT_YUYV8_2X8.

Signed-off-by: default avatarDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Acked-by: default avatarHelen Koike <helen.koike@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent bac8bc57
Loading
Loading
Loading
Loading
+0 −7
Original line number Original line Diff line number Diff line
@@ -1176,13 +1176,6 @@ static int rkisp1_capture_link_validate(struct media_link *link)
	struct v4l2_subdev_format sd_fmt;
	struct v4l2_subdev_format sd_fmt;
	int ret;
	int ret;


	if (cap->id == RKISP1_SELFPATH &&
	    isp->src_fmt->mbus_code != MEDIA_BUS_FMT_YUYV8_2X8) {
		dev_err(cap->rkisp1->dev,
			"selfpath only supports MEDIA_BUS_FMT_YUYV8_2X8\n");
		return -EPIPE;
	}

	if (cap_pix_enc != isp_pix_enc &&
	if (cap_pix_enc != isp_pix_enc &&
	    !(isp_pix_enc == V4L2_PIXEL_ENC_YUV &&
	    !(isp_pix_enc == V4L2_PIXEL_ENC_YUV &&
	      cap_pix_enc == V4L2_PIXEL_ENC_RGB)) {
	      cap_pix_enc == V4L2_PIXEL_ENC_RGB)) {
+12 −1
Original line number Original line Diff line number Diff line
@@ -437,6 +437,13 @@ static int rkisp1_rsz_enum_mbus_code(struct v4l2_subdev *sd,
	u32 pad = code->pad;
	u32 pad = code->pad;
	int ret;
	int ret;


	if (rsz->id == RKISP1_SELFPATH) {
		if (code->index > 0)
			return -EINVAL;
		code->code = MEDIA_BUS_FMT_YUYV8_2X8;
		return 0;
	}

	/* supported mbus codes are the same in isp video src pad */
	/* supported mbus codes are the same in isp video src pad */
	code->pad = RKISP1_ISP_PAD_SOURCE_VIDEO;
	code->pad = RKISP1_ISP_PAD_SOURCE_VIDEO;
	ret = v4l2_subdev_call(&rsz->rkisp1->isp.sd, pad, enum_mbus_code,
	ret = v4l2_subdev_call(&rsz->rkisp1->isp.sd, pad, enum_mbus_code,
@@ -541,7 +548,11 @@ static void rkisp1_rsz_set_sink_fmt(struct rkisp1_resizer *rsz,
	src_fmt = rkisp1_rsz_get_pad_fmt(rsz, cfg, RKISP1_RSZ_PAD_SRC, which);
	src_fmt = rkisp1_rsz_get_pad_fmt(rsz, cfg, RKISP1_RSZ_PAD_SRC, which);
	sink_crop = rkisp1_rsz_get_pad_crop(rsz, cfg, RKISP1_RSZ_PAD_SINK,
	sink_crop = rkisp1_rsz_get_pad_crop(rsz, cfg, RKISP1_RSZ_PAD_SINK,
					    which);
					    which);
	if (rsz->id == RKISP1_SELFPATH)
		sink_fmt->code = MEDIA_BUS_FMT_YUYV8_2X8;
	else
		sink_fmt->code = format->code;
		sink_fmt->code = format->code;

	mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
	mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
	if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SRC)) {
	if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SRC)) {
		sink_fmt->code = RKISP1_DEF_FMT;
		sink_fmt->code = RKISP1_DEF_FMT;