This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:
Subject: cec-ctl: fail if HPD goes high unexpectedly Author: Hans Verkuil <hverk...@xs4all.nl> Date: Tue Apr 1 09:16:43 2025 +0200 In init_standby_wakeup_cycle_test() the display is put into standby. Some displays pull the HPD low when in standby. This function checks if that happened 5 seconds after the display reported that it is in standby mode. Wait two more seconds in that case and check if the HPD is still low (i.e., the physical address is invalid). If it isn't, then something weird is happening since you would not expect the HPD to go low and high again while in standby. Report a fail if this is detected. Signed-off-by: Hans Verkuil <hverk...@xs4all.nl> utils/cec-ctl/cec-ctl.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=ce7d88199feff50d80d5345643dfaa962a7a6bdb diff --git a/utils/cec-ctl/cec-ctl.cpp b/utils/cec-ctl/cec-ctl.cpp index 9dcd74dba7a1..b23ac025013f 100644 --- a/utils/cec-ctl/cec-ctl.cpp +++ b/utils/cec-ctl/cec-ctl.cpp @@ -1487,6 +1487,16 @@ static int init_standby_wakeup_cycle_test(const struct node &node, if (pa != CEC_PHYS_ADDR_INVALID) return from; + sleep(2); + + doioctl(&node, CEC_ADAP_G_PHYS_ADDR, &pa); + if (pa != CEC_PHYS_ADDR_INVALID) { + printf("FAIL: Five seconds after being put in the Standby state the HPD was low.\n"); + printf(" Two seconds later the HPD was high again. HPD toggles while in Standby\n"); + printf(" are not allowed.\n"); + std::exit(EXIT_FAILURE); + } + struct cec_caps caps = { }; doioctl(&node, CEC_ADAP_G_CAPS, &caps); unsigned major = caps.version >> 16;