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-compliance: add two new tests Author: Hans Verkuil <hverk...@xs4all.nl> Date: Fri Feb 21 00:02:27 2025 +0100 Check that <Image View On> can use the Unregistered initiator when waking up a display. Signed-off-by: Hans Verkuil <hverk...@xs4all.nl> utils/cec-compliance/cec-test-power.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=399d13d9a00d53ac1de89284bd8067ff1cd880c3 diff --git a/utils/cec-compliance/cec-test-power.cpp b/utils/cec-compliance/cec-test-power.cpp index 6ab9b1e36cc0..49b4d722398b 100644 --- a/utils/cec-compliance/cec-test-power.cpp +++ b/utils/cec-compliance/cec-test-power.cpp @@ -518,10 +518,13 @@ int standby_resume_wakeup(struct node *node, unsigned me, unsigned la, bool inte return 0; } -static int standby_resume_wakeup_view_on(struct node *node, unsigned me, unsigned la, bool interactive, __u8 opcode) +static int standby_resume_wakeup_view_on(struct node *node, unsigned me, unsigned la, bool interactive, + __u8 opcode, bool from_unregistered) { if (!is_tv(la, node->remote[la].prim_type)) return NOTAPPLICABLE; + if (me == CEC_LOG_ADDR_UNREGISTERED && from_unregistered) + return NOTAPPLICABLE; unsigned unresponsive_cnt = 0; @@ -541,7 +544,8 @@ static int standby_resume_wakeup_view_on(struct node *node, unsigned me, unsigne sleep(6); - ret = one_touch_play_view_on(node, me, la, interactive, opcode); + ret = one_touch_play_view_on(node, from_unregistered ? CEC_LOG_ADDR_UNREGISTERED : me, + la, interactive, opcode); if (ret) return ret; @@ -566,12 +570,22 @@ static int standby_resume_wakeup_view_on(struct node *node, unsigned me, unsigne static int standby_resume_wakeup_image_view_on(struct node *node, unsigned me, unsigned la, bool interactive) { - return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_IMAGE_VIEW_ON); + return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_IMAGE_VIEW_ON, false); } static int standby_resume_wakeup_text_view_on(struct node *node, unsigned me, unsigned la, bool interactive) { - return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_TEXT_VIEW_ON); + return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_TEXT_VIEW_ON, false); +} + +static int standby_resume_wakeup_unreg_image_view_on(struct node *node, unsigned me, unsigned la, bool interactive) +{ + return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_IMAGE_VIEW_ON, true); +} + +static int standby_resume_wakeup_unreg_text_view_on(struct node *node, unsigned me, unsigned la, bool interactive) +{ + return standby_resume_wakeup_view_on(node, me, la, interactive, CEC_MSG_TEXT_VIEW_ON, true); } /* Test CEC 2.0 Power State Transitions (see HDMI 2.1, 11.5.5) */ @@ -760,6 +774,8 @@ const vec_remote_subtests standby_resume_subtests{ { "Wake up", CEC_LOG_ADDR_MASK_ALL, standby_resume_wakeup }, { "Wake up TV on Image View On", CEC_LOG_ADDR_MASK_TV, standby_resume_wakeup_image_view_on }, { "Wake up TV on Text View On", CEC_LOG_ADDR_MASK_TV, standby_resume_wakeup_text_view_on }, + { "Wake up TV on Image View On from Unregistered", CEC_LOG_ADDR_MASK_TV, standby_resume_wakeup_unreg_image_view_on }, + { "Wake up TV on Text View On from Unregistered", CEC_LOG_ADDR_MASK_TV, standby_resume_wakeup_unreg_text_view_on }, { "Power State Transitions", CEC_LOG_ADDR_MASK_TV, power_state_transitions, false, true }, { "Deck Eject Standby Resume", CEC_LOG_ADDR_MASK_PLAYBACK | CEC_LOG_ADDR_MASK_RECORD, standby_resume_wakeup_deck_eject }, { "Deck Play Standby Resume", CEC_LOG_ADDR_MASK_PLAYBACK | CEC_LOG_ADDR_MASK_RECORD, standby_resume_wakeup_deck_play },