linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] exynos4-is: Fix TRY format propagation at MIPI-CSIS subdev
@ 2013-04-23 15:41 Sylwester Nawrocki
  2013-04-23 16:14 ` Laurent Pinchart
  0 siblings, 1 reply; 2+ messages in thread
From: Sylwester Nawrocki @ 2013-04-23 15:41 UTC (permalink / raw)
  To: linux-media; +Cc: Sylwester Nawrocki, Kyungmin Park

Ensure TRY format is propagated from the sink to source pad.
The format at both pads is always same so the TRY format buffer
for pad 0 is used to hold format for both pads.
While at it remove redundant fmt->pad checking.

Reported-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/media/platform/exynos4-is/mipi-csis.c |   14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c
index d62b0d2..50f3c5c 100644
--- a/drivers/media/platform/exynos4-is/mipi-csis.c
+++ b/drivers/media/platform/exynos4-is/mipi-csis.c
@@ -579,10 +579,10 @@ static struct csis_pix_format const *s5pcsis_try_format(
 
 static struct v4l2_mbus_framefmt *__s5pcsis_get_format(
 		struct csis_state *state, struct v4l2_subdev_fh *fh,
-		u32 pad, enum v4l2_subdev_format_whence which)
+		enum v4l2_subdev_format_whence which)
 {
 	if (which == V4L2_SUBDEV_FORMAT_TRY)
-		return fh ? v4l2_subdev_get_try_format(fh, pad) : NULL;
+		return fh ? v4l2_subdev_get_try_format(fh, 0) : NULL;
 
 	return &state->format;
 }
@@ -594,10 +594,7 @@ static int s5pcsis_set_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
 	struct csis_pix_format const *csis_fmt;
 	struct v4l2_mbus_framefmt *mf;
 
-	if (fmt->pad != CSIS_PAD_SOURCE && fmt->pad != CSIS_PAD_SINK)
-		return -EINVAL;
-
-	mf = __s5pcsis_get_format(state, fh, fmt->pad, fmt->which);
+	mf = __s5pcsis_get_format(state, fh, fmt->which);
 
 	if (fmt->pad == CSIS_PAD_SOURCE) {
 		if (mf) {
@@ -624,10 +621,7 @@ static int s5pcsis_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
 	struct csis_state *state = sd_to_csis_state(sd);
 	struct v4l2_mbus_framefmt *mf;
 
-	if (fmt->pad != CSIS_PAD_SOURCE && fmt->pad != CSIS_PAD_SINK)
-		return -EINVAL;
-
-	mf = __s5pcsis_get_format(state, fh, fmt->pad, fmt->which);
+	mf = __s5pcsis_get_format(state, fh, fmt->which);
 	if (!mf)
 		return -EINVAL;
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] exynos4-is: Fix TRY format propagation at MIPI-CSIS subdev
  2013-04-23 15:41 [PATCH] exynos4-is: Fix TRY format propagation at MIPI-CSIS subdev Sylwester Nawrocki
@ 2013-04-23 16:14 ` Laurent Pinchart
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Pinchart @ 2013-04-23 16:14 UTC (permalink / raw)
  To: Sylwester Nawrocki; +Cc: linux-media, Kyungmin Park

On Tuesday 23 April 2013 17:41:27 Sylwester Nawrocki wrote:
> Ensure TRY format is propagated from the sink to source pad.
> The format at both pads is always same so the TRY format buffer
> for pad 0 is used to hold format for both pads.
> While at it remove redundant fmt->pad checking.
> 
> Reported-by: Jacek Anaszewski <j.anaszewski@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/platform/exynos4-is/mipi-csis.c |   14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c
> b/drivers/media/platform/exynos4-is/mipi-csis.c index d62b0d2..50f3c5c
> 100644
> --- a/drivers/media/platform/exynos4-is/mipi-csis.c
> +++ b/drivers/media/platform/exynos4-is/mipi-csis.c
> @@ -579,10 +579,10 @@ static struct csis_pix_format const
> *s5pcsis_try_format(
> 
>  static struct v4l2_mbus_framefmt *__s5pcsis_get_format(
>  		struct csis_state *state, struct v4l2_subdev_fh *fh,
> -		u32 pad, enum v4l2_subdev_format_whence which)
> +		enum v4l2_subdev_format_whence which)
>  {
>  	if (which == V4L2_SUBDEV_FORMAT_TRY)
> -		return fh ? v4l2_subdev_get_try_format(fh, pad) : NULL;
> +		return fh ? v4l2_subdev_get_try_format(fh, 0) : NULL;
> 
>  	return &state->format;
>  }
> @@ -594,10 +594,7 @@ static int s5pcsis_set_fmt(struct v4l2_subdev *sd,
> struct v4l2_subdev_fh *fh, struct csis_pix_format const *csis_fmt;
>  	struct v4l2_mbus_framefmt *mf;
> 
> -	if (fmt->pad != CSIS_PAD_SOURCE && fmt->pad != CSIS_PAD_SINK)
> -		return -EINVAL;
> -
> -	mf = __s5pcsis_get_format(state, fh, fmt->pad, fmt->which);
> +	mf = __s5pcsis_get_format(state, fh, fmt->which);
> 
>  	if (fmt->pad == CSIS_PAD_SOURCE) {
>  		if (mf) {
> @@ -624,10 +621,7 @@ static int s5pcsis_get_fmt(struct v4l2_subdev *sd,
> struct v4l2_subdev_fh *fh, struct csis_state *state = sd_to_csis_state(sd);
>  	struct v4l2_mbus_framefmt *mf;
> 
> -	if (fmt->pad != CSIS_PAD_SOURCE && fmt->pad != CSIS_PAD_SINK)
> -		return -EINVAL;
> -
> -	mf = __s5pcsis_get_format(state, fh, fmt->pad, fmt->which);
> +	mf = __s5pcsis_get_format(state, fh, fmt->which);
>  	if (!mf)
>  		return -EINVAL;
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-23 16:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-23 15:41 [PATCH] exynos4-is: Fix TRY format propagation at MIPI-CSIS subdev Sylwester Nawrocki
2013-04-23 16:14 ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).