On 10/04/18 13:01, bwinther@xxxxxxxxx wrote: > From: Bård Eirik Winther <bwinther@xxxxxxxxx> > Missing commit message. Looks good otherwise. Regards, Hans > Signed-off-by: Bård Eirik Winther <bwinther@xxxxxxxxx> > --- > 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; >