summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2018-10-04 10:57:06 +0300
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-10-05 18:23:59 +0300
commite7da89926f6dc6cf855f5ffdf79ef99a1b115ca7 (patch)
treeb46905cc31bf981ac795664ae41cb9dbb746eb51 /drivers
parent7ec2b3b941a666a942859684281b5f6460a0c234 (diff)
downloadlinux-e7da89926f6dc6cf855f5ffdf79ef99a1b115ca7.tar.xz
media: adv7604: when the EDID is cleared, unconfigure CEC as well
When there is no EDID the CEC adapter should be unconfigured as well. So call cec_phys_addr_invalidate() when this happens. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: <stable@vger.kernel.org> # for v4.18 and up Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/i2c/adv7604.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 1c89959b1509..9eb7c70a7712 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -2284,8 +2284,10 @@ static int adv76xx_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
state->aspect_ratio.numerator = 16;
state->aspect_ratio.denominator = 9;
- if (!state->edid.present)
+ if (!state->edid.present) {
state->edid.blocks = 0;
+ cec_phys_addr_invalidate(state->cec_adap);
+ }
v4l2_dbg(2, debug, sd, "%s: clear EDID pad %d, edid.present = 0x%x\n",
__func__, edid->pad, state->edid.present);