[media] adv7604/adv7842: fix il_vbackporch typo and zero the struct
authorHans Verkuil <hans.verkuil@cisco.com>
Sat, 20 Sep 2014 10:36:39 +0000 (07:36 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Sun, 21 Sep 2014 23:41:00 +0000 (20:41 -0300)
Both adv7604 and adv7842 had the same typo in the code that sets
the vertical backporch for the second interlaced field: it was
assigned to vbackporch instead of il_vbackporch.

In addition, the timings struct wasn't zeroed in the adv7842 driver,
leaving several fields to undefined values causing the timing match
function to fail.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/i2c/adv7604.c
drivers/media/i2c/adv7842.c

index d4fa213ba74ae40ee20c8d31ebebfcfca28f0bb2..a836de6cb73c9328becdc66310e5c456ba55444c 100644 (file)
@@ -1593,7 +1593,7 @@ static int adv7604_query_dv_timings(struct v4l2_subdev *sd,
                        bt->height += hdmi_read16(sd, 0x0b, 0xfff);
                        bt->il_vfrontporch = hdmi_read16(sd, 0x2c, 0x1fff) / 2;
                        bt->il_vsync = hdmi_read16(sd, 0x30, 0x1fff) / 2;
-                       bt->vbackporch = hdmi_read16(sd, 0x34, 0x1fff) / 2;
+                       bt->il_vbackporch = hdmi_read16(sd, 0x34, 0x1fff) / 2;
                }
                adv7604_fill_optional_dv_timings_fields(sd, timings);
        } else {
index 0d554919cdd52726f52deda278414aa62bb6e47c..48b628bc6714ecae53144f4bf90fa64d0454c90e 100644 (file)
@@ -1435,6 +1435,8 @@ static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
 
        v4l2_dbg(1, debug, sd, "%s:\n", __func__);
 
+       memset(timings, 0, sizeof(struct v4l2_dv_timings));
+
        /* SDP block */
        if (state->mode == ADV7842_MODE_SDP)
                return -ENODATA;
@@ -1483,7 +1485,7 @@ static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
                                        hdmi_read(sd, 0x2d)) / 2;
                        bt->il_vsync = ((hdmi_read(sd, 0x30) & 0x1f) * 256 +
                                        hdmi_read(sd, 0x31)) / 2;
-                       bt->vbackporch = ((hdmi_read(sd, 0x34) & 0x1f) * 256 +
+                       bt->il_vbackporch = ((hdmi_read(sd, 0x34) & 0x1f) * 256 +
                                        hdmi_read(sd, 0x35)) / 2;
                }
                adv7842_fill_optional_dv_timings_fields(sd, timings);