From: Martin Bugge Date: Thu, 5 Dec 2013 15:09:51 +0000 (-0300) Subject: [media] adv7842: clear edid, if no edid just disable Edid-DDC access X-Git-Tag: v3.14-rc1~20^2~143 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc2e991e86382abb5cd32010b92a63b15bd76f30;p=thirdparty%2Fkernel%2Flinux.git [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 bbd80acbabfe0..eab9a1b8b54be 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; }