Lines Matching refs:hdcp

31 #include "hdcp.h"
33 enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp,
39 struct mod_hdcp_connection *conn = &hdcp->connection;
40 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
42 switch (current_state(hdcp)) {
48 set_state_id(hdcp, output, HDCP_INITIALIZED);
51 set_state_id(hdcp, output, H2_A1_SEND_AKE_INIT);
66 set_watchdog_in_ms(hdcp, 100, output);
68 set_state_id(hdcp, output, H2_A1_VALIDATE_AKE_CERT);
84 increment_stay_counter(hdcp);
99 set_state_id(hdcp, output, H2_A1_SEND_STORED_KM);
102 set_state_id(hdcp, output, H2_A1_SEND_NO_STORED_KM);
111 set_watchdog_in_ms(hdcp, 2000, output);
113 set_watchdog_in_ms(hdcp, 1000, output);
115 set_state_id(hdcp, output, H2_A1_READ_H_PRIME);
126 increment_stay_counter(hdcp);
133 set_watchdog_in_ms(hdcp, 200, output);
135 set_state_id(hdcp, output, H2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
148 increment_stay_counter(hdcp);
158 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
165 set_watchdog_in_ms(hdcp, 200, output);
167 set_state_id(hdcp, output, H2_A1_VALIDATE_H_PRIME);
178 increment_stay_counter(hdcp);
191 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
194 if (hdcp->state.stay_count > 10 ||
208 increment_stay_counter(hdcp);
212 set_state_id(hdcp, output, H2_A3_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
221 set_watchdog_in_ms(hdcp, 3000, output);
223 set_state_id(hdcp, output, H2_A6_WAIT_FOR_RX_ID_LIST);
229 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
236 * 1A-07: restart hdcp on REAUTH_REQ
237 * 1B-08: restart hdcp on REAUTH_REQ
243 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
250 set_state_id(hdcp, output, H2_A5_AUTHENTICATED);
251 HDCP_FULL_DDC_TRACE(hdcp);
260 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
264 increment_stay_counter(hdcp);
282 increment_stay_counter(hdcp);
287 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
306 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
315 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
322 set_watchdog_in_ms(hdcp, 100, output);
324 set_state_id(hdcp, output, H2_A9_VALIDATE_STREAM_READY);
333 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
340 hdcp->auth.count.stream_management_retry_count++;
342 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
345 increment_stay_counter(hdcp);
354 if (hdcp->auth.count.stream_management_retry_count > 10) {
357 hdcp->auth.count.stream_management_retry_count++;
359 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
364 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
375 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
381 struct mod_hdcp_connection *conn = &hdcp->connection;
382 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
384 switch (current_state(hdcp)) {
390 set_state_id(hdcp, output, HDCP_INITIALIZED);
393 set_state_id(hdcp, output, D2_A1_SEND_AKE_INIT);
410 set_state_id(hdcp, output, D2_A1_VALIDATE_AKE_CERT);
425 set_state_id(hdcp, output, D2_A1_SEND_STORED_KM);
428 set_state_id(hdcp, output, D2_A1_SEND_NO_STORED_KM);
437 set_watchdog_in_ms(hdcp, 2000, output);
439 set_watchdog_in_ms(hdcp, 1000, output);
440 set_state_id(hdcp, output, D2_A1_READ_H_PRIME);
449 increment_stay_counter(hdcp);
455 set_watchdog_in_ms(hdcp, 200, output);
456 set_state_id(hdcp, output, D2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
468 increment_stay_counter(hdcp);
477 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
484 set_watchdog_in_ms(hdcp, 200, output);
485 set_state_id(hdcp, output, D2_A1_VALIDATE_H_PRIME);
494 increment_stay_counter(hdcp);
506 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
509 if (hdcp->state.stay_count > 10 ||
518 increment_stay_counter(hdcp);
522 set_state_id(hdcp, output, D2_A34_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
531 set_watchdog_in_ms(hdcp, 3000, output);
532 set_state_id(hdcp, output, D2_A6_WAIT_FOR_RX_ID_LIST);
535 set_state_id(hdcp, output, D2_SEND_CONTENT_STREAM_TYPE);
547 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);
554 * 1A-07: restart hdcp on REAUTH_REQ
555 * 1B-08: restart hdcp on REAUTH_REQ
561 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
564 (is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
568 set_state_id(hdcp, output, D2_A5_AUTHENTICATED);
569 HDCP_FULL_DDC_TRACE(hdcp);
577 if (hdcp->connection.hdcp2_retry_count >= 1)
583 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
586 increment_stay_counter(hdcp);
599 increment_stay_counter(hdcp);
603 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
624 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
634 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
641 increment_stay_counter(hdcp);
645 set_state_id(hdcp, output, D2_A9_VALIDATE_STREAM_READY);
655 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
664 if (hdcp->auth.count.stream_management_retry_count > 10) {
667 hdcp->auth.count.stream_management_retry_count++;
669 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
671 increment_stay_counter(hdcp);
676 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);