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 },

Reply via email to