On 10/04/18 13:01, [email protected] wrote:
> From: Bård Eirik Winther <[email protected]>
>
Missing commit message.
Looks good otherwise.
Regards,
Hans
> Signed-off-by: Bård Eirik Winther <[email protected]>
> ---
> drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 28 +++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> index f3d9c1140ffa..76b125ebee6d 100644
> --- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> +++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> @@ -202,6 +202,10 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc)
> case V4L2_PIX_FMT_SGBRG12:
> case V4L2_PIX_FMT_SGRBG12:
> case V4L2_PIX_FMT_SRGGB12:
> + case V4L2_PIX_FMT_SBGGR16:
> + case V4L2_PIX_FMT_SGBRG16:
> + case V4L2_PIX_FMT_SGRBG16:
> + case V4L2_PIX_FMT_SRGGB16:
> tpg->interleaved = true;
> tpg->vdownsampling[1] = 1;
> tpg->hdownsampling[1] = 1;
> @@ -394,6 +398,10 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc)
> case V4L2_PIX_FMT_SGRBG12:
> case V4L2_PIX_FMT_SGBRG12:
> case V4L2_PIX_FMT_SBGGR12:
> + case V4L2_PIX_FMT_SRGGB16:
> + case V4L2_PIX_FMT_SGRBG16:
> + case V4L2_PIX_FMT_SGBRG16:
> + case V4L2_PIX_FMT_SBGGR16:
> tpg->twopixelsize[0] = 4;
> tpg->twopixelsize[1] = 4;
> break;
> @@ -1358,6 +1366,22 @@ static void gen_twopix(struct tpg_data *tpg,
> buf[0][offset] |= (buf[0][offset] >> 4) & 0xf;
> buf[1][offset] |= (buf[1][offset] >> 4) & 0xf;
> break;
> + case V4L2_PIX_FMT_SBGGR16:
> + buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : b_v;
> + buf[1][offset] = buf[1][offset + 1] = odd ? r_y_h : g_u_s;
> + break;
> + case V4L2_PIX_FMT_SGBRG16:
> + buf[0][offset] = buf[0][offset + 1] = odd ? b_v : g_u_s;
> + buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : r_y_h;
> + break;
> + case V4L2_PIX_FMT_SGRBG16:
> + buf[0][offset] = buf[0][offset + 1] = odd ? r_y_h : g_u_s;
> + buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : b_v;
> + break;
> + case V4L2_PIX_FMT_SRGGB16:
> + buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : r_y_h;
> + buf[1][offset] = buf[1][offset + 1] = odd ? b_v : g_u_s;
> + break;
> }
> }
>
> @@ -1376,6 +1400,10 @@ unsigned tpg_g_interleaved_plane(const struct tpg_data
> *tpg, unsigned buf_line)
> case V4L2_PIX_FMT_SGBRG12:
> case V4L2_PIX_FMT_SGRBG12:
> case V4L2_PIX_FMT_SRGGB12:
> + case V4L2_PIX_FMT_SBGGR16:
> + case V4L2_PIX_FMT_SGBRG16:
> + case V4L2_PIX_FMT_SGRBG16:
> + case V4L2_PIX_FMT_SRGGB16:
> return buf_line & 1;
> default:
> return 0;
>