On Sat, 11 Mar 2017, Hans Verkuil wrote:

> From: Hans Verkuil <hans.verk...@cisco.com>
> 
> The colorspace is independent of whether YUV or RGB is sent to the SoC.
> Fix this.
> 
> Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>

I'm not sure why the first hunk is needed and how it is related :-) But it 
doesn't break anything. I understand, this patch should better go in as a 
part of a series, so

Acked-by: Guennadi Liakhovetski <g.liakhovet...@gmx.de>

Thanks
Guennadi

> ---
>  drivers/media/i2c/soc_camera/ov2640.c | 23 +++++++----------------
>  1 file changed, 7 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/media/i2c/soc_camera/ov2640.c 
> b/drivers/media/i2c/soc_camera/ov2640.c
> index 56de18263359..b9a0069f5b33 100644
> --- a/drivers/media/i2c/soc_camera/ov2640.c
> +++ b/drivers/media/i2c/soc_camera/ov2640.c
> @@ -794,10 +794,11 @@ static int ov2640_set_params(struct i2c_client *client, 
> u32 *width, u32 *height,
>               dev_dbg(&client->dev, "%s: Selected cfmt YUYV (YUV422)", 
> __func__);
>               selected_cfmt_regs = ov2640_yuyv_regs;
>               break;
> -     default:
>       case MEDIA_BUS_FMT_UYVY8_2X8:
> +     default:
>               dev_dbg(&client->dev, "%s: Selected cfmt UYVY", __func__);
>               selected_cfmt_regs = ov2640_uyvy_regs;
> +             break;
>       }
>  
>       /* reset hardware */
> @@ -865,17 +866,7 @@ static int ov2640_get_fmt(struct v4l2_subdev *sd,
>       mf->width       = priv->win->width;
>       mf->height      = priv->win->height;
>       mf->code        = priv->cfmt_code;
> -
> -     switch (mf->code) {
> -     case MEDIA_BUS_FMT_RGB565_2X8_BE:
> -     case MEDIA_BUS_FMT_RGB565_2X8_LE:
> -             mf->colorspace = V4L2_COLORSPACE_SRGB;
> -             break;
> -     default:
> -     case MEDIA_BUS_FMT_YUYV8_2X8:
> -     case MEDIA_BUS_FMT_UYVY8_2X8:
> -             mf->colorspace = V4L2_COLORSPACE_JPEG;
> -     }
> +     mf->colorspace  = V4L2_COLORSPACE_SRGB;
>       mf->field       = V4L2_FIELD_NONE;
>  
>       return 0;
> @@ -897,17 +888,17 @@ static int ov2640_set_fmt(struct v4l2_subdev *sd,
>       ov2640_select_win(&mf->width, &mf->height);
>  
>       mf->field       = V4L2_FIELD_NONE;
> +     mf->colorspace  = V4L2_COLORSPACE_SRGB;
>  
>       switch (mf->code) {
>       case MEDIA_BUS_FMT_RGB565_2X8_BE:
>       case MEDIA_BUS_FMT_RGB565_2X8_LE:
> -             mf->colorspace = V4L2_COLORSPACE_SRGB;
> +     case MEDIA_BUS_FMT_YUYV8_2X8:
> +     case MEDIA_BUS_FMT_UYVY8_2X8:
>               break;
>       default:
>               mf->code = MEDIA_BUS_FMT_UYVY8_2X8;
> -     case MEDIA_BUS_FMT_YUYV8_2X8:
> -     case MEDIA_BUS_FMT_UYVY8_2X8:
> -             mf->colorspace = V4L2_COLORSPACE_JPEG;
> +             break;
>       }
>  
>       if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
> -- 
> 2.11.0
> 

Reply via email to