From: Martin Bugge Date: Thu, 5 Dec 2013 15:09:51 +0000 (-0300) Subject: upstream: [media] adv7842: clear edid, if no edid just disable Edid-DDC access X-Git-Tag: submit/tizen/20141121.110247~1183 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=80eca2d2654cc29a9a9eb5ad131d2168a457052d;p=platform%2Fkernel%2Flinux-3.10.git upstream: [media] adv7842: clear edid, if no edid just disable Edid-DDC access Signed-off-by: Martin Bugge Cc: Mats Randgaard Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/adv7842.c b/drivers/media/i2c/adv7842.c index 02f26e9..69b9b45 100644 --- a/drivers/media/i2c/adv7842.c +++ b/drivers/media/i2c/adv7842.c @@ -700,6 +700,9 @@ static int edid_write_hdmi_segment(struct v4l2_subdev *sd, u8 port) /* Disable I2C access to internal EDID ram from HDMI DDC ports */ rep_write_and_or(sd, 0x77, 0xf3, 0x00); + if (!state->hdmi_edid.present) + return 0; + /* edid segment pointer '0' for HDMI ports */ rep_write_and_or(sd, 0x77, 0xef, 0x00); @@ -2638,8 +2641,8 @@ static int adv7842_command_ram_test(struct v4l2_subdev *sd) adv7842_s_dv_timings(sd, &state->timings); edid_write_vga_segment(sd); - edid_write_hdmi_segment(sd, 0); - edid_write_hdmi_segment(sd, 1); + edid_write_hdmi_segment(sd, ADV7842_EDID_PORT_A); + edid_write_hdmi_segment(sd, ADV7842_EDID_PORT_B); return ret; }