Lines Matching defs:hdcp

26 #include "hdcp.h"
28 enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp,
34 struct mod_hdcp_connection *conn = &hdcp->connection;
35 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
37 switch (current_state(hdcp)) {
43 set_state_id(hdcp, output, HDCP_INITIALIZED);
46 set_state_id(hdcp, output, H2_A1_SEND_AKE_INIT);
60 set_watchdog_in_ms(hdcp, 100, output);
62 set_state_id(hdcp, output, H2_A1_VALIDATE_AKE_CERT);
78 increment_stay_counter(hdcp);
93 set_state_id(hdcp, output, H2_A1_SEND_STORED_KM);
96 set_state_id(hdcp, output, H2_A1_SEND_NO_STORED_KM);
105 set_watchdog_in_ms(hdcp, 2000, output);
107 set_watchdog_in_ms(hdcp, 1000, output);
109 set_state_id(hdcp, output, H2_A1_READ_H_PRIME);
120 increment_stay_counter(hdcp);
127 set_watchdog_in_ms(hdcp, 200, output);
129 set_state_id(hdcp, output, H2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
142 increment_stay_counter(hdcp);
152 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
159 set_watchdog_in_ms(hdcp, 200, output);
161 set_state_id(hdcp, output, H2_A1_VALIDATE_H_PRIME);
172 increment_stay_counter(hdcp);
185 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
188 const bool use_fw = hdcp->config.ddc.funcs.atomic_write_poll_read_i2c
196 if (hdcp->state.stay_count > 10 ||
203 if (use_fw && hdcp->config.debug.lc_enable_sw_fallback) {
213 increment_stay_counter(hdcp);
217 set_state_id(hdcp, output, H2_A3_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
227 set_watchdog_in_ms(hdcp, 3000, output);
229 set_state_id(hdcp, output, H2_A6_WAIT_FOR_RX_ID_LIST);
235 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
242 * 1A-07: restart hdcp on REAUTH_REQ
243 * 1B-08: restart hdcp on REAUTH_REQ
249 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
256 set_state_id(hdcp, output, H2_A5_AUTHENTICATED);
257 set_auth_complete(hdcp, output);
266 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
270 increment_stay_counter(hdcp);
288 increment_stay_counter(hdcp);
293 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
312 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
321 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
328 set_watchdog_in_ms(hdcp, 100, output);
330 set_state_id(hdcp, output, H2_A9_VALIDATE_STREAM_READY);
339 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
346 hdcp->auth.count.stream_management_retry_count++;
348 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
351 increment_stay_counter(hdcp);
360 if (hdcp->auth.count.stream_management_retry_count > 10) {
363 hdcp->auth.count.stream_management_retry_count++;
365 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
370 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
381 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
387 struct mod_hdcp_connection *conn = &hdcp->connection;
388 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
390 switch (current_state(hdcp)) {
396 set_state_id(hdcp, output, HDCP_INITIALIZED);
399 set_state_id(hdcp, output, D2_A1_SEND_AKE_INIT);
415 set_state_id(hdcp, output, D2_A1_VALIDATE_AKE_CERT);
430 set_state_id(hdcp, output, D2_A1_SEND_STORED_KM);
433 set_state_id(hdcp, output, D2_A1_SEND_NO_STORED_KM);
442 set_watchdog_in_ms(hdcp, 2000, output);
444 set_watchdog_in_ms(hdcp, 1000, output);
445 set_state_id(hdcp, output, D2_A1_READ_H_PRIME);
454 increment_stay_counter(hdcp);
460 set_watchdog_in_ms(hdcp, 200, output);
461 set_state_id(hdcp, output, D2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
473 increment_stay_counter(hdcp);
482 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
489 set_watchdog_in_ms(hdcp, 200, output);
490 set_state_id(hdcp, output, D2_A1_VALIDATE_H_PRIME);
499 increment_stay_counter(hdcp);
511 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
514 const bool use_fw = hdcp->config.ddc.funcs.atomic_write_poll_read_aux
517 if (hdcp->state.stay_count > 10 ||
524 if (use_fw && hdcp->config.debug.lc_enable_sw_fallback) {
534 increment_stay_counter(hdcp);
538 set_state_id(hdcp, output, D2_A34_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
548 set_watchdog_in_ms(hdcp, 3000, output);
549 set_state_id(hdcp, output, D2_A6_WAIT_FOR_RX_ID_LIST);
552 set_state_id(hdcp, output, D2_SEND_CONTENT_STREAM_TYPE);
564 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);
571 * 1A-07: restart hdcp on REAUTH_REQ
572 * 1B-08: restart hdcp on REAUTH_REQ
578 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
581 (is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
585 set_state_id(hdcp, output, D2_A5_AUTHENTICATED);
586 set_auth_complete(hdcp, output);
594 if (hdcp->connection.hdcp2_retry_count >= 1)
600 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
603 increment_stay_counter(hdcp);
616 increment_stay_counter(hdcp);
620 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
641 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
651 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
658 increment_stay_counter(hdcp);
662 set_state_id(hdcp, output, D2_A9_VALIDATE_STREAM_READY);
672 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
681 if (hdcp->auth.count.stream_management_retry_count > 10) {
684 hdcp->auth.count.stream_management_retry_count++;
686 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
688 increment_stay_counter(hdcp);
693 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);