Re: [PATCH v2] media: i2c: adv748x: fix HDMI field heights

From: Hans Verkuil
Date: Tue Jan 09 2018 - 02:29:05 EST


On 01/08/2018 07:14 PM, Kieran Bingham wrote:
> The ADV748x handles interlaced media using V4L2_FIELD_ALTERNATE field
> types. The correct specification for the height on the mbus is the
> image height, in this instance, the field height.
>
> The AFE component already correctly adjusts the height on the mbus, but
> the HDMI component got left behind.
>
> Adjust the mbus height to correctly describe the image height of the
> fields when processing interlaced video for HDMI pipelines.
>
> Fixes: 3e89586a64df ("media: i2c: adv748x: add adv748x driver")
> Reviewed-by: Niklas SÃderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx>

Reviewed-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>

Regards,

Hans

> ---
> v2:
> - switch conditional to check the fmt->field, removing the need for
> the comment.
>
> drivers/media/i2c/adv748x/adv748x-hdmi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/media/i2c/adv748x/adv748x-hdmi.c b/drivers/media/i2c/adv748x/adv748x-hdmi.c
> index 4da4253553fc..10d229a4f088 100644
> --- a/drivers/media/i2c/adv748x/adv748x-hdmi.c
> +++ b/drivers/media/i2c/adv748x/adv748x-hdmi.c
> @@ -105,6 +105,9 @@ static void adv748x_hdmi_fill_format(struct adv748x_hdmi *hdmi,
>
> fmt->width = hdmi->timings.bt.width;
> fmt->height = hdmi->timings.bt.height;
> +
> + if (fmt->field == V4L2_FIELD_ALTERNATE)
> + fmt->height /= 2;
> }
>
> static void adv748x_fill_optional_dv_timings(struct v4l2_dv_timings *timings)
>