Files
kernel_common_drivers/include/linux
zhou.han 70e0f7f180 hdmitx: Optimize the flow for obtaining the HDCP version on the box [1/1]
PD#SWPL-216658

Problem:
The hdcp_tx22 daemon and the weston set mode are executed asynchronously
in two separate threads, The execution order of the two cannot be
determined. If set mode runs first while the hdcp_tx22 thread has not
finished loading, the system will authenticate HDCP 1.4. Even after
hdcp_tx22 finishes loading, HDCP 2.2 authentication will not be triggered
due to code limitations. As a result, after booting, only HDCP 1.4 can
be authenticated. It can be fixed by re-plugging the cable.

Solution:
Daemon done, return real tx_hdcp_version;
Daemon timeout, return 1.4 tx_hdcp_version;
Daemon loading, return null tx_hdcp_version;

If the hdcp_tx22 daemon hasn’t finished loading, getting the
tx_hdcp_version returns nothing, so the system will not authenticate
HDCP. After the daemon finishes loading, it will use ioctl to notify
the driver to update HDCP. At this time, the real tx_hdcp_version can
be read, and rx_hdcp_version will also be read again through DDC.
Then the system starts authenticating HDCP 2.2.

Verify:
ohm

Test:
DRM-TX-37

Change-Id: Ic5b276d5592e55a42c5095b9f6f2299cadb00803
Signed-off-by: zhou.han <zhou.han@amlogic.com>
2025-07-04 17:49:13 -07:00
..