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

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
...@@ -906,7 +906,6 @@ static int prp_set_fmt(struct v4l2_subdev *sd, ...@@ -906,7 +906,6 @@ static int prp_set_fmt(struct v4l2_subdev *sd,
const struct imx_media_pixfmt *cc; const struct imx_media_pixfmt *cc;
struct v4l2_pix_format vdev_fmt; struct v4l2_pix_format vdev_fmt;
struct v4l2_mbus_framefmt *fmt; struct v4l2_mbus_framefmt *fmt;
struct v4l2_rect vdev_compose;
int ret = 0; int ret = 0;
if (sdformat->pad >= PRPENCVF_NUM_PADS) if (sdformat->pad >= PRPENCVF_NUM_PADS)
...@@ -948,11 +947,11 @@ static int prp_set_fmt(struct v4l2_subdev *sd, ...@@ -948,11 +947,11 @@ static int prp_set_fmt(struct v4l2_subdev *sd,
priv->cc[sdformat->pad] = cc; priv->cc[sdformat->pad] = cc;
/* propagate output pad format to capture device */ /* 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->format_mbus[PRPENCVF_SRC_PAD],
priv->cc[PRPENCVF_SRC_PAD]); priv->cc[PRPENCVF_SRC_PAD]);
mutex_unlock(&priv->lock); 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; return 0;
out: out:
......
...@@ -201,8 +201,7 @@ static int capture_g_fmt_vid_cap(struct file *file, void *fh, ...@@ -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, static int __capture_try_fmt_vid_cap(struct capture_priv *priv,
struct v4l2_subdev_format *fmt_src, struct v4l2_subdev_format *fmt_src,
struct v4l2_format *f, struct v4l2_format *f)
struct v4l2_rect *compose)
{ {
const struct imx_media_pixfmt *cc, *cc_src; const struct imx_media_pixfmt *cc, *cc_src;
...@@ -242,8 +241,7 @@ static int __capture_try_fmt_vid_cap(struct capture_priv *priv, ...@@ -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, imx_media_mbus_fmt_to_pix_fmt(&f->fmt.pix, &fmt_src->format, cc);
&fmt_src->format, cc);
return 0; return 0;
} }
...@@ -261,7 +259,7 @@ static int capture_try_fmt_vid_cap(struct file *file, void *fh, ...@@ -261,7 +259,7 @@ static int capture_try_fmt_vid_cap(struct file *file, void *fh,
if (ret) if (ret)
return 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, 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, ...@@ -269,7 +267,6 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh,
{ {
struct capture_priv *priv = video_drvdata(file); struct capture_priv *priv = video_drvdata(file);
struct v4l2_subdev_format fmt_src; struct v4l2_subdev_format fmt_src;
struct v4l2_rect compose;
int ret; int ret;
if (vb2_is_busy(&priv->q)) { if (vb2_is_busy(&priv->q)) {
...@@ -283,14 +280,17 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh, ...@@ -283,14 +280,17 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh,
if (ret) if (ret)
return 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) if (ret)
return ret; return ret;
priv->vdev.fmt.fmt.pix = f->fmt.pix; priv->vdev.fmt.fmt.pix = f->fmt.pix;
priv->vdev.cc = imx_media_find_format(f->fmt.pix.pixelformat, priv->vdev.cc = imx_media_find_format(f->fmt.pix.pixelformat,
CS_SEL_ANY, true); 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; return 0;
} }
...@@ -649,8 +649,7 @@ static struct video_device capture_videodev = { ...@@ -649,8 +649,7 @@ static struct video_device capture_videodev = {
}; };
void imx_media_capture_device_set_format(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, struct v4l2_pix_format *pix)
const struct v4l2_rect *compose)
{ {
struct capture_priv *priv = to_capture_priv(vdev); 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, ...@@ -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.fmt.fmt.pix = *pix;
priv->vdev.cc = imx_media_find_format(pix->pixelformat, CS_SEL_ANY, priv->vdev.cc = imx_media_find_format(pix->pixelformat, CS_SEL_ANY,
true); true);
priv->vdev.compose = *compose;
mutex_unlock(&priv->mutex); mutex_unlock(&priv->mutex);
} }
EXPORT_SYMBOL_GPL(imx_media_capture_device_set_format); 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) ...@@ -764,8 +762,10 @@ int imx_media_capture_device_register(struct imx_media_video_dev *vdev)
} }
vdev->fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 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); &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, vdev->cc = imx_media_find_format(vdev->fmt.fmt.pix.pixelformat,
CS_SEL_ANY, false); CS_SEL_ANY, false);
......
...@@ -1508,7 +1508,6 @@ static int csi_set_fmt(struct v4l2_subdev *sd, ...@@ -1508,7 +1508,6 @@ static int csi_set_fmt(struct v4l2_subdev *sd,
struct v4l2_pix_format vdev_fmt; struct v4l2_pix_format vdev_fmt;
struct v4l2_mbus_framefmt *fmt; struct v4l2_mbus_framefmt *fmt;
struct v4l2_rect *crop, *compose; struct v4l2_rect *crop, *compose;
struct v4l2_rect vdev_compose;
int ret; int ret;
if (sdformat->pad >= CSI_NUM_PADS) if (sdformat->pad >= CSI_NUM_PADS)
...@@ -1564,11 +1563,11 @@ static int csi_set_fmt(struct v4l2_subdev *sd, ...@@ -1564,11 +1563,11 @@ static int csi_set_fmt(struct v4l2_subdev *sd,
priv->cc[sdformat->pad] = cc; priv->cc[sdformat->pad] = cc;
/* propagate IDMAC output pad format to capture device */ /* 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->format_mbus[CSI_SRC_PAD_IDMAC],
priv->cc[CSI_SRC_PAD_IDMAC]); priv->cc[CSI_SRC_PAD_IDMAC]);
mutex_unlock(&priv->lock); 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; return 0;
out: out:
......
...@@ -573,8 +573,7 @@ void imx_media_fill_default_mbus_fields(struct v4l2_mbus_framefmt *tryfmt, ...@@ -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); EXPORT_SYMBOL_GPL(imx_media_fill_default_mbus_fields);
int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix, int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
struct v4l2_rect *compose, struct v4l2_mbus_framefmt *mbus,
const struct v4l2_mbus_framefmt *mbus,
const struct imx_media_pixfmt *cc) const struct imx_media_pixfmt *cc)
{ {
u32 width; u32 width;
...@@ -621,17 +620,6 @@ int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix, ...@@ -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) : pix->sizeimage = cc->planar ? ((stride * pix->height * cc->bpp) >> 3) :
stride * pix->height; 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; return 0;
} }
EXPORT_SYMBOL_GPL(imx_media_mbus_fmt_to_pix_fmt); 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, ...@@ -643,11 +631,13 @@ int imx_media_mbus_fmt_to_ipu_image(struct ipu_image *image,
memset(image, 0, sizeof(*image)); memset(image, 0, sizeof(*image));
ret = imx_media_mbus_fmt_to_pix_fmt(&image->pix, &image->rect, ret = imx_media_mbus_fmt_to_pix_fmt(&image->pix, mbus, NULL);
mbus, NULL);
if (ret) if (ret)
return ret; return ret;
image->rect.width = mbus->width;
image->rect.height = mbus->height;
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(imx_media_mbus_fmt_to_ipu_image); EXPORT_SYMBOL_GPL(imx_media_mbus_fmt_to_ipu_image);
......
...@@ -170,8 +170,7 @@ void imx_media_fill_default_mbus_fields(struct v4l2_mbus_framefmt *tryfmt, ...@@ -170,8 +170,7 @@ void imx_media_fill_default_mbus_fields(struct v4l2_mbus_framefmt *tryfmt,
struct v4l2_mbus_framefmt *fmt, struct v4l2_mbus_framefmt *fmt,
bool ic_route); bool ic_route);
int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix, int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
struct v4l2_rect *compose, struct v4l2_mbus_framefmt *mbus,
const struct v4l2_mbus_framefmt *mbus,
const struct imx_media_pixfmt *cc); const struct imx_media_pixfmt *cc);
int imx_media_mbus_fmt_to_ipu_image(struct ipu_image *image, int imx_media_mbus_fmt_to_ipu_image(struct ipu_image *image,
struct v4l2_mbus_framefmt *mbus); struct v4l2_mbus_framefmt *mbus);
...@@ -276,8 +275,7 @@ void imx_media_capture_device_unregister(struct imx_media_video_dev *vdev); ...@@ -276,8 +275,7 @@ void imx_media_capture_device_unregister(struct imx_media_video_dev *vdev);
struct imx_media_buffer * struct imx_media_buffer *
imx_media_capture_device_next_buf(struct imx_media_video_dev *vdev); 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, void imx_media_capture_device_set_format(struct imx_media_video_dev *vdev,
const struct v4l2_pix_format *pix, struct v4l2_pix_format *pix);
const struct v4l2_rect *compose);
void imx_media_capture_device_error(struct imx_media_video_dev *vdev); void imx_media_capture_device_error(struct imx_media_video_dev *vdev);
/* subdev group ids */ /* subdev group ids */
......
...@@ -1035,7 +1035,6 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd, ...@@ -1035,7 +1035,6 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
const struct imx_media_pixfmt *outcc; const struct imx_media_pixfmt *outcc;
struct v4l2_mbus_framefmt *outfmt; struct v4l2_mbus_framefmt *outfmt;
struct v4l2_pix_format vdev_fmt; struct v4l2_pix_format vdev_fmt;
struct v4l2_rect vdev_compose;
const struct imx_media_pixfmt *cc; const struct imx_media_pixfmt *cc;
struct v4l2_mbus_framefmt *fmt; struct v4l2_mbus_framefmt *fmt;
struct v4l2_subdev_format format; struct v4l2_subdev_format format;
...@@ -1086,11 +1085,11 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd, ...@@ -1086,11 +1085,11 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
csi->cc[sdformat->pad] = cc; csi->cc[sdformat->pad] = cc;
/* propagate output pad format to capture device */ /* 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,
&csi->format_mbus[IMX7_CSI_PAD_SRC], &csi->format_mbus[IMX7_CSI_PAD_SRC],
csi->cc[IMX7_CSI_PAD_SRC]); csi->cc[IMX7_CSI_PAD_SRC]);
mutex_unlock(&csi->lock); mutex_unlock(&csi->lock);
imx_media_capture_device_set_format(vdev, &vdev_fmt, &vdev_compose); imx_media_capture_device_set_format(vdev, &vdev_fmt);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment