Lines Matching refs:hdcp
28 enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp, in mod_hdcp_hdcp2_transition() argument
34 struct mod_hdcp_connection *conn = &hdcp->connection; in mod_hdcp_hdcp2_transition()
35 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust; in mod_hdcp_hdcp2_transition()
37 switch (current_state(hdcp)) { in mod_hdcp_hdcp2_transition()
43 set_state_id(hdcp, output, HDCP_INITIALIZED); in mod_hdcp_hdcp2_transition()
46 set_state_id(hdcp, output, H2_A1_SEND_AKE_INIT); in mod_hdcp_hdcp2_transition()
60 set_watchdog_in_ms(hdcp, 100, output); in mod_hdcp_hdcp2_transition()
62 set_state_id(hdcp, output, H2_A1_VALIDATE_AKE_CERT); in mod_hdcp_hdcp2_transition()
78 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
93 set_state_id(hdcp, output, H2_A1_SEND_STORED_KM); in mod_hdcp_hdcp2_transition()
96 set_state_id(hdcp, output, H2_A1_SEND_NO_STORED_KM); in mod_hdcp_hdcp2_transition()
105 set_watchdog_in_ms(hdcp, 2000, output); in mod_hdcp_hdcp2_transition()
107 set_watchdog_in_ms(hdcp, 1000, output); in mod_hdcp_hdcp2_transition()
109 set_state_id(hdcp, output, H2_A1_READ_H_PRIME); in mod_hdcp_hdcp2_transition()
120 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
127 set_watchdog_in_ms(hdcp, 200, output); in mod_hdcp_hdcp2_transition()
129 set_state_id(hdcp, output, H2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME); in mod_hdcp_hdcp2_transition()
142 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
152 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK); in mod_hdcp_hdcp2_transition()
159 set_watchdog_in_ms(hdcp, 200, output); in mod_hdcp_hdcp2_transition()
161 set_state_id(hdcp, output, H2_A1_VALIDATE_H_PRIME); in mod_hdcp_hdcp2_transition()
172 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
185 set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK); in mod_hdcp_hdcp2_transition()
188 if (hdcp->state.stay_count > 10 || in mod_hdcp_hdcp2_transition()
202 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
206 set_state_id(hdcp, output, H2_A3_EXCHANGE_KS_AND_TEST_FOR_REPEATER); in mod_hdcp_hdcp2_transition()
215 set_watchdog_in_ms(hdcp, 3000, output); in mod_hdcp_hdcp2_transition()
217 set_state_id(hdcp, output, H2_A6_WAIT_FOR_RX_ID_LIST); in mod_hdcp_hdcp2_transition()
223 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION); in mod_hdcp_hdcp2_transition()
237 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_transition()
244 set_state_id(hdcp, output, H2_A5_AUTHENTICATED); in mod_hdcp_hdcp2_transition()
245 set_auth_complete(hdcp, output); in mod_hdcp_hdcp2_transition()
254 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_transition()
258 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
276 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
281 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_transition()
300 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT); in mod_hdcp_hdcp2_transition()
309 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_transition()
316 set_watchdog_in_ms(hdcp, 100, output); in mod_hdcp_hdcp2_transition()
318 set_state_id(hdcp, output, H2_A9_VALIDATE_STREAM_READY); in mod_hdcp_hdcp2_transition()
327 set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_transition()
334 hdcp->auth.count.stream_management_retry_count++; in mod_hdcp_hdcp2_transition()
336 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT); in mod_hdcp_hdcp2_transition()
339 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_transition()
348 if (hdcp->auth.count.stream_management_retry_count > 10) { in mod_hdcp_hdcp2_transition()
351 hdcp->auth.count.stream_management_retry_count++; in mod_hdcp_hdcp2_transition()
353 set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT); in mod_hdcp_hdcp2_transition()
358 set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION); in mod_hdcp_hdcp2_transition()
369 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp, in mod_hdcp_hdcp2_dp_transition() argument
375 struct mod_hdcp_connection *conn = &hdcp->connection; in mod_hdcp_hdcp2_dp_transition()
376 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust; in mod_hdcp_hdcp2_dp_transition()
378 switch (current_state(hdcp)) { in mod_hdcp_hdcp2_dp_transition()
384 set_state_id(hdcp, output, HDCP_INITIALIZED); in mod_hdcp_hdcp2_dp_transition()
387 set_state_id(hdcp, output, D2_A1_SEND_AKE_INIT); in mod_hdcp_hdcp2_dp_transition()
403 set_state_id(hdcp, output, D2_A1_VALIDATE_AKE_CERT); in mod_hdcp_hdcp2_dp_transition()
418 set_state_id(hdcp, output, D2_A1_SEND_STORED_KM); in mod_hdcp_hdcp2_dp_transition()
421 set_state_id(hdcp, output, D2_A1_SEND_NO_STORED_KM); in mod_hdcp_hdcp2_dp_transition()
430 set_watchdog_in_ms(hdcp, 2000, output); in mod_hdcp_hdcp2_dp_transition()
432 set_watchdog_in_ms(hdcp, 1000, output); in mod_hdcp_hdcp2_dp_transition()
433 set_state_id(hdcp, output, D2_A1_READ_H_PRIME); in mod_hdcp_hdcp2_dp_transition()
442 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
448 set_watchdog_in_ms(hdcp, 200, output); in mod_hdcp_hdcp2_dp_transition()
449 set_state_id(hdcp, output, D2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME); in mod_hdcp_hdcp2_dp_transition()
461 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
470 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK); in mod_hdcp_hdcp2_dp_transition()
477 set_watchdog_in_ms(hdcp, 200, output); in mod_hdcp_hdcp2_dp_transition()
478 set_state_id(hdcp, output, D2_A1_VALIDATE_H_PRIME); in mod_hdcp_hdcp2_dp_transition()
487 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
499 set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK); in mod_hdcp_hdcp2_dp_transition()
502 if (hdcp->state.stay_count > 10 || in mod_hdcp_hdcp2_dp_transition()
511 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
515 set_state_id(hdcp, output, D2_A34_EXCHANGE_KS_AND_TEST_FOR_REPEATER); in mod_hdcp_hdcp2_dp_transition()
524 set_watchdog_in_ms(hdcp, 3000, output); in mod_hdcp_hdcp2_dp_transition()
525 set_state_id(hdcp, output, D2_A6_WAIT_FOR_RX_ID_LIST); in mod_hdcp_hdcp2_dp_transition()
528 set_state_id(hdcp, output, D2_SEND_CONTENT_STREAM_TYPE); in mod_hdcp_hdcp2_dp_transition()
540 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION); in mod_hdcp_hdcp2_dp_transition()
554 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_dp_transition()
557 (is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) { in mod_hdcp_hdcp2_dp_transition()
561 set_state_id(hdcp, output, D2_A5_AUTHENTICATED); in mod_hdcp_hdcp2_dp_transition()
562 set_auth_complete(hdcp, output); in mod_hdcp_hdcp2_dp_transition()
570 if (hdcp->connection.hdcp2_retry_count >= 1) in mod_hdcp_hdcp2_dp_transition()
576 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_dp_transition()
579 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
592 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
596 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_dp_transition()
617 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT); in mod_hdcp_hdcp2_dp_transition()
627 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_dp_transition()
634 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
638 set_state_id(hdcp, output, D2_A9_VALIDATE_STREAM_READY); in mod_hdcp_hdcp2_dp_transition()
648 set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK); in mod_hdcp_hdcp2_dp_transition()
657 if (hdcp->auth.count.stream_management_retry_count > 10) { in mod_hdcp_hdcp2_dp_transition()
660 hdcp->auth.count.stream_management_retry_count++; in mod_hdcp_hdcp2_dp_transition()
662 set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT); in mod_hdcp_hdcp2_dp_transition()
664 increment_stay_counter(hdcp); in mod_hdcp_hdcp2_dp_transition()
669 set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION); in mod_hdcp_hdcp2_dp_transition()