Home
last modified time | relevance | path

Searched refs:hdcp (Results 1 - 25 of 58) sorted by relevance

123

/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/modules/hdcp/
H A Dhdcp_log.h30 #define HDCP_LOG_ERR(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
31 #define HDCP_LOG_VER(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
32 #define HDCP_LOG_FSM(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
33 #define HDCP_LOG_TOP(hdcp, ...) pr_debug("[HDCP_TOP]:"__VA_ARGS__)
34 #define HDCP_LOG_DDC(hdcp, ...) pr_debug("[HDCP_DDC]:"__VA_ARGS__)
38 #define HDCP_ERROR_TRACE(hdcp, status) \
39 HDCP_LOG_ERR(hdcp, \
41 hdcp->config.index, \
43 mod_hdcp_state_id_to_str(hdcp->state.id), \
44 hdcp
[all...]
H A Dhdcp_ddc.c26 #include "hdcp.h"
150 static enum mod_hdcp_status read(struct mod_hdcp *hdcp, in read() argument
159 if (is_dp_hdcp(hdcp)) { in read()
162 success = hdcp->config.ddc.funcs.read_dpcd(hdcp->config.ddc.handle, in read()
174 success = hdcp->config.ddc.funcs.read_i2c( in read()
175 hdcp->config.ddc.handle, in read()
185 static enum mod_hdcp_status read_repeatedly(struct mod_hdcp *hdcp, in read_repeatedly() argument
197 status = read(hdcp, msg_id, buf + data_offset, cur_size); in read_repeatedly()
209 static enum mod_hdcp_status write(struct mod_hdcp *hdcp, in write() argument
246 mod_hdcp_read_bksv(struct mod_hdcp *hdcp) mod_hdcp_read_bksv() argument
253 mod_hdcp_read_bcaps(struct mod_hdcp *hdcp) mod_hdcp_read_bcaps() argument
260 mod_hdcp_read_bstatus(struct mod_hdcp *hdcp) mod_hdcp_read_bstatus() argument
275 mod_hdcp_read_r0p(struct mod_hdcp *hdcp) mod_hdcp_read_r0p() argument
283 mod_hdcp_read_ksvlist(struct mod_hdcp *hdcp) mod_hdcp_read_ksvlist() argument
299 mod_hdcp_read_vp(struct mod_hdcp *hdcp) mod_hdcp_read_vp() argument
329 mod_hdcp_read_binfo(struct mod_hdcp *hdcp) mod_hdcp_read_binfo() argument
343 mod_hdcp_write_aksv(struct mod_hdcp *hdcp) mod_hdcp_write_aksv() argument
350 mod_hdcp_write_ainfo(struct mod_hdcp *hdcp) mod_hdcp_write_ainfo() argument
357 mod_hdcp_write_an(struct mod_hdcp *hdcp) mod_hdcp_write_an() argument
364 mod_hdcp_read_hdcp2version(struct mod_hdcp *hdcp) mod_hdcp_read_hdcp2version() argument
378 mod_hdcp_read_rxcaps(struct mod_hdcp *hdcp) mod_hdcp_read_rxcaps() argument
392 mod_hdcp_read_rxstatus(struct mod_hdcp *hdcp) mod_hdcp_read_rxstatus() argument
408 mod_hdcp_read_ake_cert(struct mod_hdcp *hdcp) mod_hdcp_read_ake_cert() argument
426 mod_hdcp_read_h_prime(struct mod_hdcp *hdcp) mod_hdcp_read_h_prime() argument
444 mod_hdcp_read_pairing_info(struct mod_hdcp *hdcp) mod_hdcp_read_pairing_info() argument
462 mod_hdcp_read_l_prime(struct mod_hdcp *hdcp) mod_hdcp_read_l_prime() argument
480 mod_hdcp_read_rx_id_list(struct mod_hdcp *hdcp) mod_hdcp_read_rx_id_list() argument
511 mod_hdcp_read_stream_ready(struct mod_hdcp *hdcp) mod_hdcp_read_stream_ready() argument
529 mod_hdcp_write_ake_init(struct mod_hdcp *hdcp) mod_hdcp_write_ake_init() argument
544 mod_hdcp_write_no_stored_km(struct mod_hdcp *hdcp) mod_hdcp_write_no_stored_km() argument
559 mod_hdcp_write_stored_km(struct mod_hdcp *hdcp) mod_hdcp_write_stored_km() argument
574 mod_hdcp_write_lc_init(struct mod_hdcp *hdcp) mod_hdcp_write_lc_init() argument
589 mod_hdcp_write_eks(struct mod_hdcp *hdcp) mod_hdcp_write_eks() argument
606 mod_hdcp_write_repeater_auth_ack(struct mod_hdcp *hdcp) mod_hdcp_write_repeater_auth_ack() argument
621 mod_hdcp_write_stream_manage(struct mod_hdcp *hdcp) mod_hdcp_write_stream_manage() argument
638 mod_hdcp_write_content_type(struct mod_hdcp *hdcp) mod_hdcp_write_content_type() argument
651 mod_hdcp_clear_cp_irq_status(struct mod_hdcp *hdcp) mod_hdcp_clear_cp_irq_status() argument
[all...]
H A Dhdcp.c26 #include "hdcp.h"
28 static void push_error_status(struct mod_hdcp *hdcp, in push_error_status() argument
31 struct mod_hdcp_trace *trace = &hdcp->connection.trace; in push_error_status()
35 trace->errors[trace->error_count].state_id = hdcp->state.id; in push_error_status()
37 HDCP_ERROR_TRACE(hdcp, status); in push_error_status()
40 if (is_hdcp1(hdcp)) { in push_error_status()
41 hdcp->connection.hdcp1_retry_count++; in push_error_status()
42 } else if (is_hdcp2(hdcp)) { in push_error_status()
43 hdcp->connection.hdcp2_retry_count++; in push_error_status()
47 static uint8_t is_cp_desired_hdcp1(struct mod_hdcp *hdcp) in is_cp_desired_hdcp1() argument
68 is_cp_desired_hdcp2(struct mod_hdcp *hdcp) is_cp_desired_hdcp2() argument
89 execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, union mod_hdcp_transition_input *input) execution() argument
125 transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, union mod_hdcp_transition_input *input, struct mod_hdcp_output *output) transition() argument
183 reset_authentication(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) reset_authentication() argument
229 reset_connection(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) reset_connection() argument
257 mod_hdcp_setup(struct mod_hdcp *hdcp, struct mod_hdcp_config *config) mod_hdcp_setup() argument
272 mod_hdcp_teardown(struct mod_hdcp *hdcp) mod_hdcp_teardown() argument
287 mod_hdcp_add_display(struct mod_hdcp *hdcp, struct mod_hdcp_link *link, struct mod_hdcp_display *display, struct mod_hdcp_output *output) mod_hdcp_add_display() argument
346 mod_hdcp_remove_display(struct mod_hdcp *hdcp, uint8_t index, struct mod_hdcp_output *output) mod_hdcp_remove_display() argument
389 mod_hdcp_query_display(struct mod_hdcp *hdcp, uint8_t index, struct mod_hdcp_display_query *query) mod_hdcp_query_display() argument
427 mod_hdcp_reset_connection(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) mod_hdcp_reset_connection() argument
440 mod_hdcp_process_event(struct mod_hdcp *hdcp, enum mod_hdcp_event event, struct mod_hdcp_output *output) mod_hdcp_process_event() argument
[all...]
H A Dhdcp.h289 typedef enum mod_hdcp_status (*mod_hdcp_action)(struct mod_hdcp *hdcp);
292 enum mod_hdcp_status *status, struct mod_hdcp *hdcp, char *str);
293 enum mod_hdcp_status mod_hdcp_hdcp1_execution(struct mod_hdcp *hdcp,
296 enum mod_hdcp_status mod_hdcp_hdcp1_dp_execution(struct mod_hdcp *hdcp,
299 enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp,
303 enum mod_hdcp_status mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp,
309 enum mod_hdcp_status mod_hdcp_hdcp2_execution(struct mod_hdcp *hdcp,
312 enum mod_hdcp_status mod_hdcp_hdcp2_dp_execution(struct mod_hdcp *hdcp,
315 enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp,
319 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
392 is_dp_hdcp(struct mod_hdcp *hdcp) is_dp_hdcp() argument
397 is_dp_mst_hdcp(struct mod_hdcp *hdcp) is_dp_mst_hdcp() argument
403 is_hdmi_dvi_sl_hdcp(struct mod_hdcp *hdcp) is_hdmi_dvi_sl_hdcp() argument
409 current_state(struct mod_hdcp *hdcp) current_state() argument
414 set_state_id(struct mod_hdcp *hdcp, struct mod_hdcp_output *output, uint8_t id) set_state_id() argument
425 is_in_hdcp1_states(struct mod_hdcp *hdcp) is_in_hdcp1_states() argument
431 is_in_hdcp1_dp_states(struct mod_hdcp *hdcp) is_in_hdcp1_dp_states() argument
437 is_in_hdcp2_states(struct mod_hdcp *hdcp) is_in_hdcp2_states() argument
443 is_in_hdcp2_dp_states(struct mod_hdcp *hdcp) is_in_hdcp2_dp_states() argument
449 is_hdcp1(struct mod_hdcp *hdcp) is_hdcp1() argument
454 is_hdcp2(struct mod_hdcp *hdcp) is_hdcp2() argument
459 is_in_cp_not_desired_state(struct mod_hdcp *hdcp) is_in_cp_not_desired_state() argument
464 is_in_initialized_state(struct mod_hdcp *hdcp) is_in_initialized_state() argument
470 increment_stay_counter(struct mod_hdcp *hdcp) increment_stay_counter() argument
492 set_watchdog_in_ms(struct mod_hdcp *hdcp, uint16_t time, struct mod_hdcp_output *output) set_watchdog_in_ms() argument
510 get_active_display_count(struct mod_hdcp *hdcp) get_active_display_count() argument
521 get_first_active_display( struct mod_hdcp *hdcp) get_first_active_display() argument
535 get_active_display_at_index( struct mod_hdcp *hdcp, uint8_t index) get_active_display_at_index() argument
550 get_empty_display_container( struct mod_hdcp *hdcp) get_empty_display_container() argument
564 reset_retry_counts(struct mod_hdcp *hdcp) reset_retry_counts() argument
[all...]
H A Dhdcp2_execution.c28 #include "hdcp.h"
30 static inline enum mod_hdcp_status check_receiver_id_list_ready(struct mod_hdcp *hdcp) in check_receiver_id_list_ready() argument
34 if (is_dp_hdcp(hdcp)) in check_receiver_id_list_ready()
35 is_ready = HDCP_2_2_DP_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus_dp) ? 1 : 0; in check_receiver_id_list_ready()
37 is_ready = (HDCP_2_2_HDMI_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus[1]) && in check_receiver_id_list_ready()
38 (HDCP_2_2_HDMI_RXSTATUS_MSG_SZ_HI(hdcp->auth.msg.hdcp2.rxstatus[1]) << 8 | in check_receiver_id_list_ready()
39 hdcp->auth.msg.hdcp2.rxstatus[0])) ? 1 : 0; in check_receiver_id_list_ready()
44 static inline enum mod_hdcp_status check_hdcp2_capable(struct mod_hdcp *hdcp) in check_hdcp2_capable() argument
48 if (is_dp_hdcp(hdcp)) in check_hdcp2_capable()
49 status = (hdcp in check_hdcp2_capable()
60 check_reauthentication_request( struct mod_hdcp *hdcp) check_reauthentication_request() argument
76 check_link_integrity_failure_dp( struct mod_hdcp *hdcp) check_link_integrity_failure_dp() argument
84 check_ake_cert_available(struct mod_hdcp *hdcp) check_ake_cert_available() argument
104 check_h_prime_available(struct mod_hdcp *hdcp) check_h_prime_available() argument
128 check_pairing_info_available(struct mod_hdcp *hdcp) check_pairing_info_available() argument
152 poll_l_prime_available(struct mod_hdcp *hdcp) poll_l_prime_available() argument
181 check_stream_ready_available(struct mod_hdcp *hdcp) check_stream_ready_available() argument
202 get_device_count(struct mod_hdcp *hdcp) get_device_count() argument
208 check_device_count(struct mod_hdcp *hdcp) check_device_count() argument
216 process_rxstatus(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input, enum mod_hdcp_status *status) process_rxstatus() argument
252 known_hdcp2_capable_rx(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) known_hdcp2_capable_rx() argument
275 send_ake_init(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_ake_init() argument
302 validate_ake_cert(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_ake_cert() argument
332 send_no_stored_km(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_no_stored_km() argument
351 read_h_prime(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) read_h_prime() argument
377 read_pairing_info_and_validate_h_prime( struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) read_pairing_info_and_validate_h_prime() argument
407 send_stored_km(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_stored_km() argument
426 validate_h_prime(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_h_prime() argument
455 locality_check(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) locality_check() argument
493 exchange_ks_and_test_for_repeater(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) exchange_ks_and_test_for_repeater() argument
516 enable_encryption(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) enable_encryption() argument
553 authenticated(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) authenticated() argument
573 wait_for_rx_id_list(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) wait_for_rx_id_list() argument
596 verify_rx_id_list_and_send_ack(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) verify_rx_id_list_and_send_ack() argument
632 send_stream_management(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_stream_management() argument
667 validate_stream_ready(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_stream_ready() argument
709 determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) determine_rx_hdcp_capable_dp() argument
732 send_content_stream_type_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_content_stream_type_dp() argument
754 mod_hdcp_hdcp2_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) mod_hdcp_hdcp2_execution() argument
818 mod_hdcp_hdcp2_dp_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) mod_hdcp_hdcp2_dp_execution() argument
[all...]
H A Dhdcp1_execution.c26 #include "hdcp.h"
28 static inline enum mod_hdcp_status validate_bksv(struct mod_hdcp *hdcp) in validate_bksv() argument
34 memcpy(bksv, hdcp->auth.msg.hdcp1.bksv, sizeof(hdcp->auth.msg.hdcp1.bksv)); in validate_bksv()
45 static inline enum mod_hdcp_status check_ksv_ready(struct mod_hdcp *hdcp) in check_ksv_ready() argument
47 if (is_dp_hdcp(hdcp)) in check_ksv_ready()
48 return (hdcp->auth.msg.hdcp1.bstatus & DP_BSTATUS_READY) ? in check_ksv_ready()
51 return (hdcp->auth.msg.hdcp1.bcaps & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY) ? in check_ksv_ready()
56 static inline enum mod_hdcp_status check_hdcp_capable_dp(struct mod_hdcp *hdcp) in check_hdcp_capable_dp() argument
58 return (hdcp in check_hdcp_capable_dp()
63 check_r0p_available_dp(struct mod_hdcp *hdcp) check_r0p_available_dp() argument
77 check_link_integrity_dp( struct mod_hdcp *hdcp) check_link_integrity_dp() argument
86 check_no_reauthentication_request_dp( struct mod_hdcp *hdcp) check_no_reauthentication_request_dp() argument
94 check_no_max_cascade(struct mod_hdcp *hdcp) check_no_max_cascade() argument
109 check_no_max_devs(struct mod_hdcp *hdcp) check_no_max_devs() argument
124 get_device_count(struct mod_hdcp *hdcp) get_device_count() argument
131 check_device_count(struct mod_hdcp *hdcp) check_device_count() argument
139 wait_for_active_rx(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_active_rx() argument
162 exchange_ksvs(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) exchange_ksvs() argument
203 computations_validate_rx_test_for_repeater( struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) computations_validate_rx_test_for_repeater() argument
246 authenticated(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) authenticated() argument
265 wait_for_ready(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_ready() argument
305 read_ksv_list(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) read_ksv_list() argument
369 determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) determine_rx_hdcp_capable_dp() argument
392 wait_for_r0_prime_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_r0_prime_dp() argument
416 authenticated_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) authenticated_dp() argument
443 mod_hdcp_execute_and_set( mod_hdcp_action func, uint8_t *flag, enum mod_hdcp_status *status, struct mod_hdcp *hdcp, char *str) mod_hdcp_execute_and_set() argument
458 mod_hdcp_hdcp1_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) mod_hdcp_hdcp1_execution() argument
492 mod_hdcp_hdcp1_dp_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) mod_hdcp_hdcp1_dp_execution() argument
[all...]
H A Dhdcp_psp.c29 #include "hdcp.h"
34 static void hdcp2_message_init(struct mod_hdcp *hdcp, in hdcp2_message_init() argument
37 in->session_handle = hdcp->auth.id; in hdcp2_message_init()
48 struct mod_hdcp *hdcp, uint8_t index) in mod_hdcp_remove_display_from_topology()
50 struct psp_context *psp = hdcp->config.psp.handle; in mod_hdcp_remove_display_from_topology()
53 get_active_display_at_index(hdcp, index); in mod_hdcp_remove_display_from_topology()
76 HDCP_TOP_REMOVE_DISPLAY_TRACE(hdcp, display->index); in mod_hdcp_remove_display_from_topology()
82 enum mod_hdcp_status mod_hdcp_add_display_to_topology(struct mod_hdcp *hdcp, in mod_hdcp_add_display_to_topology() argument
85 struct psp_context *psp = hdcp->config.psp.handle; in mod_hdcp_add_display_to_topology()
87 struct mod_hdcp_link *link = &hdcp in mod_hdcp_add_display_to_topology()
47 mod_hdcp_remove_display_from_topology( struct mod_hdcp *hdcp, uint8_t index) mod_hdcp_remove_display_from_topology() argument
129 mod_hdcp_hdcp1_create_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_create_session() argument
168 mod_hdcp_hdcp1_destroy_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_destroy_session() argument
202 mod_hdcp_hdcp1_validate_rx(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_validate_rx() argument
243 mod_hdcp_hdcp1_enable_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_enable_encryption() argument
270 mod_hdcp_hdcp1_validate_ksvlist_vp(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_validate_ksvlist_vp() argument
311 mod_hdcp_hdcp1_enable_dp_stream_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_enable_dp_stream_encryption() argument
348 mod_hdcp_hdcp1_link_maintenance(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_link_maintenance() argument
374 mod_hdcp_hdcp1_get_link_encryption_status(struct mod_hdcp *hdcp, enum mod_hdcp_encryption_status *encryption_status) mod_hdcp_hdcp1_get_link_encryption_status() argument
387 mod_hdcp_hdcp2_create_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_create_session() argument
434 mod_hdcp_hdcp2_destroy_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_destroy_session() argument
467 mod_hdcp_hdcp2_prepare_ake_init(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_ake_init() argument
499 mod_hdcp_hdcp2_validate_ake_cert(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_ake_cert() argument
557 mod_hdcp_hdcp2_validate_h_prime(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_h_prime() argument
603 mod_hdcp_hdcp2_prepare_lc_init(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_lc_init() argument
636 mod_hdcp_hdcp2_validate_l_prime(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_l_prime() argument
671 mod_hdcp_hdcp2_prepare_eks(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_eks() argument
716 mod_hdcp_hdcp2_enable_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_enable_encryption() argument
747 mod_hdcp_hdcp2_validate_rx_id_list(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_rx_id_list() argument
800 mod_hdcp_hdcp2_enable_dp_stream_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_enable_dp_stream_encryption() argument
843 mod_hdcp_hdcp2_prepare_stream_management(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_stream_management() argument
880 mod_hdcp_hdcp2_validate_stream_ready(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_stream_ready() argument
[all...]
H A Dhdcp2_transition.c26 #include "hdcp.h"
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()
369 mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input, struct mod_hdcp_output *output) mod_hdcp_hdcp2_dp_transition() argument
[all...]
H A Dhdcp1_transition.c26 #include "hdcp.h"
28 enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp, in mod_hdcp_hdcp1_transition() argument
34 struct mod_hdcp_connection *conn = &hdcp->connection; in mod_hdcp_hdcp1_transition()
35 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust; in mod_hdcp_hdcp1_transition()
37 switch (current_state(hdcp)) { in mod_hdcp_hdcp1_transition()
42 increment_stay_counter(hdcp); in mod_hdcp_hdcp1_transition()
46 set_state_id(hdcp, output, H1_A1_EXCHANGE_KSVS); in mod_hdcp_hdcp1_transition()
64 set_state_id(hdcp, output, in mod_hdcp_hdcp1_transition()
87 set_watchdog_in_ms(hdcp, 5000, output); in mod_hdcp_hdcp1_transition()
88 set_state_id(hdcp, outpu in mod_hdcp_hdcp1_transition()
151 mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input, struct mod_hdcp_output *output) mod_hdcp_hdcp1_dp_transition() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/modules/hdcp/
H A Dhdcp_log.h29 #define HDCP_LOG_ERR(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
30 #define HDCP_LOG_VER(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
31 #define HDCP_LOG_FSM(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
32 #define HDCP_LOG_TOP(hdcp, ...) pr_debug("[HDCP_TOP]:"__VA_ARGS__)
33 #define HDCP_LOG_DDC(hdcp, ...) pr_debug("[HDCP_DDC]:"__VA_ARGS__)
36 #define HDCP_ERROR_TRACE(hdcp, status) \
37 HDCP_LOG_ERR(hdcp, \
39 hdcp->config.index, \
41 mod_hdcp_state_id_to_str(hdcp->state.id), \
42 hdcp
[all...]
H A Dhdcp_ddc.c26 #include "hdcp.h"
150 static enum mod_hdcp_status read(struct mod_hdcp *hdcp, in read() argument
159 if (is_dp_hdcp(hdcp)) { in read()
162 success = hdcp->config.ddc.funcs.read_dpcd(hdcp->config.ddc.handle, in read()
174 success = hdcp->config.ddc.funcs.read_i2c( in read()
175 hdcp->config.ddc.handle, in read()
185 static enum mod_hdcp_status read_repeatedly(struct mod_hdcp *hdcp, in read_repeatedly() argument
197 status = read(hdcp, msg_id, buf + data_offset, cur_size); in read_repeatedly()
209 static enum mod_hdcp_status write(struct mod_hdcp *hdcp, in write() argument
246 mod_hdcp_read_bksv(struct mod_hdcp *hdcp) mod_hdcp_read_bksv() argument
253 mod_hdcp_read_bcaps(struct mod_hdcp *hdcp) mod_hdcp_read_bcaps() argument
260 mod_hdcp_read_bstatus(struct mod_hdcp *hdcp) mod_hdcp_read_bstatus() argument
275 mod_hdcp_read_r0p(struct mod_hdcp *hdcp) mod_hdcp_read_r0p() argument
283 mod_hdcp_read_ksvlist(struct mod_hdcp *hdcp) mod_hdcp_read_ksvlist() argument
299 mod_hdcp_read_vp(struct mod_hdcp *hdcp) mod_hdcp_read_vp() argument
329 mod_hdcp_read_binfo(struct mod_hdcp *hdcp) mod_hdcp_read_binfo() argument
343 mod_hdcp_write_aksv(struct mod_hdcp *hdcp) mod_hdcp_write_aksv() argument
350 mod_hdcp_write_ainfo(struct mod_hdcp *hdcp) mod_hdcp_write_ainfo() argument
357 mod_hdcp_write_an(struct mod_hdcp *hdcp) mod_hdcp_write_an() argument
364 mod_hdcp_read_hdcp2version(struct mod_hdcp *hdcp) mod_hdcp_read_hdcp2version() argument
378 mod_hdcp_read_rxcaps(struct mod_hdcp *hdcp) mod_hdcp_read_rxcaps() argument
392 mod_hdcp_read_rxstatus(struct mod_hdcp *hdcp) mod_hdcp_read_rxstatus() argument
408 mod_hdcp_read_ake_cert(struct mod_hdcp *hdcp) mod_hdcp_read_ake_cert() argument
426 mod_hdcp_read_h_prime(struct mod_hdcp *hdcp) mod_hdcp_read_h_prime() argument
444 mod_hdcp_read_pairing_info(struct mod_hdcp *hdcp) mod_hdcp_read_pairing_info() argument
462 mod_hdcp_read_l_prime(struct mod_hdcp *hdcp) mod_hdcp_read_l_prime() argument
480 mod_hdcp_read_rx_id_list(struct mod_hdcp *hdcp) mod_hdcp_read_rx_id_list() argument
511 mod_hdcp_read_stream_ready(struct mod_hdcp *hdcp) mod_hdcp_read_stream_ready() argument
529 mod_hdcp_write_ake_init(struct mod_hdcp *hdcp) mod_hdcp_write_ake_init() argument
544 mod_hdcp_write_no_stored_km(struct mod_hdcp *hdcp) mod_hdcp_write_no_stored_km() argument
559 mod_hdcp_write_stored_km(struct mod_hdcp *hdcp) mod_hdcp_write_stored_km() argument
574 mod_hdcp_write_lc_init(struct mod_hdcp *hdcp) mod_hdcp_write_lc_init() argument
589 mod_hdcp_write_eks(struct mod_hdcp *hdcp) mod_hdcp_write_eks() argument
606 mod_hdcp_write_repeater_auth_ack(struct mod_hdcp *hdcp) mod_hdcp_write_repeater_auth_ack() argument
621 mod_hdcp_write_stream_manage(struct mod_hdcp *hdcp) mod_hdcp_write_stream_manage() argument
638 mod_hdcp_write_content_type(struct mod_hdcp *hdcp) mod_hdcp_write_content_type() argument
651 mod_hdcp_clear_cp_irq_status(struct mod_hdcp *hdcp) mod_hdcp_clear_cp_irq_status() argument
[all...]
H A Dhdcp.c26 #include "hdcp.h"
28 static void push_error_status(struct mod_hdcp *hdcp, in push_error_status() argument
31 struct mod_hdcp_trace *trace = &hdcp->connection.trace; in push_error_status()
35 trace->errors[trace->error_count].state_id = hdcp->state.id; in push_error_status()
37 HDCP_ERROR_TRACE(hdcp, status); in push_error_status()
40 if (is_hdcp1(hdcp)) { in push_error_status()
41 hdcp->connection.hdcp1_retry_count++; in push_error_status()
42 if (hdcp->connection.hdcp1_retry_count == MAX_NUM_OF_ATTEMPTS) in push_error_status()
43 hdcp->connection.link.adjust.hdcp1.disable = 1; in push_error_status()
44 } else if (is_hdcp2(hdcp)) { in push_error_status()
51 is_cp_desired_hdcp1(struct mod_hdcp *hdcp) is_cp_desired_hdcp1() argument
71 is_cp_desired_hdcp2(struct mod_hdcp *hdcp) is_cp_desired_hdcp2() argument
91 execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, union mod_hdcp_transition_input *input) execution() argument
127 transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, union mod_hdcp_transition_input *input, struct mod_hdcp_output *output) transition() argument
188 reset_authentication(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) reset_authentication() argument
234 reset_connection(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) reset_connection() argument
254 update_display_adjustments(struct mod_hdcp *hdcp, struct mod_hdcp_display *display, struct mod_hdcp_display_adjustment *adj) update_display_adjustments() argument
289 mod_hdcp_setup(struct mod_hdcp *hdcp, struct mod_hdcp_config *config) mod_hdcp_setup() argument
304 mod_hdcp_teardown(struct mod_hdcp *hdcp) mod_hdcp_teardown() argument
319 mod_hdcp_add_display(struct mod_hdcp *hdcp, struct mod_hdcp_link *link, struct mod_hdcp_display *display, struct mod_hdcp_output *output) mod_hdcp_add_display() argument
378 mod_hdcp_remove_display(struct mod_hdcp *hdcp, uint8_t index, struct mod_hdcp_output *output) mod_hdcp_remove_display() argument
421 mod_hdcp_update_display(struct mod_hdcp *hdcp, uint8_t index, struct mod_hdcp_link_adjustment *link_adjust, struct mod_hdcp_display_adjustment *display_adjust, struct mod_hdcp_output *output) mod_hdcp_update_display() argument
484 mod_hdcp_query_display(struct mod_hdcp *hdcp, uint8_t index, struct mod_hdcp_display_query *query) mod_hdcp_query_display() argument
522 mod_hdcp_reset_connection(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) mod_hdcp_reset_connection() argument
535 mod_hdcp_process_event(struct mod_hdcp *hdcp, enum mod_hdcp_event event, struct mod_hdcp_output *output) mod_hdcp_process_event() argument
[all...]
H A Dhdcp.h289 typedef enum mod_hdcp_status (*mod_hdcp_action)(struct mod_hdcp *hdcp);
292 enum mod_hdcp_status *status, struct mod_hdcp *hdcp, char *str);
293 enum mod_hdcp_status mod_hdcp_hdcp1_execution(struct mod_hdcp *hdcp,
296 enum mod_hdcp_status mod_hdcp_hdcp1_dp_execution(struct mod_hdcp *hdcp,
299 enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp,
303 enum mod_hdcp_status mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp,
309 enum mod_hdcp_status mod_hdcp_hdcp2_execution(struct mod_hdcp *hdcp,
312 enum mod_hdcp_status mod_hdcp_hdcp2_dp_execution(struct mod_hdcp *hdcp,
315 enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp,
319 enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
391 is_dp_hdcp(struct mod_hdcp *hdcp) is_dp_hdcp() argument
396 is_dp_mst_hdcp(struct mod_hdcp *hdcp) is_dp_mst_hdcp() argument
402 is_hdmi_dvi_sl_hdcp(struct mod_hdcp *hdcp) is_hdmi_dvi_sl_hdcp() argument
408 current_state(struct mod_hdcp *hdcp) current_state() argument
413 set_state_id(struct mod_hdcp *hdcp, struct mod_hdcp_output *output, uint8_t id) set_state_id() argument
424 is_in_hdcp1_states(struct mod_hdcp *hdcp) is_in_hdcp1_states() argument
430 is_in_hdcp1_dp_states(struct mod_hdcp *hdcp) is_in_hdcp1_dp_states() argument
436 is_in_hdcp2_states(struct mod_hdcp *hdcp) is_in_hdcp2_states() argument
442 is_in_hdcp2_dp_states(struct mod_hdcp *hdcp) is_in_hdcp2_dp_states() argument
448 is_in_authenticated_states(struct mod_hdcp *hdcp) is_in_authenticated_states() argument
456 is_hdcp1(struct mod_hdcp *hdcp) is_hdcp1() argument
461 is_hdcp2(struct mod_hdcp *hdcp) is_hdcp2() argument
466 is_in_cp_not_desired_state(struct mod_hdcp *hdcp) is_in_cp_not_desired_state() argument
471 is_in_initialized_state(struct mod_hdcp *hdcp) is_in_initialized_state() argument
477 increment_stay_counter(struct mod_hdcp *hdcp) increment_stay_counter() argument
499 set_watchdog_in_ms(struct mod_hdcp *hdcp, uint16_t time, struct mod_hdcp_output *output) set_watchdog_in_ms() argument
506 set_auth_complete(struct mod_hdcp *hdcp, struct mod_hdcp_output *output) set_auth_complete() argument
524 get_active_display_count(struct mod_hdcp *hdcp) get_active_display_count() argument
535 get_first_active_display( struct mod_hdcp *hdcp) get_first_active_display() argument
549 get_active_display_at_index( struct mod_hdcp *hdcp, uint8_t index) get_active_display_at_index() argument
564 get_empty_display_container( struct mod_hdcp *hdcp) get_empty_display_container() argument
578 reset_retry_counts(struct mod_hdcp *hdcp) reset_retry_counts() argument
[all...]
H A Dhdcp_log.c27 #include "hdcp.h"
54 void mod_hdcp_log_ddc_trace(struct mod_hdcp *hdcp) in mod_hdcp_log_ddc_trace() argument
56 if (is_hdcp1(hdcp)) { in mod_hdcp_log_ddc_trace()
57 HDCP_DDC_READ_TRACE(hdcp, "BKSV", hdcp->auth.msg.hdcp1.bksv, in mod_hdcp_log_ddc_trace()
58 sizeof(hdcp->auth.msg.hdcp1.bksv)); in mod_hdcp_log_ddc_trace()
59 HDCP_DDC_READ_TRACE(hdcp, "BCAPS", &hdcp->auth.msg.hdcp1.bcaps, in mod_hdcp_log_ddc_trace()
60 sizeof(hdcp->auth.msg.hdcp1.bcaps)); in mod_hdcp_log_ddc_trace()
61 HDCP_DDC_READ_TRACE(hdcp, "BSTATU in mod_hdcp_log_ddc_trace()
[all...]
H A Dhdcp2_execution.c28 #include "hdcp.h"
30 static inline enum mod_hdcp_status check_receiver_id_list_ready(struct mod_hdcp *hdcp) in check_receiver_id_list_ready() argument
34 if (is_dp_hdcp(hdcp)) in check_receiver_id_list_ready()
35 is_ready = HDCP_2_2_DP_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus_dp) ? 1 : 0; in check_receiver_id_list_ready()
37 is_ready = (HDCP_2_2_HDMI_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus[1]) && in check_receiver_id_list_ready()
38 (HDCP_2_2_HDMI_RXSTATUS_MSG_SZ_HI(hdcp->auth.msg.hdcp2.rxstatus[1]) << 8 | in check_receiver_id_list_ready()
39 hdcp->auth.msg.hdcp2.rxstatus[0])) ? 1 : 0; in check_receiver_id_list_ready()
44 static inline enum mod_hdcp_status check_hdcp2_capable(struct mod_hdcp *hdcp) in check_hdcp2_capable() argument
48 if (is_dp_hdcp(hdcp)) in check_hdcp2_capable()
49 status = (hdcp in check_hdcp2_capable()
60 check_reauthentication_request( struct mod_hdcp *hdcp) check_reauthentication_request() argument
76 check_link_integrity_failure_dp( struct mod_hdcp *hdcp) check_link_integrity_failure_dp() argument
84 check_ake_cert_available(struct mod_hdcp *hdcp) check_ake_cert_available() argument
104 check_h_prime_available(struct mod_hdcp *hdcp) check_h_prime_available() argument
128 check_pairing_info_available(struct mod_hdcp *hdcp) check_pairing_info_available() argument
152 poll_l_prime_available(struct mod_hdcp *hdcp) poll_l_prime_available() argument
181 check_stream_ready_available(struct mod_hdcp *hdcp) check_stream_ready_available() argument
202 get_device_count(struct mod_hdcp *hdcp) get_device_count() argument
208 check_device_count(struct mod_hdcp *hdcp) check_device_count() argument
224 process_rxstatus(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input, enum mod_hdcp_status *status) process_rxstatus() argument
260 known_hdcp2_capable_rx(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) known_hdcp2_capable_rx() argument
283 send_ake_init(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_ake_init() argument
310 validate_ake_cert(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_ake_cert() argument
340 send_no_stored_km(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_no_stored_km() argument
359 read_h_prime(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) read_h_prime() argument
385 read_pairing_info_and_validate_h_prime( struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) read_pairing_info_and_validate_h_prime() argument
415 send_stored_km(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_stored_km() argument
434 validate_h_prime(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_h_prime() argument
463 locality_check(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) locality_check() argument
501 exchange_ks_and_test_for_repeater(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) exchange_ks_and_test_for_repeater() argument
524 enable_encryption(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) enable_encryption() argument
561 authenticated(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) authenticated() argument
578 wait_for_rx_id_list(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) wait_for_rx_id_list() argument
601 verify_rx_id_list_and_send_ack(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) verify_rx_id_list_and_send_ack() argument
637 send_stream_management(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_stream_management() argument
672 validate_stream_ready(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) validate_stream_ready() argument
714 determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) determine_rx_hdcp_capable_dp() argument
737 send_content_stream_type_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) send_content_stream_type_dp() argument
759 mod_hdcp_hdcp2_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) mod_hdcp_hdcp2_execution() argument
823 mod_hdcp_hdcp2_dp_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input) mod_hdcp_hdcp2_dp_execution() argument
[all...]
H A Dhdcp1_execution.c26 #include "hdcp.h"
28 static inline enum mod_hdcp_status validate_bksv(struct mod_hdcp *hdcp) in validate_bksv() argument
34 memcpy(bksv, hdcp->auth.msg.hdcp1.bksv, sizeof(hdcp->auth.msg.hdcp1.bksv)); in validate_bksv()
45 static inline enum mod_hdcp_status check_ksv_ready(struct mod_hdcp *hdcp) in check_ksv_ready() argument
47 if (is_dp_hdcp(hdcp)) in check_ksv_ready()
48 return (hdcp->auth.msg.hdcp1.bstatus & DP_BSTATUS_READY) ? in check_ksv_ready()
51 return (hdcp->auth.msg.hdcp1.bcaps & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY) ? in check_ksv_ready()
56 static inline enum mod_hdcp_status check_hdcp_capable_dp(struct mod_hdcp *hdcp) in check_hdcp_capable_dp() argument
58 return (hdcp in check_hdcp_capable_dp()
63 check_r0p_available_dp(struct mod_hdcp *hdcp) check_r0p_available_dp() argument
77 check_link_integrity_dp( struct mod_hdcp *hdcp) check_link_integrity_dp() argument
86 check_no_reauthentication_request_dp( struct mod_hdcp *hdcp) check_no_reauthentication_request_dp() argument
94 check_no_max_cascade(struct mod_hdcp *hdcp) check_no_max_cascade() argument
109 check_no_max_devs(struct mod_hdcp *hdcp) check_no_max_devs() argument
124 get_device_count(struct mod_hdcp *hdcp) get_device_count() argument
131 check_device_count(struct mod_hdcp *hdcp) check_device_count() argument
148 wait_for_active_rx(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_active_rx() argument
171 exchange_ksvs(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) exchange_ksvs() argument
212 computations_validate_rx_test_for_repeater( struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) computations_validate_rx_test_for_repeater() argument
255 authenticated(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) authenticated() argument
273 wait_for_ready(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_ready() argument
313 read_ksv_list(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) read_ksv_list() argument
377 determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) determine_rx_hdcp_capable_dp() argument
400 wait_for_r0_prime_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) wait_for_r0_prime_dp() argument
424 authenticated_dp(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) authenticated_dp() argument
451 mod_hdcp_execute_and_set( mod_hdcp_action func, uint8_t *flag, enum mod_hdcp_status *status, struct mod_hdcp *hdcp, char *str) mod_hdcp_execute_and_set() argument
466 mod_hdcp_hdcp1_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) mod_hdcp_hdcp1_execution() argument
500 mod_hdcp_hdcp1_dp_execution(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input) mod_hdcp_hdcp1_dp_execution() argument
[all...]
H A Dhdcp_psp.c29 #include "hdcp.h"
34 static void hdcp2_message_init(struct mod_hdcp *hdcp, in hdcp2_message_init() argument
37 in->session_handle = hdcp->auth.id; in hdcp2_message_init()
49 struct mod_hdcp *hdcp, uint8_t index) in remove_display_from_topology_v2()
51 struct psp_context *psp = hdcp->config.psp.handle; in remove_display_from_topology_v2()
54 get_active_display_at_index(hdcp, index); in remove_display_from_topology_v2()
77 HDCP_TOP_REMOVE_DISPLAY_TRACE(hdcp, display->index); in remove_display_from_topology_v2()
85 struct mod_hdcp *hdcp, uint8_t index) in remove_display_from_topology_v3()
87 struct psp_context *psp = hdcp->config.psp.handle; in remove_display_from_topology_v3()
90 get_active_display_at_index(hdcp, inde in remove_display_from_topology_v3()
48 remove_display_from_topology_v2( struct mod_hdcp *hdcp, uint8_t index) remove_display_from_topology_v2() argument
84 remove_display_from_topology_v3( struct mod_hdcp *hdcp, uint8_t index) remove_display_from_topology_v3() argument
122 add_display_to_topology_v2( struct mod_hdcp *hdcp, struct mod_hdcp_display *display) add_display_to_topology_v2() argument
169 add_display_to_topology_v3( struct mod_hdcp *hdcp, struct mod_hdcp_display *display) add_display_to_topology_v3() argument
224 mod_hdcp_remove_display_from_topology( struct mod_hdcp *hdcp, uint8_t index) mod_hdcp_remove_display_from_topology() argument
237 mod_hdcp_add_display_to_topology(struct mod_hdcp *hdcp, struct mod_hdcp_display *display) mod_hdcp_add_display_to_topology() argument
250 mod_hdcp_hdcp1_create_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_create_session() argument
289 mod_hdcp_hdcp1_destroy_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_destroy_session() argument
323 mod_hdcp_hdcp1_validate_rx(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_validate_rx() argument
364 mod_hdcp_hdcp1_enable_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_enable_encryption() argument
391 mod_hdcp_hdcp1_validate_ksvlist_vp(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_validate_ksvlist_vp() argument
432 mod_hdcp_hdcp1_enable_dp_stream_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_enable_dp_stream_encryption() argument
469 mod_hdcp_hdcp1_link_maintenance(struct mod_hdcp *hdcp) mod_hdcp_hdcp1_link_maintenance() argument
495 mod_hdcp_hdcp2_create_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_create_session() argument
542 mod_hdcp_hdcp2_destroy_session(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_destroy_session() argument
575 mod_hdcp_hdcp2_prepare_ake_init(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_ake_init() argument
607 mod_hdcp_hdcp2_validate_ake_cert(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_ake_cert() argument
667 mod_hdcp_hdcp2_validate_h_prime(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_h_prime() argument
713 mod_hdcp_hdcp2_prepare_lc_init(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_lc_init() argument
746 mod_hdcp_hdcp2_validate_l_prime(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_l_prime() argument
781 mod_hdcp_hdcp2_prepare_eks(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_eks() argument
826 mod_hdcp_hdcp2_enable_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_enable_encryption() argument
857 mod_hdcp_hdcp2_validate_rx_id_list(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_rx_id_list() argument
910 mod_hdcp_hdcp2_enable_dp_stream_encryption(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_enable_dp_stream_encryption() argument
953 mod_hdcp_hdcp2_prepare_stream_management(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_prepare_stream_management() argument
990 mod_hdcp_hdcp2_validate_stream_ready(struct mod_hdcp *hdcp) mod_hdcp_hdcp2_validate_stream_ready() argument
[all...]
H A Dhdcp2_transition.c26 #include "hdcp.h"
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()
369 mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp2 *input, struct mod_hdcp_output *output) mod_hdcp_hdcp2_dp_transition() argument
[all...]
H A Dhdcp1_transition.c26 #include "hdcp.h"
28 enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp, in mod_hdcp_hdcp1_transition() argument
34 struct mod_hdcp_connection *conn = &hdcp->connection; in mod_hdcp_hdcp1_transition()
35 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust; in mod_hdcp_hdcp1_transition()
37 switch (current_state(hdcp)) { in mod_hdcp_hdcp1_transition()
42 increment_stay_counter(hdcp); in mod_hdcp_hdcp1_transition()
46 set_state_id(hdcp, output, H1_A1_EXCHANGE_KSVS); in mod_hdcp_hdcp1_transition()
64 set_state_id(hdcp, output, in mod_hdcp_hdcp1_transition()
87 set_watchdog_in_ms(hdcp, 5000, output); in mod_hdcp_hdcp1_transition()
88 set_state_id(hdcp, outpu in mod_hdcp_hdcp1_transition()
151 mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp, struct mod_hdcp_event_context *event_ctx, struct mod_hdcp_transition_input_hdcp1 *input, struct mod_hdcp_output *output) mod_hdcp_hdcp1_dp_transition() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/
H A Dintel_hdcp.c97 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_prepare_streams() local
100 data->streams[0].stream_type = hdcp->content_type; in intel_hdcp_prepare_streams()
146 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_hdcp_capable()
168 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_capable() local
172 if (!hdcp->hdcp2_supported) in intel_hdcp2_capable()
188 mutex_lock(&i915->display.hdcp.hdcp_mutex); in intel_hdcp2_capable()
189 if (!i915->display.hdcp.comp_added || !i915->display.hdcp in intel_hdcp2_capable()
710 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_auth() local
882 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp_disable() local
936 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp_enable() local
978 intel_hdcp_to_connector(struct intel_hdcp *hdcp) intel_hdcp_to_connector() argument
988 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_update_value() local
1017 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_check_link() local
1085 struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp, intel_hdcp_prop_work() local
1420 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authentication_key_exchange() local
1508 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_locality_check() local
1544 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_session_key_exchange() local
1565 struct intel_hdcp *hdcp = &connector->hdcp; _hdcp2_propagate_stream_management_info() local
1615 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authenticate_repeater_topology() local
1690 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authenticate_sink() local
1738 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_enable_stream_encryption() local
1778 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_enable_encryption() local
1817 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_disable_encryption() local
1936 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp2_enable() local
1964 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp2_disable() local
2001 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp2_check_link() local
2093 struct intel_hdcp *hdcp = container_of(to_delayed_work(work), intel_hdcp_check_work() local
2248 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp2_init() local
2265 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_init() local
2347 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_enable() local
2421 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_disable() local
2454 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_update_pipe() local
2527 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_cleanup() local
2611 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_handle_cp_irq() local
[all...]
H A Dintel_dp_hdcp.c39 static void intel_dp_hdcp_wait_for_cp_irq(struct intel_hdcp *hdcp, int timeout) in intel_dp_hdcp_wait_for_cp_irq() argument
43 #define C (hdcp->cp_irq_count_cached != atomic_read(&hdcp->cp_irq_count)) in intel_dp_hdcp_wait_for_cp_irq()
44 ret = wait_event_interruptible_timeout(hdcp->cp_irq_queue, C, in intel_dp_hdcp_wait_for_cp_irq()
391 struct intel_hdcp *hdcp = &dp->attached_connector->hdcp; in intel_dp_hdcp2_wait_for_msg() local
396 if (msg_id == HDCP_2_2_AKE_SEND_HPRIME && !hdcp->is_paired) in intel_dp_hdcp2_wait_for_msg()
413 intel_dp_hdcp_wait_for_cp_irq(hdcp, timeout); in intel_dp_hdcp2_wait_for_msg()
502 struct intel_hdcp *hdcp = &dp->attached_connector->hdcp; in intel_dp_hdcp2_read_msg() local
671 struct intel_hdcp *hdcp = &connector->hdcp; intel_dp_mst_toggle_hdcp_stream_select() local
689 struct intel_hdcp *hdcp = &connector->hdcp; intel_dp_mst_hdcp_stream_encryption() local
724 struct intel_hdcp *hdcp = &connector->hdcp; intel_dp_mst_hdcp2_stream_encryption() local
756 struct intel_hdcp *hdcp = &connector->hdcp; intel_dp_mst_hdcp2_check_link() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/
H A Dintel_hdcp.c69 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_hdcp_capable()
91 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_capable() local
95 if (!hdcp->hdcp2_supported) in intel_hdcp2_capable()
107 hdcp->shim->hdcp_2_2_capable(dig_port, &capable); in intel_hdcp2_capable()
169 * Another req for hdcp key loadability is enabled state of pll for in hdcp_key_loadable()
296 enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder; in intel_hdcp_validate_v_prime()
538 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_hdcp_auth_downstream()
621 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_auth() local
786 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp_disable() local
836 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp_enable() local
878 intel_hdcp_to_connector(struct intel_hdcp *hdcp) intel_hdcp_to_connector() argument
888 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_update_value() local
916 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_check_link() local
984 struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp, intel_hdcp_prop_work() local
1307 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authentication_key_exchange() local
1395 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_locality_check() local
1431 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_session_key_exchange() local
1452 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_propagate_stream_management_info() local
1504 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authenticate_repeater_topology() local
1582 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_authenticate_sink() local
1634 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_enable_encryption() local
1674 struct intel_hdcp *hdcp = &connector->hdcp; hdcp2_disable_encryption() local
1745 struct intel_hdcp *hdcp = &connector->hdcp; _intel_hdcp2_enable() local
1790 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp2_check_link() local
1879 struct intel_hdcp *hdcp = container_of(to_delayed_work(work), intel_hdcp_check_work() local
1952 struct intel_hdcp *hdcp = &connector->hdcp; initialize_hdcp_port_data() local
2030 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp2_init() local
2047 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_init() local
2079 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_enable() local
2130 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_disable() local
2163 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_update_pipe() local
2234 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_cleanup() local
2319 struct intel_hdcp *hdcp = &connector->hdcp; intel_hdcp_handle_cp_irq() local
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/bridge/cadence/
H A Dcdns-mhdp8546-hdcp.c16 #include "cdns-mhdp8546-hdcp.h"
438 mutex_lock(&mhdp->hdcp.mutex); in cdns_mhdp_hdcp_check_link()
439 if (mhdp->hdcp.value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED) in cdns_mhdp_hdcp_check_link()
452 mhdp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in cdns_mhdp_hdcp_check_link()
453 schedule_work(&mhdp->hdcp.prop_work); in cdns_mhdp_hdcp_check_link()
457 ret = _cdns_mhdp_hdcp_enable(mhdp, mhdp->hdcp.hdcp_content_type); in cdns_mhdp_hdcp_check_link()
459 mhdp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in cdns_mhdp_hdcp_check_link()
460 schedule_work(&mhdp->hdcp.prop_work); in cdns_mhdp_hdcp_check_link()
463 mutex_unlock(&mhdp->hdcp.mutex); in cdns_mhdp_hdcp_check_link()
470 struct cdns_mhdp_hdcp *hdcp in cdns_mhdp_hdcp_check_work() local
484 struct cdns_mhdp_hdcp *hdcp = container_of(work, cdns_mhdp_hdcp_prop_work() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
H A Damdgpu_dm_hdcp.c83 DRM_WARN("Failed to get hdcp srm. HDCP TA is not initialized."); in psp_get_srm()
109 DRM_WARN("Failed to get hdcp srm. HDCP TA is not initialized."); in psp_set_srm()
178 mod_hdcp_query_display(&hdcp_w->hdcp, aconnector->base.index, &query); in hdcp_update_display()
182 mod_hdcp_remove_display(&hdcp_w->hdcp, aconnector->base.index, &hdcp_w->output); in hdcp_update_display()
187 /* Explicitly set the saved SRM as sysfs call will be after we already enabled hdcp in hdcp_update_display()
191 psp_set_srm(hdcp_work->hdcp.config.psp.handle, hdcp_work->srm, hdcp_work->srm_size, in hdcp_update_display()
214 mod_hdcp_add_display(&hdcp_w->hdcp, link, display, &hdcp_w->output); in hdcp_update_display()
229 mod_hdcp_remove_display(&hdcp_w->hdcp, aconnector->base.index, &hdcp_w->output); in hdcp_remove_display()
240 mod_hdcp_reset_connection(&hdcp_w->hdcp, &hdcp_w->output); in hdcp_reset_display()
271 mod_hdcp_process_event(&hdcp_work->hdcp, MOD_HDCP_EVENT_CALLBAC in event_callback()
399 struct mod_hdcp hdcp = hdcp_work->hdcp; enable_assr() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/modules/inc/
H A Dmod_hdcp.h201 /* per link events dm has to notify to hdcp module */
243 /* a query structure for a display's hdcp information */
264 enum mod_hdcp_status mod_hdcp_setup(struct mod_hdcp *hdcp,
268 enum mod_hdcp_status mod_hdcp_teardown(struct mod_hdcp *hdcp);
271 enum mod_hdcp_status mod_hdcp_add_display(struct mod_hdcp *hdcp,
276 enum mod_hdcp_status mod_hdcp_remove_display(struct mod_hdcp *hdcp,
279 /* called to query hdcp information on a specific index */
280 enum mod_hdcp_status mod_hdcp_query_display(struct mod_hdcp *hdcp,
284 enum mod_hdcp_status mod_hdcp_reset_connection(struct mod_hdcp *hdcp,
288 enum mod_hdcp_status mod_hdcp_process_event(struct mod_hdcp *hdcp,
[all...]

Completed in 22 milliseconds

123