On Wed Jun 25 08:35:36 2025 +0200, Hans Verkuil wrote:
> When the EDID is updated, the hotplug detect signal must remain low for
> 100 ms minimum. Currently these three drivers use that exact minimum,
> but some HDMI transmitters need the HPD to be low for a bit longer
> before they detect that they need to read the EDID again.
> 
> Experience shows that HZ / 7 (= 143 ms) is a good value.
> 
> So change HZ / 10 to HZ / 7.
> 
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

Patch committed.

Thanks,
Mauro Carvalho Chehab

 drivers/media/i2c/adv7604.c  | 4 ++--
 drivers/media/i2c/tc358743.c | 4 ++--
 drivers/media/i2c/tda1997x.c | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

---

diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index e271782b7b70..afed38596362 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -2448,8 +2448,8 @@ static int adv76xx_set_edid(struct v4l2_subdev *sd, 
struct v4l2_edid *edid)
        }
        cec_s_phys_addr(state->cec_adap, parent_pa, false);
 
-       /* enable hotplug after 100 ms */
-       schedule_delayed_work(&state->delayed_work_enable_hotplug, HZ / 10);
+       /* enable hotplug after 143 ms */
+       schedule_delayed_work(&state->delayed_work_enable_hotplug, HZ / 7);
        return 0;
 }
 
diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
index 37ebc760f73b..1cc7636e446d 100644
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
@@ -437,9 +437,9 @@ static void tc358743_enable_edid(struct v4l2_subdev *sd)
 
        v4l2_dbg(2, debug, sd, "%s:\n", __func__);
 
-       /* Enable hotplug after 100 ms. DDC access to EDID is also enabled when
+       /* Enable hotplug after 143 ms. DDC access to EDID is also enabled when
         * hotplug is enabled. See register DDC_CTL */
-       schedule_delayed_work(&state->delayed_work_enable_hotplug, HZ / 10);
+       schedule_delayed_work(&state->delayed_work_enable_hotplug, HZ / 7);
 
        tc358743_enable_interrupts(sd, true);
        tc358743_s_ctrl_detect_tx_5v(sd);
diff --git a/drivers/media/i2c/tda1997x.c b/drivers/media/i2c/tda1997x.c
index 959590afc80f..1087d2bddaf2 100644
--- a/drivers/media/i2c/tda1997x.c
+++ b/drivers/media/i2c/tda1997x.c
@@ -589,8 +589,8 @@ static void tda1997x_enable_edid(struct v4l2_subdev *sd)
 
        v4l2_dbg(1, debug, sd, "%s\n", __func__);
 
-       /* Enable hotplug after 100ms */
-       schedule_delayed_work(&state->delayed_work_enable_hpd, HZ / 10);
+       /* Enable hotplug after 143ms */
+       schedule_delayed_work(&state->delayed_work_enable_hpd, HZ / 7);
 }
 
 /* 
-----------------------------------------------------------------------------

Reply via email to