Prabhakar, Can you please double check this patch? I'd like to have your Acked-by before I commit it. Thanks! Hans On 07/29/2013 02:41 PM, Hans Verkuil wrote: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > Use the new blanking and frame size defines. This also fixed a bug in > these drivers: they assumed that the height for interlaced formats was > the field height, however height is the frame height. So the height > for a field is actually bt->height / 2. > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> > --- > drivers/media/platform/davinci/vpif_capture.c | 10 ++-------- > drivers/media/platform/davinci/vpif_display.c | 10 ++-------- > 2 files changed, 4 insertions(+), 16 deletions(-) > > diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c > index b11d7a7..e1b6a3b 100644 > --- a/drivers/media/platform/davinci/vpif_capture.c > +++ b/drivers/media/platform/davinci/vpif_capture.c > @@ -1799,19 +1799,15 @@ static int vpif_s_dv_timings(struct file *file, void *priv, > > /* Configure video port timings */ > > - std_info->eav2sav = bt->hbackporch + bt->hfrontporch + > - bt->hsync - 8; > + std_info->eav2sav = V4L2_DV_BT_BLANKING_WIDTH(bt) - 8; > std_info->sav2eav = bt->width; > > std_info->l1 = 1; > std_info->l3 = bt->vsync + bt->vbackporch + 1; > > + std_info->vsize = V4L2_DV_BT_FRAME_HEIGHT(bt); > if (bt->interlaced) { > if (bt->il_vbackporch || bt->il_vfrontporch || bt->il_vsync) { > - std_info->vsize = bt->height * 2 + > - bt->vfrontporch + bt->vsync + bt->vbackporch + > - bt->il_vfrontporch + bt->il_vsync + > - bt->il_vbackporch; > std_info->l5 = std_info->vsize/2 - > (bt->vfrontporch - 1); > std_info->l7 = std_info->vsize/2 + 1; > @@ -1825,8 +1821,6 @@ static int vpif_s_dv_timings(struct file *file, void *priv, > return -EINVAL; > } > } else { > - std_info->vsize = bt->height + bt->vfrontporch + > - bt->vsync + bt->vbackporch; > std_info->l5 = std_info->vsize - (bt->vfrontporch - 1); > } > strncpy(std_info->name, "Custom timings BT656/1120", VPIF_MAX_NAME); > diff --git a/drivers/media/platform/davinci/vpif_display.c b/drivers/media/platform/davinci/vpif_display.c > index c2ff067..a42e43c 100644 > --- a/drivers/media/platform/davinci/vpif_display.c > +++ b/drivers/media/platform/davinci/vpif_display.c > @@ -1436,19 +1436,15 @@ static int vpif_s_dv_timings(struct file *file, void *priv, > > /* Configure video port timings */ > > - std_info->eav2sav = bt->hbackporch + bt->hfrontporch + > - bt->hsync - 8; > + std_info->eav2sav = V4L2_DV_BT_BLANKING_WIDTH(bt) - 8; > std_info->sav2eav = bt->width; > > std_info->l1 = 1; > std_info->l3 = bt->vsync + bt->vbackporch + 1; > > + std_info->vsize = V4L2_DV_BT_FRAME_HEIGHT(bt); > if (bt->interlaced) { > if (bt->il_vbackporch || bt->il_vfrontporch || bt->il_vsync) { > - std_info->vsize = bt->height * 2 + > - bt->vfrontporch + bt->vsync + bt->vbackporch + > - bt->il_vfrontporch + bt->il_vsync + > - bt->il_vbackporch; > std_info->l5 = std_info->vsize/2 - > (bt->vfrontporch - 1); > std_info->l7 = std_info->vsize/2 + 1; > @@ -1462,8 +1458,6 @@ static int vpif_s_dv_timings(struct file *file, void *priv, > return -EINVAL; > } > } else { > - std_info->vsize = bt->height + bt->vfrontporch + > - bt->vsync + bt->vbackporch; > std_info->l5 = std_info->vsize - (bt->vfrontporch - 1); > } > strncpy(std_info->name, "Custom timings BT656/1120", > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html