Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 225dc490 authored by Steve Longerbeam's avatar Steve Longerbeam Committed by Mauro Carvalho Chehab
Browse files

media: Revert "media: imx: Set capture compose rectangle in capture_device_set_format"



Revert this commit, as imx_media_capture_device_set_format() will be
removed. The arguments to mx_media_mbus_fmt_to_pix_fmt() and
imx_media_capture_device_set_format() in imx7_csi_set_fmt() are also
reverted.

This reverts commit 5964cbd8.

Signed-off-by: default avatarSteve Longerbeam <slongerbeam@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 3e80d125
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -906,7 +906,6 @@ static int prp_set_fmt(struct v4l2_subdev *sd,
	const struct imx_media_pixfmt *cc;
	struct v4l2_pix_format vdev_fmt;
	struct v4l2_mbus_framefmt *fmt;
	struct v4l2_rect vdev_compose;
	int ret = 0;

	if (sdformat->pad >= PRPENCVF_NUM_PADS)
@@ -948,11 +947,11 @@ static int prp_set_fmt(struct v4l2_subdev *sd,
	priv->cc[sdformat->pad] = cc;

	/* propagate output pad format to capture device */
	imx_media_mbus_fmt_to_pix_fmt(&vdev_fmt, &vdev_compose,
	imx_media_mbus_fmt_to_pix_fmt(&vdev_fmt,
				      &priv->format_mbus[PRPENCVF_SRC_PAD],
				      priv->cc[PRPENCVF_SRC_PAD]);
	mutex_unlock(&priv->lock);
	imx_media_capture_device_set_format(vdev, &vdev_fmt, &vdev_compose);
	imx_media_capture_device_set_format(vdev, &vdev_fmt);

	return 0;
out:
+12 −12
Original line number Diff line number Diff line
@@ -201,8 +201,7 @@ static int capture_g_fmt_vid_cap(struct file *file, void *fh,

static int __capture_try_fmt_vid_cap(struct capture_priv *priv,
				     struct v4l2_subdev_format *fmt_src,
				     struct v4l2_format *f,
				     struct v4l2_rect *compose)
				     struct v4l2_format *f)
{
	const struct imx_media_pixfmt *cc, *cc_src;

@@ -242,8 +241,7 @@ static int __capture_try_fmt_vid_cap(struct capture_priv *priv,
		}
	}

	imx_media_mbus_fmt_to_pix_fmt(&f->fmt.pix, compose,
				      &fmt_src->format, cc);
	imx_media_mbus_fmt_to_pix_fmt(&f->fmt.pix, &fmt_src->format, cc);

	return 0;
}
@@ -261,7 +259,7 @@ static int capture_try_fmt_vid_cap(struct file *file, void *fh,
	if (ret)
		return ret;

	return __capture_try_fmt_vid_cap(priv, &fmt_src, f, NULL);
	return __capture_try_fmt_vid_cap(priv, &fmt_src, f);
}

static int capture_s_fmt_vid_cap(struct file *file, void *fh,
@@ -269,7 +267,6 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh,
{
	struct capture_priv *priv = video_drvdata(file);
	struct v4l2_subdev_format fmt_src;
	struct v4l2_rect compose;
	int ret;

	if (vb2_is_busy(&priv->q)) {
@@ -283,14 +280,17 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh,
	if (ret)
		return ret;

	ret = __capture_try_fmt_vid_cap(priv, &fmt_src, f, &compose);
	ret = __capture_try_fmt_vid_cap(priv, &fmt_src, f);
	if (ret)
		return ret;

	priv->vdev.fmt.fmt.pix = f->fmt.pix;
	priv->vdev.cc = imx_media_find_format(f->fmt.pix.pixelformat,
					      CS_SEL_ANY, true);
	priv->vdev.compose = compose;
	priv->vdev.compose.left = 0;
	priv->vdev.compose.top = 0;
	priv->vdev.compose.width = fmt_src.format.width;
	priv->vdev.compose.height = fmt_src.format.height;

	return 0;
}
@@ -649,8 +649,7 @@ static struct video_device capture_videodev = {
};

void imx_media_capture_device_set_format(struct imx_media_video_dev *vdev,
					 const struct v4l2_pix_format *pix,
					 const struct v4l2_rect *compose)
					 struct v4l2_pix_format *pix)
{
	struct capture_priv *priv = to_capture_priv(vdev);

@@ -658,7 +657,6 @@ void imx_media_capture_device_set_format(struct imx_media_video_dev *vdev,
	priv->vdev.fmt.fmt.pix = *pix;
	priv->vdev.cc = imx_media_find_format(pix->pixelformat, CS_SEL_ANY,
					      true);
	priv->vdev.compose = *compose;
	mutex_unlock(&priv->mutex);
}
EXPORT_SYMBOL_GPL(imx_media_capture_device_set_format);
@@ -764,8 +762,10 @@ int imx_media_capture_device_register(struct imx_media_video_dev *vdev)
	}

	vdev->fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
	imx_media_mbus_fmt_to_pix_fmt(&vdev->fmt.fmt.pix, &vdev->compose,
	imx_media_mbus_fmt_to_pix_fmt(&vdev->fmt.fmt.pix,
				      &fmt_src.format, NULL);
	vdev->compose.width = fmt_src.format.width;
	vdev->compose.height = fmt_src.format.height;
	vdev->cc = imx_media_find_format(vdev->fmt.fmt.pix.pixelformat,
					 CS_SEL_ANY, false);

+2 −3
Original line number Diff line number Diff line
@@ -1508,7 +1508,6 @@ static int csi_set_fmt(struct v4l2_subdev *sd,
	struct v4l2_pix_format vdev_fmt;
	struct v4l2_mbus_framefmt *fmt;
	struct v4l2_rect *crop, *compose;
	struct v4l2_rect vdev_compose;
	int ret;

	if (sdformat->pad >= CSI_NUM_PADS)
@@ -1564,11 +1563,11 @@ static int csi_set_fmt(struct v4l2_subdev *sd,
	priv->cc[sdformat->pad] = cc;

	/* propagate IDMAC output pad format to capture device */
	imx_media_mbus_fmt_to_pix_fmt(&vdev_fmt, &vdev_compose,
	imx_media_mbus_fmt_to_pix_fmt(&vdev_fmt,
				      &priv->format_mbus[CSI_SRC_PAD_IDMAC],
				      priv->cc[CSI_SRC_PAD_IDMAC]);
	mutex_unlock(&priv->lock);
	imx_media_capture_device_set_format(vdev, &vdev_fmt, &vdev_compose);
	imx_media_capture_device_set_format(vdev, &vdev_fmt);

	return 0;
out:
+5 −15
Original line number Diff line number Diff line
@@ -573,8 +573,7 @@ void imx_media_fill_default_mbus_fields(struct v4l2_mbus_framefmt *tryfmt,
EXPORT_SYMBOL_GPL(imx_media_fill_default_mbus_fields);

int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
				  struct v4l2_rect *compose,
				  const struct v4l2_mbus_framefmt *mbus,
				  struct v4l2_mbus_framefmt *mbus,
				  const struct imx_media_pixfmt *cc)
{
	u32 width;
@@ -621,17 +620,6 @@ int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
	pix->sizeimage = cc->planar ? ((stride * pix->height * cc->bpp) >> 3) :
			 stride * pix->height;

	/*
	 * set capture compose rectangle, which is fixed to the
	 * source subdevice mbus format.
	 */
	if (compose) {
		compose->left = 0;
		compose->top = 0;
		compose->width = mbus->width;
		compose->height = mbus->height;
	}

	return 0;
}
EXPORT_SYMBOL_GPL(imx_media_mbus_fmt_to_pix_fmt);
@@ -643,11 +631,13 @@ int imx_media_mbus_fmt_to_ipu_image(struct ipu_image *image,

	memset(image, 0, sizeof(*image));

	ret = imx_media_mbus_fmt_to_pix_fmt(&image->pix, &image->rect,
					    mbus, NULL);
	ret = imx_media_mbus_fmt_to_pix_fmt(&image->pix, mbus, NULL);
	if (ret)
		return ret;

	image->rect.width = mbus->width;
	image->rect.height = mbus->height;

	return 0;
}
EXPORT_SYMBOL_GPL(imx_media_mbus_fmt_to_ipu_image);
+2 −4
Original line number Diff line number Diff line
@@ -170,8 +170,7 @@ void imx_media_fill_default_mbus_fields(struct v4l2_mbus_framefmt *tryfmt,
					struct v4l2_mbus_framefmt *fmt,
					bool ic_route);
int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
				  struct v4l2_rect *compose,
				  const struct v4l2_mbus_framefmt *mbus,
				  struct v4l2_mbus_framefmt *mbus,
				  const struct imx_media_pixfmt *cc);
int imx_media_mbus_fmt_to_ipu_image(struct ipu_image *image,
				    struct v4l2_mbus_framefmt *mbus);
@@ -276,8 +275,7 @@ void imx_media_capture_device_unregister(struct imx_media_video_dev *vdev);
struct imx_media_buffer *
imx_media_capture_device_next_buf(struct imx_media_video_dev *vdev);
void imx_media_capture_device_set_format(struct imx_media_video_dev *vdev,
					 const struct v4l2_pix_format *pix,
					 const struct v4l2_rect *compose);
					 struct v4l2_pix_format *pix);
void imx_media_capture_device_error(struct imx_media_video_dev *vdev);

/* subdev group ids */
Loading