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

media: staging: rkisp1: cap: enable RGB capture format with YUV media bus



In selfpath, RGB capture formats are received in the sink pad as YUV
and are converted to RGB only when writing to memory. So the validation
function should accept YUV bus formats with RGB capture encoding.

Signed-off-by: default avatarDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 0b64a837
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1227,6 +1227,8 @@ static int rkisp1_capture_link_validate(struct media_link *link)
		media_entity_to_v4l2_subdev(link->source->entity);
	struct rkisp1_capture *cap = video_get_drvdata(vdev);
	struct rkisp1_isp *isp = &cap->rkisp1->isp;
	u8 isp_pix_enc = isp->src_fmt->pixel_enc;
	u8 cap_pix_enc = cap->pix.info->pixel_enc;
	struct v4l2_subdev_format sd_fmt;
	int ret;

@@ -1237,7 +1239,9 @@ static int rkisp1_capture_link_validate(struct media_link *link)
		return -EPIPE;
	}

	if (cap->pix.info->pixel_enc != isp->src_fmt->pixel_enc) {
	if (cap_pix_enc != isp_pix_enc &&
	    !(isp_pix_enc == V4L2_PIXEL_ENC_YUV &&
	      cap_pix_enc == V4L2_PIXEL_ENC_RGB)) {
		dev_err(cap->rkisp1->dev,
			"format type mismatch in link '%s:%d->%s:%d'\n",
			link->source->entity->name, link->source->index,