From 5988e141f68fbac13aefd5bb2d3936abce7f0c0b Mon Sep 17 00:00:00 2001 From: Martin Bugge Date: Thu, 12 Dec 2013 10:10:57 -0300 Subject: [PATCH] upstream: [media] adv7842: return 0 if no change in s_dv_timings Return 0 if the new timings are equal to the current timings as it caused extra cp-loss/lock interrupts. Signed-off-by: Martin Bugge Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- drivers/media/i2c/adv7842.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/i2c/adv7842.c b/drivers/media/i2c/adv7842.c index d2d73d6..354ba0b 100644 --- a/drivers/media/i2c/adv7842.c +++ b/drivers/media/i2c/adv7842.c @@ -1453,6 +1453,11 @@ static int adv7842_s_dv_timings(struct v4l2_subdev *sd, if (state->mode == ADV7842_MODE_SDP) return -ENODATA; + if (v4l2_match_dv_timings(&state->timings, timings, 0)) { + v4l2_dbg(1, debug, sd, "%s: no change\n", __func__); + return 0; + } + bt = &timings->bt; if (!v4l2_valid_dv_timings(timings, adv7842_get_dv_timings_cap(sd), -- 2.7.4