Lines Matching refs: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 if (hdcp->state.stay_count > 10 ||
202 increment_stay_counter(hdcp);
206 set_state_id(hdcp, output, H2_A3_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
215 set_watchdog_in_ms(hdcp, 3000, output);
217 set_state_id(hdcp, output, H2_A6_WAIT_FOR_RX_ID_LIST);
223 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
230 * 1A-07: restart hdcp on REAUTH_REQ
231 * 1B-08: restart hdcp on REAUTH_REQ
237 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
244 set_state_id(hdcp, output, H2_A5_AUTHENTICATED);
245 set_auth_complete(hdcp, output);
254 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
258 increment_stay_counter(hdcp);
276 increment_stay_counter(hdcp);
281 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
300 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
309 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
316 set_watchdog_in_ms(hdcp, 100, output);
318 set_state_id(hdcp, output, H2_A9_VALIDATE_STREAM_READY);
327 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
334 hdcp->auth.count.stream_management_retry_count++;
336 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
339 increment_stay_counter(hdcp);
348 if (hdcp->auth.count.stream_management_retry_count > 10) {
351 hdcp->auth.count.stream_management_retry_count++;
353 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
358 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
369 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
375 struct mod_hdcp_connection *conn = &hdcp->connection;
376 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
378 switch (current_state(hdcp)) {
384 set_state_id(hdcp, output, HDCP_INITIALIZED);
387 set_state_id(hdcp, output, D2_A1_SEND_AKE_INIT);
403 set_state_id(hdcp, output, D2_A1_VALIDATE_AKE_CERT);
418 set_state_id(hdcp, output, D2_A1_SEND_STORED_KM);
421 set_state_id(hdcp, output, D2_A1_SEND_NO_STORED_KM);
430 set_watchdog_in_ms(hdcp, 2000, output);
432 set_watchdog_in_ms(hdcp, 1000, output);
433 set_state_id(hdcp, output, D2_A1_READ_H_PRIME);
442 increment_stay_counter(hdcp);
448 set_watchdog_in_ms(hdcp, 200, output);
449 set_state_id(hdcp, output, D2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
461 increment_stay_counter(hdcp);
470 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
477 set_watchdog_in_ms(hdcp, 200, output);
478 set_state_id(hdcp, output, D2_A1_VALIDATE_H_PRIME);
487 increment_stay_counter(hdcp);
499 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
502 if (hdcp->state.stay_count > 10 ||
511 increment_stay_counter(hdcp);
515 set_state_id(hdcp, output, D2_A34_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
524 set_watchdog_in_ms(hdcp, 3000, output);
525 set_state_id(hdcp, output, D2_A6_WAIT_FOR_RX_ID_LIST);
528 set_state_id(hdcp, output, D2_SEND_CONTENT_STREAM_TYPE);
540 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);
547 * 1A-07: restart hdcp on REAUTH_REQ
548 * 1B-08: restart hdcp on REAUTH_REQ
554 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
557 (is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
561 set_state_id(hdcp, output, D2_A5_AUTHENTICATED);
562 set_auth_complete(hdcp, output);
570 if (hdcp->connection.hdcp2_retry_count >= 1)
576 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
579 increment_stay_counter(hdcp);
592 increment_stay_counter(hdcp);
596 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
617 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
627 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
634 increment_stay_counter(hdcp);
638 set_state_id(hdcp, output, D2_A9_VALIDATE_STREAM_READY);
648 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
657 if (hdcp->auth.count.stream_management_retry_count > 10) {
660 hdcp->auth.count.stream_management_retry_count++;
662 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
664 increment_stay_counter(hdcp);
669 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);