sys/dev/pci/drm/amd/amdgpu/amdgpu_psp.c
3901
le32_to_cpu(ta_hdr->hdcp.fw_version);
sys/dev/pci/drm/amd/amdgpu/amdgpu_psp.c
3903
le32_to_cpu(ta_hdr->hdcp.size_bytes);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ucode.h
155
struct psp_fw_legacy_bin_desc hdcp;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
219
psp_set_srm(hdcp_work->hdcp.config.psp.handle, hdcp_work->srm,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
243
mod_hdcp_update_display(&hdcp_w->hdcp, conn_index, &link_adjust, &display_adjust, &hdcp_w->output);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
271
mod_hdcp_remove_display(&hdcp_w->hdcp, aconnector->base.index, &hdcp_w->output);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
286
mod_hdcp_reset_connection(&hdcp_w->hdcp, &hdcp_w->output);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
320
mod_hdcp_process_event(&hdcp_work->hdcp, MOD_HDCP_EVENT_CALLBACK,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
421
mod_hdcp_query_display(&hdcp_work->hdcp, aconnector->base.index,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
458
mod_hdcp_process_event(&hdcp_work->hdcp,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
473
mod_hdcp_process_event(&hdcp_work->hdcp, MOD_HDCP_EVENT_CPIRQ, &hdcp_work->output);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
497
struct mod_hdcp hdcp = hdcp_work->hdcp;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
498
struct psp_context *psp = hdcp.config.psp.handle;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
588
mod_hdcp_add_display(&hdcp_w->hdcp, link, display, &hdcp_w->output);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
656
if (!psp_set_srm(work->hdcp.config.psp.handle, work->srm_temp, pos + count, &srm_version)) {
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
682
srm = psp_get_srm(work->hdcp.config.psp.handle, &srm_version, &srm_size);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
769
struct mod_hdcp_config *config = &hdcp_work[i].hdcp.config;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.h
50
struct mod_hdcp hdcp;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
105
} else if (is_in_cp_not_desired_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
110
} else if (is_in_hdcp1_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
111
status = mod_hdcp_hdcp1_execution(hdcp, event_ctx, &input->hdcp1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
112
} else if (is_in_hdcp1_dp_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
113
status = mod_hdcp_hdcp1_dp_execution(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
115
} else if (is_in_hdcp2_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
116
status = mod_hdcp_hdcp2_execution(hdcp, event_ctx, &input->hdcp2);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
117
} else if (is_in_hdcp2_dp_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
118
status = mod_hdcp_hdcp2_dp_execution(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
128
static enum mod_hdcp_status transition(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
138
if (is_in_initialized_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
139
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
140
if (is_cp_desired_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
142
set_state_id(hdcp, output, D2_A0_DETERMINE_RX_HDCP_CAPABLE);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
143
} else if (is_cp_desired_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
145
set_state_id(hdcp, output, D1_A0_DETERMINE_RX_HDCP_CAPABLE);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
148
set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
149
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
151
else if (is_hdmi_dvi_sl_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
152
if (is_cp_desired_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
154
set_state_id(hdcp, output, H2_A0_KNOWN_HDCP2_CAPABLE_RX);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
155
} else if (is_cp_desired_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
157
set_state_id(hdcp, output, H1_A0_WAIT_FOR_ACTIVE_RX);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
160
set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
161
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
165
set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
166
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
168
} else if (is_in_cp_not_desired_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
169
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
170
} else if (is_in_hdcp1_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
171
status = mod_hdcp_hdcp1_transition(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
173
} else if (is_in_hdcp1_dp_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
174
status = mod_hdcp_hdcp1_dp_transition(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
176
} else if (is_in_hdcp2_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
177
status = mod_hdcp_hdcp2_transition(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
179
} else if (is_in_hdcp2_dp_states(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
180
status = mod_hdcp_hdcp2_dp_transition(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
189
static enum mod_hdcp_status reset_authentication(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
194
if (is_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
195
if (hdcp->auth.trans_input.hdcp1.create_session != UNKNOWN) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
199
mod_hdcp_hdcp1_destroy_session(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
203
HDCP_TOP_RESET_AUTH_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
204
memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
205
memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
206
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
207
} else if (is_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
208
if (hdcp->auth.trans_input.hdcp2.create_session == PASS) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
209
status = mod_hdcp_hdcp2_destroy_session(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
217
HDCP_TOP_RESET_AUTH_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
218
memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
219
memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
220
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
221
} else if (is_in_cp_not_desired_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
222
HDCP_TOP_RESET_AUTH_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
223
memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
224
memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
225
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
235
static enum mod_hdcp_status reset_connection(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
242
status = reset_authentication(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
246
if (current_state(hdcp) != HDCP_UNINITIALIZED) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
247
HDCP_TOP_RESET_CONN_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
248
set_state_id(hdcp, output, HDCP_UNINITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
250
memset(&hdcp->connection, 0, sizeof(hdcp->connection));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
255
static enum mod_hdcp_status update_display_adjustments(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
261
if (is_in_authenticated_states(hdcp) &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
262
is_dp_mst_hdcp(hdcp) &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
266
if (is_hdcp1(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
267
status = mod_hdcp_hdcp1_enable_dp_stream_encryption(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
268
else if (is_hdcp2(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
269
status = mod_hdcp_hdcp2_enable_dp_stream_encryption(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
28
static void push_error_status(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
290
enum mod_hdcp_status mod_hdcp_setup(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
297
hdcp->config = *config;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
298
HDCP_TOP_INTERFACE_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
299
status = reset_connection(hdcp, &output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
301
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
305
enum mod_hdcp_status mod_hdcp_teardown(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
31
struct mod_hdcp_trace *trace = &hdcp->connection.trace;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
310
HDCP_TOP_INTERFACE_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
312
status = reset_connection(hdcp, &output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
314
memset(hdcp, 0, sizeof(struct mod_hdcp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
316
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
32
const uint8_t retry_limit = hdcp->connection.link.adjust.retry_limit;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
320
enum mod_hdcp_status mod_hdcp_add_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
327
HDCP_TOP_INTERFACE_TRACE_WITH_INDEX(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
337
if (get_active_display_at_index(hdcp, display->index)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
343
display_container = get_empty_display_container(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
350
status = reset_authentication(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
355
reset_retry_counts(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
358
memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
36
trace->errors[trace->error_count].state_id = hdcp->state.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
361
hdcp->connection.link = *link;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
363
status = mod_hdcp_add_display_to_topology(hdcp, display_container);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
369
if (current_state(hdcp) != HDCP_INITIALIZED)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
370
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
371
callback_in_ms(hdcp->connection.link.adjust.auth_delay * 1000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
374
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
379
enum mod_hdcp_status mod_hdcp_remove_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
38
HDCP_ERROR_TRACE(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
385
HDCP_TOP_INTERFACE_TRACE_WITH_INDEX(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
389
display = get_active_display_at_index(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
396
status = reset_authentication(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
401
reset_retry_counts(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
404
memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
407
status = mod_hdcp_remove_display_from_topology(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
41
if (is_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
413
if (current_state(hdcp) != HDCP_UNINITIALIZED)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
414
callback_in_ms(hdcp->connection.link.adjust.auth_delay * 1000,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
418
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
42
hdcp->connection.hdcp1_retry_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
422
enum mod_hdcp_status mod_hdcp_update_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
43
if (hdcp->connection.hdcp1_retry_count == retry_limit)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
431
HDCP_TOP_INTERFACE_TRACE_WITH_INDEX(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
435
display = get_active_display_at_index(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
44
hdcp->connection.link.adjust.hdcp1.disable = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
442
if (memcmp(link_adjust, &hdcp->connection.link.adjust,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
45
} else if (is_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
450
if (memcmp(link_adjust, &hdcp->connection.link.adjust,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
454
status = update_display_adjustments(hdcp, display, display_adjust);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
46
hdcp->connection.hdcp2_retry_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
460
status = reset_authentication(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
465
reset_retry_counts(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
468
memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
47
if (hdcp->connection.hdcp2_retry_count == retry_limit)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
471
hdcp->connection.link.adjust = *link_adjust;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
475
if (current_state(hdcp) != HDCP_UNINITIALIZED)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
48
hdcp->connection.link.adjust.hdcp2.disable = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
481
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
485
enum mod_hdcp_status mod_hdcp_query_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
492
display = get_active_display_at_index(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
499
query->link = &hdcp->connection.link;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
501
query->trace = &hdcp->connection.trace;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
505
if (is_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
507
} else if (is_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
52
static uint8_t is_cp_desired_hdcp1(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
523
enum mod_hdcp_status mod_hdcp_reset_connection(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
528
HDCP_TOP_INTERFACE_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
529
status = reset_connection(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
531
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
536
enum mod_hdcp_status mod_hdcp_process_event(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
542
HDCP_EVENT_TRACE(hdcp, event);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
548
exec_status = execution(hdcp, &event_ctx, &hdcp->auth.trans_input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
550
hdcp, &event_ctx, &hdcp->auth.trans_input, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
555
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
558
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
563
mod_hdcp_log_ddc_trace(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
564
reset_status = reset_authentication(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
566
push_error_status(hdcp, reset_status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
571
status = mod_hdcp_clear_cp_irq_status(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
573
push_error_status(hdcp, status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
60
if (hdcp->displays[i].state != MOD_HDCP_DISPLAY_INACTIVE &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
61
hdcp->displays[i].adjust.disable != MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
68
!hdcp->connection.link.adjust.hdcp1.disable &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
69
!hdcp->connection.is_hdcp1_revoked;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
72
static uint8_t is_cp_desired_hdcp2(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
80
if (hdcp->displays[i].state != MOD_HDCP_DISPLAY_INACTIVE &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
81
hdcp->displays[i].adjust.disable != MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
88
!hdcp->connection.link.adjust.hdcp2.disable &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
89
!hdcp->connection.is_hdcp2_revoked;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
92
static enum mod_hdcp_status execution(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.c
98
if (is_in_initialized_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
392
static inline uint8_t is_dp_hdcp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
394
return (hdcp->connection.link.mode == MOD_HDCP_MODE_DP);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
397
static inline uint8_t is_dp_mst_hdcp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
399
return (hdcp->connection.link.mode == MOD_HDCP_MODE_DP &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
400
hdcp->connection.link.dp.mst_enabled);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
403
static inline uint8_t is_hdmi_dvi_sl_hdcp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
405
return (hdcp->connection.link.mode == MOD_HDCP_MODE_DEFAULT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
409
static inline uint8_t current_state(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
411
return hdcp->state.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
417
memset(&hdcp->state, 0, sizeof(hdcp->state));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
418
hdcp->state.id = id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
425
static inline uint8_t is_in_hdcp1_states(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
427
return (current_state(hdcp) > HDCP1_STATE_START &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
428
current_state(hdcp) <= HDCP1_STATE_END);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
431
static inline uint8_t is_in_hdcp1_dp_states(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
433
return (current_state(hdcp) > HDCP1_DP_STATE_START &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
434
current_state(hdcp) <= HDCP1_DP_STATE_END);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
437
static inline uint8_t is_in_hdcp2_states(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
439
return (current_state(hdcp) > HDCP2_STATE_START &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
440
current_state(hdcp) <= HDCP2_STATE_END);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
443
static inline uint8_t is_in_hdcp2_dp_states(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
445
return (current_state(hdcp) > HDCP2_DP_STATE_START &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
446
current_state(hdcp) <= HDCP2_DP_STATE_END);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
449
static inline uint8_t is_in_authenticated_states(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
451
return (current_state(hdcp) == D1_A4_AUTHENTICATED ||
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
452
current_state(hdcp) == H1_A45_AUTHENTICATED ||
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
453
current_state(hdcp) == D2_A5_AUTHENTICATED ||
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
454
current_state(hdcp) == H2_A5_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
457
static inline uint8_t is_hdcp1(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
459
return (is_in_hdcp1_states(hdcp) || is_in_hdcp1_dp_states(hdcp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
462
static inline uint8_t is_hdcp2(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
464
return (is_in_hdcp2_states(hdcp) || is_in_hdcp2_dp_states(hdcp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
467
static inline uint8_t is_in_cp_not_desired_state(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
469
return current_state(hdcp) == HDCP_CP_NOT_DESIRED;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
472
static inline uint8_t is_in_initialized_state(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
474
return current_state(hdcp) == HDCP_INITIALIZED;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
478
static inline void increment_stay_counter(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
480
hdcp->state.stay_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
525
static inline uint8_t get_active_display_count(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
531
if (is_display_active(&hdcp->displays[i]))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
537
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
543
if (is_display_active(&hdcp->displays[i])) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
544
display = &hdcp->displays[i];
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
551
struct mod_hdcp *hdcp, uint8_t index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
557
if (hdcp->displays[i].index == index &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
558
is_display_active(&hdcp->displays[i])) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
559
display = &hdcp->displays[i];
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
566
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
572
if (!is_display_active(&hdcp->displays[i])) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
573
display = &hdcp->displays[i];
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
579
static inline void reset_retry_counts(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
581
hdcp->connection.hdcp1_retry_count = 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp.h
582
hdcp->connection.hdcp2_retry_count = 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
100
status = DRM_HDCP_MAX_CASCADE_EXCEEDED(hdcp->auth.msg.hdcp1.binfo_dp >> 8)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
104
status = DRM_HDCP_MAX_CASCADE_EXCEEDED(hdcp->auth.msg.hdcp1.bstatus >> 8)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
110
static inline enum mod_hdcp_status check_no_max_devs(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
114
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
115
status = DRM_HDCP_MAX_DEVICE_EXCEEDED(hdcp->auth.msg.hdcp1.binfo_dp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
119
status = DRM_HDCP_MAX_DEVICE_EXCEEDED(hdcp->auth.msg.hdcp1.bstatus) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
125
static inline uint8_t get_device_count(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
127
return is_dp_hdcp(hdcp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
128
DRM_HDCP_NUM_DOWNSTREAM(hdcp->auth.msg.hdcp1.binfo_dp) :
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
129
DRM_HDCP_NUM_DOWNSTREAM(hdcp->auth.msg.hdcp1.bstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
132
static inline enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
135
if (get_device_count(hdcp) == 0)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
143
return ((1 + get_device_count(hdcp)) < get_active_display_count(hdcp)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
148
static enum mod_hdcp_status wait_for_active_rx(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
161
hdcp, "bksv_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
165
hdcp, "bcaps_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
171
static enum mod_hdcp_status exchange_ksvs(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
184
hdcp, "create_session"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
188
hdcp, "an_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
192
hdcp, "aksv_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
196
hdcp, "bksv_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
200
hdcp, "bksv_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
202
if (hdcp->auth.msg.hdcp1.ainfo) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
205
hdcp, "ainfo_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
213
struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
226
hdcp, "r0p_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
230
hdcp, "rx_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
232
if (hdcp->connection.is_repeater) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
233
if (!hdcp->connection.link.adjust.hdcp1.postpone_encryption)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
237
hdcp, "encryption"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
242
hdcp, "encryption"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
244
if (is_dp_mst_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
248
hdcp, "stream_encryption_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
255
static enum mod_hdcp_status authenticated(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
268
hdcp, "link_maintenance");
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
273
static enum mod_hdcp_status wait_for_ready(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
28
static inline enum mod_hdcp_status validate_bksv(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
286
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
289
hdcp, "bstatus_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
293
hdcp, "link_integrity_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
297
hdcp, "reauth_request_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
302
hdcp, "bcaps_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
307
hdcp, "ready_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
313
static enum mod_hdcp_status read_ksv_list(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
325
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
328
hdcp, "binfo_read_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
333
hdcp, "bstatus_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
338
hdcp, "max_cascade_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
34
memcpy(bksv, hdcp->auth.msg.hdcp1.bksv, sizeof(hdcp->auth.msg.hdcp1.bksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
342
hdcp, "max_devs_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
346
hdcp, "device_count_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
348
device_count = get_device_count(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
349
hdcp->auth.msg.hdcp1.ksvlist_size = device_count*5;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
352
hdcp, "ksvlist_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
356
hdcp, "vp_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
360
hdcp, "ksvlist_vp_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
365
hdcp, "encryption"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
367
if (is_dp_mst_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
371
hdcp, "stream_encryption_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
377
static enum mod_hdcp_status determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
390
hdcp, "bcaps_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
394
hdcp, "hdcp_capable_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
400
static enum mod_hdcp_status wait_for_r0_prime_dp(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
414
hdcp, "bstatus_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
418
hdcp, "r0p_available_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
424
static enum mod_hdcp_status authenticated_dp(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
437
hdcp, "bstatus_read");
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
441
hdcp, "link_integrity_check");
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
445
hdcp, "reauth_request_check");
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
45
static inline enum mod_hdcp_status check_ksv_ready(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
453
enum mod_hdcp_status *status, struct mod_hdcp *hdcp, char *str)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
455
*status = func(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
457
HDCP_INPUT_PASS_TRACE(hdcp, str);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
460
HDCP_INPUT_FAIL_TRACE(hdcp, str);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
466
enum mod_hdcp_status mod_hdcp_hdcp1_execution(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
47
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
472
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
474
status = wait_for_active_rx(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
477
status = exchange_ksvs(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
48
return (hdcp->auth.msg.hdcp1.bstatus & DP_BSTATUS_READY) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
480
status = computations_validate_rx_test_for_repeater(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
484
status = authenticated(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
487
status = wait_for_ready(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
490
status = read_ksv_list(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
500
enum mod_hdcp_status mod_hdcp_hdcp1_dp_execution(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
506
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
508
status = determine_rx_hdcp_capable_dp(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
51
return (hdcp->auth.msg.hdcp1.bcaps & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
511
status = exchange_ksvs(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
514
status = wait_for_r0_prime_dp(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
518
hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
521
status = authenticated_dp(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
524
status = wait_for_ready(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
527
status = read_ksv_list(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
56
static inline enum mod_hdcp_status check_hdcp_capable_dp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
58
return (hdcp->auth.msg.hdcp1.bcaps & DP_BCAPS_HDCP_CAPABLE) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
63
static inline enum mod_hdcp_status check_r0p_available_dp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
67
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
68
status = (hdcp->auth.msg.hdcp1.bstatus &
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
79
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
81
return (hdcp->auth.msg.hdcp1.bstatus &
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
88
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
90
return (hdcp->auth.msg.hdcp1.bstatus & DP_BSTATUS_REAUTH_REQ) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
95
static inline enum mod_hdcp_status check_no_max_cascade(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_execution.c
99
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
103
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
116
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
121
set_state_id(hdcp, output, H1_A9_READ_KSV_LIST);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
139
set_state_id(hdcp, output, H1_A45_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
140
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
151
enum mod_hdcp_status mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
157
struct mod_hdcp_connection *conn = &hdcp->connection;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
158
struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
160
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
172
set_state_id(hdcp, output, D1_A1_EXCHANGE_KSVS);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
189
set_watchdog_in_ms(hdcp, 100, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
190
set_state_id(hdcp, output, D1_A23_WAIT_FOR_R0_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
200
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
204
set_state_id(hdcp, output, D1_A2_COMPUTATIONS_A3_VALIDATE_RX_A5_TEST_FOR_REPEATER);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
211
if (hdcp->state.stay_count < 2 &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
212
!hdcp->connection.is_hdcp1_revoked) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
215
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
230
(!conn->is_repeater && is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
238
set_watchdog_in_ms(hdcp, 5000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
239
set_state_id(hdcp, output, D1_A6_WAIT_FOR_READY);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
241
set_state_id(hdcp, output, D1_A4_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
242
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
266
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
271
set_state_id(hdcp, output, D1_A7_READ_KSV_LIST);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
28
enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
295
if (hdcp->state.stay_count < 2 &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
296
!hdcp->connection.is_hdcp1_revoked) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
299
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
309
(is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
313
set_state_id(hdcp, output, D1_A4_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
314
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
34
struct mod_hdcp_connection *conn = &hdcp->connection;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
35
struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
37
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
42
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
46
set_state_id(hdcp, output, H1_A1_EXCHANGE_KSVS);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
64
set_state_id(hdcp, output,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
87
set_watchdog_in_ms(hdcp, 5000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
88
set_state_id(hdcp, output, H1_A8_WAIT_FOR_READY);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
91
set_state_id(hdcp, output, H1_A45_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp1_transition.c
92
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
106
static enum mod_hdcp_status check_h_prime_available(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
110
status = mod_hdcp_read_rxstatus(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
114
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
115
status = HDCP_2_2_DP_RXSTATUS_H_PRIME(hdcp->auth.msg.hdcp2.rxstatus_dp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
119
const uint16_t size = get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
120
status = (size == sizeof(hdcp->auth.msg.hdcp2.ake_h_prime)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
128
static enum mod_hdcp_status check_pairing_info_available(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
132
status = mod_hdcp_read_rxstatus(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
136
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
137
status = HDCP_2_2_DP_RXSTATUS_PAIRING(hdcp->auth.msg.hdcp2.rxstatus_dp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
141
const uint16_t size = get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
142
status = (size == sizeof(hdcp->auth.msg.hdcp2.ake_pairing_info)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
150
static enum mod_hdcp_status poll_l_prime_available(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
157
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
163
status = mod_hdcp_read_rxstatus(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
167
const uint16_t size = get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
168
status = (size == sizeof(hdcp->auth.msg.hdcp2.lc_l_prime)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
177
static enum mod_hdcp_status check_stream_ready_available(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
181
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
184
status = mod_hdcp_read_rxstatus(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
187
const uint16_t size = get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
188
status = (size == sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
196
static inline uint8_t get_device_count(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
198
return HDCP_2_2_DEV_COUNT_LO(hdcp->auth.msg.hdcp2.rx_id_list[2]) +
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
199
(HDCP_2_2_DEV_COUNT_HI(hdcp->auth.msg.hdcp2.rx_id_list[1]) << 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
202
static enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
205
if (get_device_count(hdcp) == 0)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
212
return ((1 + get_device_count(hdcp)) < get_active_display_count(hdcp)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
217
static uint8_t process_rxstatus(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
224
hdcp, "rxstatus_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
228
hdcp, "reauth_request_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
230
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
233
hdcp, "link_integrity_check_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
236
if (hdcp->connection.is_repeater)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
237
if (check_receiver_id_list_ready(hdcp) ==
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
239
HDCP_INPUT_PASS_TRACE(hdcp, "rx_id_list_ready");
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
241
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
242
hdcp->auth.msg.hdcp2.rx_id_list_size =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
243
sizeof(hdcp->auth.msg.hdcp2.rx_id_list);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
245
hdcp->auth.msg.hdcp2.rx_id_list_size =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
246
get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
252
static enum mod_hdcp_status known_hdcp2_capable_rx(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
265
hdcp, "hdcp2version_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
269
hdcp, "hdcp2_capable"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
275
static enum mod_hdcp_status send_ake_init(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
288
hdcp, "create_session"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
292
hdcp, "ake_init_prepare"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
296
hdcp, "ake_init_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
302
static enum mod_hdcp_status validate_ake_cert(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
315
if (is_hdmi_dvi_sl_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
318
hdcp, "ake_cert_available"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
322
hdcp, "ake_cert_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
326
hdcp, "ake_cert_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
332
static enum mod_hdcp_status send_no_stored_km(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
345
hdcp, "no_stored_km_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
35
static inline enum mod_hdcp_status check_receiver_id_list_ready(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
351
static enum mod_hdcp_status read_h_prime(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
366
hdcp, "h_prime_available"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
371
hdcp, "h_prime_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
378
struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
39
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
393
hdcp, "pairing_available"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
397
hdcp, "pairing_info_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
40
is_ready = HDCP_2_2_DP_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus_dp) ? 1 : 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
401
hdcp, "h_prime_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
407
static enum mod_hdcp_status send_stored_km(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
42
is_ready = (HDCP_2_2_HDMI_RXSTATUS_READY(hdcp->auth.msg.hdcp2.rxstatus[1]) &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
420
hdcp, "stored_km_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
426
static enum mod_hdcp_status validate_h_prime(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
43
get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus) != 0) ? 1 : 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
441
hdcp, "h_prime_available"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
445
hdcp, "h_prime_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
449
hdcp, "h_prime_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
455
static enum mod_hdcp_status locality_check_sw(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
463
hdcp, "lc_init_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
465
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
470
hdcp, "l_prime_available_poll"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
474
hdcp, "l_prime_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
48
static inline enum mod_hdcp_status check_hdcp2_capable(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
480
static enum mod_hdcp_status locality_check_fw(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
488
hdcp, "l_prime_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
495
static enum mod_hdcp_status locality_check(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
500
const bool use_fw = hdcp->config.ddc.funcs.atomic_write_poll_read_i2c
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
501
&& hdcp->config.ddc.funcs.atomic_write_poll_read_aux
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
502
&& !hdcp->connection.link.adjust.hdcp2.force_sw_locality_check;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
511
hdcp, "lc_init_prepare"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
514
status = (use_fw ? locality_check_fw : locality_check_sw)(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
52
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
520
hdcp, "l_prime_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
526
static enum mod_hdcp_status exchange_ks_and_test_for_repeater(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
53
status = (hdcp->auth.msg.hdcp2.rxcaps_dp[0] == HDCP_2_2_RX_CAPS_VERSION_VAL) &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
539
hdcp, "eks_prepare"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
54
HDCP_2_2_DP_HDCP_CAPABLE(hdcp->auth.msg.hdcp2.rxcaps_dp[2]) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
543
hdcp, "eks_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
549
static enum mod_hdcp_status enable_encryption(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
561
process_rxstatus(hdcp, event_ctx, input, &status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
565
if (is_hdmi_dvi_sl_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
566
if (!process_rxstatus(hdcp, event_ctx, input, &status))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
573
hdcp, "enable_encryption"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
575
if (is_dp_mst_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
579
hdcp, "stream_encryption_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
58
status = (hdcp->auth.msg.hdcp2.hdcp2version_hdmi & HDCP_2_2_HDMI_SUPPORT_MASK) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
586
static enum mod_hdcp_status authenticated(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
598
process_rxstatus(hdcp, event_ctx, input, &status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
603
static enum mod_hdcp_status wait_for_rx_id_list(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
616
if (!process_rxstatus(hdcp, event_ctx, input, &status))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
626
static enum mod_hdcp_status verify_rx_id_list_and_send_ack(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
638
process_rxstatus(hdcp, event_ctx, input, &status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
644
&status, hdcp, "receiver_id_list_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
648
&status, hdcp, "device_count_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
65
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
652
&status, hdcp, "rx_id_list_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
656
&status, hdcp, "repeater_auth_ack_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
662
static enum mod_hdcp_status send_stream_management(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
674
process_rxstatus(hdcp, event_ctx, input, &status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
678
if (is_hdmi_dvi_sl_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
679
if (!process_rxstatus(hdcp, event_ctx, input, &status))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
686
&status, hdcp, "prepare_stream_manage"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
69
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
691
&status, hdcp, "stream_manage_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
697
static enum mod_hdcp_status validate_stream_ready(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
70
ret = HDCP_2_2_DP_RXSTATUS_REAUTH_REQ(hdcp->auth.msg.hdcp2.rxstatus_dp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
710
process_rxstatus(hdcp, event_ctx, input, &status);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
714
if (is_hdmi_dvi_sl_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
715
if (!process_rxstatus(hdcp, event_ctx, input, &status))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
720
if (is_hdmi_dvi_sl_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
723
&status, hdcp, "stream_ready_available"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
727
&status, hdcp, "stream_ready_read"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
731
&status, hdcp, "stream_ready_validation"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
738
static enum mod_hdcp_status determine_rx_hdcp_capable_dp(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
74
ret = HDCP_2_2_HDMI_RXSTATUS_REAUTH_REQ(hdcp->auth.msg.hdcp2.rxstatus[1]) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
751
&status, hdcp, "rx_caps_read_dp"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
755
hdcp, "hdcp2_capable_check"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
761
static enum mod_hdcp_status send_content_stream_type_dp(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
773
if (!process_rxstatus(hdcp, event_ctx, input, &status))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
777
hdcp, "content_stream_type_write"))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
783
enum mod_hdcp_status mod_hdcp_hdcp2_execution(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
789
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
791
status = known_hdcp2_capable_rx(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
794
status = send_ake_init(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
797
status = validate_ake_cert(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
800
status = send_no_stored_km(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
803
status = read_h_prime(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
806
status = read_pairing_info_and_validate_h_prime(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
81
struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
810
status = send_stored_km(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
813
status = validate_h_prime(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
816
status = locality_check(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
819
status = exchange_ks_and_test_for_repeater(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
822
status = enable_encryption(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
825
status = authenticated(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
828
status = wait_for_rx_id_list(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
83
return HDCP_2_2_DP_RXSTATUS_LINK_FAILED(hdcp->auth.msg.hdcp2.rxstatus_dp) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
831
status = verify_rx_id_list_and_send_ack(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
834
status = send_stream_management(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
837
status = validate_stream_ready(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
847
enum mod_hdcp_status mod_hdcp_hdcp2_dp_execution(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
853
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
855
status = determine_rx_hdcp_capable_dp(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
858
status = send_ake_init(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
861
status = validate_ake_cert(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
864
status = send_no_stored_km(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
867
status = read_h_prime(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
870
status = read_pairing_info_and_validate_h_prime(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
874
status = send_stored_km(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
877
status = validate_h_prime(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
88
static enum mod_hdcp_status check_ake_cert_available(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
880
status = locality_check(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
883
status = exchange_ks_and_test_for_repeater(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
887
status = send_content_stream_type_dp(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
890
status = enable_encryption(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
893
status = authenticated(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
896
status = wait_for_rx_id_list(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
899
status = verify_rx_id_list_and_send_ack(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
902
status = send_stream_management(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
905
status = validate_stream_ready(hdcp, event_ctx, input);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
92
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
95
status = mod_hdcp_read_rxstatus(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
97
const uint16_t size = get_hdmi_rxstatus_msg_size(hdcp->auth.msg.hdcp2.rxstatus);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_execution.c
98
status = (size == sizeof(hdcp->auth.msg.hdcp2.ake_cert)) ?
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
105
set_watchdog_in_ms(hdcp, 2000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
107
set_watchdog_in_ms(hdcp, 1000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
109
set_state_id(hdcp, output, H2_A1_READ_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
120
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
127
set_watchdog_in_ms(hdcp, 200, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
129
set_state_id(hdcp, output, H2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
142
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
152
set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
159
set_watchdog_in_ms(hdcp, 200, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
161
set_state_id(hdcp, output, H2_A1_VALIDATE_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
172
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
185
set_state_id(hdcp, output, H2_A2_LOCALITY_CHECK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
188
const bool use_fw = hdcp->config.ddc.funcs.atomic_write_poll_read_i2c
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
196
if (hdcp->state.stay_count > 10 ||
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
203
if (use_fw && hdcp->config.debug.lc_enable_sw_fallback) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
213
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
217
set_state_id(hdcp, output, H2_A3_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
227
set_watchdog_in_ms(hdcp, 3000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
229
set_state_id(hdcp, output, H2_A6_WAIT_FOR_RX_ID_LIST);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
235
set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
249
set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
256
set_state_id(hdcp, output, H2_A5_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
257
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
266
set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
270
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
28
enum mod_hdcp_status mod_hdcp_hdcp2_transition(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
288
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
293
set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
312
set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
321
set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
328
set_watchdog_in_ms(hdcp, 100, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
330
set_state_id(hdcp, output, H2_A9_VALIDATE_STREAM_READY);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
339
set_state_id(hdcp, output, H2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
34
struct mod_hdcp_connection *conn = &hdcp->connection;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
346
hdcp->auth.count.stream_management_retry_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
348
set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
35
struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
351
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
360
if (hdcp->auth.count.stream_management_retry_count > 10) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
363
hdcp->auth.count.stream_management_retry_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
365
set_state_id(hdcp, output, H2_A9_SEND_STREAM_MANAGEMENT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
37
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
370
set_state_id(hdcp, output, H2_ENABLE_ENCRYPTION);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
381
enum mod_hdcp_status mod_hdcp_hdcp2_dp_transition(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
387
struct mod_hdcp_connection *conn = &hdcp->connection;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
388
struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
390
switch (current_state(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
396
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
399
set_state_id(hdcp, output, D2_A1_SEND_AKE_INIT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
415
set_state_id(hdcp, output, D2_A1_VALIDATE_AKE_CERT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
43
set_state_id(hdcp, output, HDCP_INITIALIZED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
430
set_state_id(hdcp, output, D2_A1_SEND_STORED_KM);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
433
set_state_id(hdcp, output, D2_A1_SEND_NO_STORED_KM);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
442
set_watchdog_in_ms(hdcp, 2000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
444
set_watchdog_in_ms(hdcp, 1000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
445
set_state_id(hdcp, output, D2_A1_READ_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
454
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
46
set_state_id(hdcp, output, H2_A1_SEND_AKE_INIT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
460
set_watchdog_in_ms(hdcp, 200, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
461
set_state_id(hdcp, output, D2_A1_READ_PAIRING_INFO_AND_VALIDATE_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
473
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
482
set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
489
set_watchdog_in_ms(hdcp, 200, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
490
set_state_id(hdcp, output, D2_A1_VALIDATE_H_PRIME);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
499
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
511
set_state_id(hdcp, output, D2_A2_LOCALITY_CHECK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
514
const bool use_fw = hdcp->config.ddc.funcs.atomic_write_poll_read_aux
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
517
if (hdcp->state.stay_count > 10 ||
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
524
if (use_fw && hdcp->config.debug.lc_enable_sw_fallback) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
534
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
538
set_state_id(hdcp, output, D2_A34_EXCHANGE_KS_AND_TEST_FOR_REPEATER);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
548
set_watchdog_in_ms(hdcp, 3000, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
549
set_state_id(hdcp, output, D2_A6_WAIT_FOR_RX_ID_LIST);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
552
set_state_id(hdcp, output, D2_SEND_CONTENT_STREAM_TYPE);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
564
set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
578
set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
581
(is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
585
set_state_id(hdcp, output, D2_A5_AUTHENTICATED);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
586
set_auth_complete(hdcp, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
594
if (hdcp->connection.hdcp2_retry_count >= 1)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
60
set_watchdog_in_ms(hdcp, 100, output);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
600
set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
603
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
616
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
62
set_state_id(hdcp, output, H2_A1_VALIDATE_AKE_CERT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
620
set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
641
set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
651
set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
658
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
662
set_state_id(hdcp, output, D2_A9_VALIDATE_STREAM_READY);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
672
set_state_id(hdcp, output, D2_A78_VERIFY_RX_ID_LIST_AND_SEND_ACK);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
681
if (hdcp->auth.count.stream_management_retry_count > 10) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
684
hdcp->auth.count.stream_management_retry_count++;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
686
set_state_id(hdcp, output, D2_A9_SEND_STREAM_MANAGEMENT);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
688
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
693
set_state_id(hdcp, output, D2_ENABLE_ENCRYPTION);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
78
increment_stay_counter(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
93
set_state_id(hdcp, output, H2_A1_SEND_STORED_KM);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp2_transition.c
96
set_state_id(hdcp, output, H2_A1_SEND_NO_STORED_KM);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
152
static enum mod_hdcp_status read(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
165
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
172
success = hdcp->config.ddc.funcs.read_dpcd(hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
188
success = hdcp->config.ddc.funcs.read_i2c(
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
189
hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
199
static enum mod_hdcp_status read_repeatedly(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
211
status = read(hdcp, msg_id, buf + data_offset, cur_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
223
static enum mod_hdcp_status write(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
236
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
243
success = hdcp->config.ddc.funcs.write_dpcd(
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
244
hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
260
hdcp->buf[0] = hdcp_i2c_offsets[msg_id];
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
261
memmove(&hdcp->buf[1], buf, buf_len);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
262
success = hdcp->config.ddc.funcs.write_i2c(
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
263
hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
265
hdcp->buf,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
272
enum mod_hdcp_status mod_hdcp_read_bksv(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
274
return read(hdcp, MOD_HDCP_MESSAGE_ID_READ_BKSV,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
275
hdcp->auth.msg.hdcp1.bksv,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
276
sizeof(hdcp->auth.msg.hdcp1.bksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
279
enum mod_hdcp_status mod_hdcp_read_bcaps(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
281
return read(hdcp, MOD_HDCP_MESSAGE_ID_READ_BCAPS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
282
&hdcp->auth.msg.hdcp1.bcaps,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
283
sizeof(hdcp->auth.msg.hdcp1.bcaps));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
286
enum mod_hdcp_status mod_hdcp_read_bstatus(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
290
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
291
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_BSTATUS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
292
(uint8_t *)&hdcp->auth.msg.hdcp1.bstatus,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
295
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_BSTATUS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
296
(uint8_t *)&hdcp->auth.msg.hdcp1.bstatus,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
297
sizeof(hdcp->auth.msg.hdcp1.bstatus));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
301
enum mod_hdcp_status mod_hdcp_read_r0p(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
303
return read(hdcp, MOD_HDCP_MESSAGE_ID_READ_RI_R0,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
304
(uint8_t *)&hdcp->auth.msg.hdcp1.r0p,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
305
sizeof(hdcp->auth.msg.hdcp1.r0p));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
309
enum mod_hdcp_status mod_hdcp_read_ksvlist(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
313
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
314
status = read_repeatedly(hdcp, MOD_HDCP_MESSAGE_ID_READ_KSV_FIFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
315
hdcp->auth.msg.hdcp1.ksvlist,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
316
hdcp->auth.msg.hdcp1.ksvlist_size,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
319
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_KSV_FIFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
320
(uint8_t *)&hdcp->auth.msg.hdcp1.ksvlist,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
321
hdcp->auth.msg.hdcp1.ksvlist_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
325
enum mod_hdcp_status mod_hdcp_read_vp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
329
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_VH_0,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
330
&hdcp->auth.msg.hdcp1.vp[0], 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
334
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_VH_1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
335
&hdcp->auth.msg.hdcp1.vp[4], 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
339
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_VH_2,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
340
&hdcp->auth.msg.hdcp1.vp[8], 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
344
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_VH_3,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
345
&hdcp->auth.msg.hdcp1.vp[12], 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
349
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_VH_4,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
350
&hdcp->auth.msg.hdcp1.vp[16], 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
355
enum mod_hdcp_status mod_hdcp_read_binfo(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
359
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
360
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_BINFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
361
(uint8_t *)&hdcp->auth.msg.hdcp1.binfo_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
362
sizeof(hdcp->auth.msg.hdcp1.binfo_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
369
enum mod_hdcp_status mod_hdcp_write_aksv(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
371
return write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKSV,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
372
hdcp->auth.msg.hdcp1.aksv,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
373
sizeof(hdcp->auth.msg.hdcp1.aksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
376
enum mod_hdcp_status mod_hdcp_write_ainfo(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
378
return write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AINFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
379
&hdcp->auth.msg.hdcp1.ainfo,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
380
sizeof(hdcp->auth.msg.hdcp1.ainfo));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
383
enum mod_hdcp_status mod_hdcp_write_an(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
385
return write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AN,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
386
hdcp->auth.msg.hdcp1.an,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
387
sizeof(hdcp->auth.msg.hdcp1.an));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
390
enum mod_hdcp_status mod_hdcp_read_hdcp2version(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
394
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
397
status = read(hdcp, MOD_HDCP_MESSAGE_ID_HDCP2VERSION,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
398
&hdcp->auth.msg.hdcp2.hdcp2version_hdmi,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
399
sizeof(hdcp->auth.msg.hdcp2.hdcp2version_hdmi));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
404
enum mod_hdcp_status mod_hdcp_read_rxcaps(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
408
if (!is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
411
status = read(hdcp, MOD_HDCP_MESSAGE_ID_RX_CAPS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
412
hdcp->auth.msg.hdcp2.rxcaps_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
413
sizeof(hdcp->auth.msg.hdcp2.rxcaps_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
418
enum mod_hdcp_status mod_hdcp_read_rxstatus(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
422
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
423
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_RXSTATUS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
424
&hdcp->auth.msg.hdcp2.rxstatus_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
427
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_RXSTATUS,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
428
(uint8_t *)&hdcp->auth.msg.hdcp2.rxstatus,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
429
sizeof(hdcp->auth.msg.hdcp2.rxstatus));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
434
enum mod_hdcp_status mod_hdcp_read_ake_cert(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
438
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
439
hdcp->auth.msg.hdcp2.ake_cert[0] = HDCP_2_2_AKE_SEND_CERT;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
440
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_CERT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
441
hdcp->auth.msg.hdcp2.ake_cert+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
442
sizeof(hdcp->auth.msg.hdcp2.ake_cert)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
445
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_CERT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
446
hdcp->auth.msg.hdcp2.ake_cert,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
447
sizeof(hdcp->auth.msg.hdcp2.ake_cert));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
452
enum mod_hdcp_status mod_hdcp_read_h_prime(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
456
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
457
hdcp->auth.msg.hdcp2.ake_h_prime[0] = HDCP_2_2_AKE_SEND_HPRIME;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
458
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_H_PRIME,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
459
hdcp->auth.msg.hdcp2.ake_h_prime+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
460
sizeof(hdcp->auth.msg.hdcp2.ake_h_prime)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
463
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_H_PRIME,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
464
hdcp->auth.msg.hdcp2.ake_h_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
465
sizeof(hdcp->auth.msg.hdcp2.ake_h_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
470
enum mod_hdcp_status mod_hdcp_read_pairing_info(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
474
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
475
hdcp->auth.msg.hdcp2.ake_pairing_info[0] = HDCP_2_2_AKE_SEND_PAIRING_INFO;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
476
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_PAIRING_INFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
477
hdcp->auth.msg.hdcp2.ake_pairing_info+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
478
sizeof(hdcp->auth.msg.hdcp2.ake_pairing_info)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
481
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_AKE_SEND_PAIRING_INFO,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
482
hdcp->auth.msg.hdcp2.ake_pairing_info,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
483
sizeof(hdcp->auth.msg.hdcp2.ake_pairing_info));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
488
enum mod_hdcp_status mod_hdcp_read_l_prime(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
492
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
493
hdcp->auth.msg.hdcp2.lc_l_prime[0] = HDCP_2_2_LC_SEND_LPRIME;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
494
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_LC_SEND_L_PRIME,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
495
hdcp->auth.msg.hdcp2.lc_l_prime+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
496
sizeof(hdcp->auth.msg.hdcp2.lc_l_prime)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
499
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_LC_SEND_L_PRIME,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
500
hdcp->auth.msg.hdcp2.lc_l_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
501
sizeof(hdcp->auth.msg.hdcp2.lc_l_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
506
enum mod_hdcp_status mod_hdcp_read_rx_id_list(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
510
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
515
hdcp->auth.msg.hdcp2.rx_id_list[0] = HDCP_2_2_REP_SEND_RECVID_LIST;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
516
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_REPEATER_AUTH_SEND_RECEIVERID_LIST,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
517
hdcp->auth.msg.hdcp2.rx_id_list+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
521
device_count = HDCP_2_2_DEV_COUNT_LO(hdcp->auth.msg.hdcp2.rx_id_list[2]) +
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
522
(HDCP_2_2_DEV_COUNT_HI(hdcp->auth.msg.hdcp2.rx_id_list[1]) << 4);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
524
(sizeof(hdcp->auth.msg.hdcp2.rx_id_list) - 1));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
525
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_REPEATER_AUTH_SEND_RECEIVERID_LIST_PART2,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
526
hdcp->auth.msg.hdcp2.rx_id_list + 1 + bytes_read,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
530
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_REPEATER_AUTH_SEND_RECEIVERID_LIST,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
531
hdcp->auth.msg.hdcp2.rx_id_list,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
532
hdcp->auth.msg.hdcp2.rx_id_list_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
537
enum mod_hdcp_status mod_hdcp_read_stream_ready(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
541
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
542
hdcp->auth.msg.hdcp2.repeater_auth_stream_ready[0] = HDCP_2_2_REP_STREAM_READY;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
543
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_REPEATER_AUTH_STREAM_READY,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
544
hdcp->auth.msg.hdcp2.repeater_auth_stream_ready+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
545
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
548
status = read(hdcp, MOD_HDCP_MESSAGE_ID_READ_REPEATER_AUTH_STREAM_READY,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
549
hdcp->auth.msg.hdcp2.repeater_auth_stream_ready,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
550
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
555
enum mod_hdcp_status mod_hdcp_write_ake_init(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
559
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
560
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_INIT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
561
hdcp->auth.msg.hdcp2.ake_init+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
562
sizeof(hdcp->auth.msg.hdcp2.ake_init)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
564
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_INIT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
565
hdcp->auth.msg.hdcp2.ake_init,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
566
sizeof(hdcp->auth.msg.hdcp2.ake_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
570
enum mod_hdcp_status mod_hdcp_write_no_stored_km(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
574
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
575
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_NO_STORED_KM,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
576
hdcp->auth.msg.hdcp2.ake_no_stored_km+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
577
sizeof(hdcp->auth.msg.hdcp2.ake_no_stored_km)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
579
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_NO_STORED_KM,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
580
hdcp->auth.msg.hdcp2.ake_no_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
581
sizeof(hdcp->auth.msg.hdcp2.ake_no_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
585
enum mod_hdcp_status mod_hdcp_write_stored_km(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
589
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
590
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_STORED_KM,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
591
hdcp->auth.msg.hdcp2.ake_stored_km+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
592
sizeof(hdcp->auth.msg.hdcp2.ake_stored_km)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
594
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_AKE_STORED_KM,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
595
hdcp->auth.msg.hdcp2.ake_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
596
sizeof(hdcp->auth.msg.hdcp2.ake_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
600
enum mod_hdcp_status mod_hdcp_write_lc_init(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
604
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
605
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_LC_INIT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
606
hdcp->auth.msg.hdcp2.lc_init+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
607
sizeof(hdcp->auth.msg.hdcp2.lc_init)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
609
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_LC_INIT,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
610
hdcp->auth.msg.hdcp2.lc_init,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
611
sizeof(hdcp->auth.msg.hdcp2.lc_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
615
enum mod_hdcp_status mod_hdcp_write_eks(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
619
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
620
status = write(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
622
hdcp->auth.msg.hdcp2.ske_eks+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
623
sizeof(hdcp->auth.msg.hdcp2.ske_eks)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
625
status = write(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
627
hdcp->auth.msg.hdcp2.ske_eks,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
628
sizeof(hdcp->auth.msg.hdcp2.ske_eks));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
632
enum mod_hdcp_status mod_hdcp_write_repeater_auth_ack(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
636
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
637
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_REPEATER_AUTH_SEND_ACK,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
638
hdcp->auth.msg.hdcp2.repeater_auth_ack+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
639
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_ack)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
641
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_REPEATER_AUTH_SEND_ACK,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
642
hdcp->auth.msg.hdcp2.repeater_auth_ack,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
643
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_ack));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
647
enum mod_hdcp_status mod_hdcp_write_stream_manage(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
651
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
652
status = write(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
654
hdcp->auth.msg.hdcp2.repeater_auth_stream_manage+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
655
hdcp->auth.msg.hdcp2.stream_manage_size-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
657
status = write(hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
659
hdcp->auth.msg.hdcp2.repeater_auth_stream_manage,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
660
hdcp->auth.msg.hdcp2.stream_manage_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
664
enum mod_hdcp_status mod_hdcp_write_content_type(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
668
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
669
status = write(hdcp, MOD_HDCP_MESSAGE_ID_WRITE_CONTENT_STREAM_TYPE,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
670
hdcp->auth.msg.hdcp2.content_stream_type_dp+1,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
671
sizeof(hdcp->auth.msg.hdcp2.content_stream_type_dp)-1);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
677
enum mod_hdcp_status mod_hdcp_clear_cp_irq_status(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
682
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
683
uint32_t cp_irq_addrs = (hdcp->connection.link.dp.rev >= 0x14)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
685
return hdcp->config.ddc.funcs.write_dpcd(hdcp->config.ddc.handle, cp_irq_addrs,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
692
static bool write_stall_read_lc_fw_aux(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
694
struct mod_hdcp_message_hdcp2 *hdcp2 = &hdcp->auth.msg.hdcp2;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
710
return hdcp->config.ddc.funcs.atomic_write_poll_read_aux(
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
711
hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
720
static bool write_poll_read_lc_fw_i2c(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
722
struct mod_hdcp_message_hdcp2 *hdcp2 = &hdcp->auth.msg.hdcp2;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
725
hdcp->buf[0] = hdcp_i2c_offsets[MOD_HDCP_MESSAGE_ID_WRITE_LC_INIT];
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
726
memmove(&hdcp->buf[1], hdcp2->lc_init, sizeof(hdcp2->lc_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
731
hdcp->buf,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
747
return hdcp->config.ddc.funcs.atomic_write_poll_read_i2c(
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
748
hdcp->config.ddc.handle,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
757
enum mod_hdcp_status mod_hdcp_write_poll_read_lc_fw(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c
759
const bool success = (is_dp_hdcp(hdcp) ? write_stall_read_lc_fw_aux : write_poll_read_lc_fw_i2c)(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
100
sizeof(hdcp->auth.msg.hdcp2.ake_pairing_info));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
101
HDCP_DDC_WRITE_TRACE(hdcp, "LC Init", hdcp->auth.msg.hdcp2.lc_init,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
102
sizeof(hdcp->auth.msg.hdcp2.lc_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
103
HDCP_DDC_READ_TRACE(hdcp, "L'", hdcp->auth.msg.hdcp2.lc_l_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
104
sizeof(hdcp->auth.msg.hdcp2.lc_l_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
105
HDCP_DDC_WRITE_TRACE(hdcp, "Exchange KS", hdcp->auth.msg.hdcp2.ske_eks,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
106
sizeof(hdcp->auth.msg.hdcp2.ske_eks));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
107
HDCP_DDC_READ_TRACE(hdcp, "Rx Status",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
108
(uint8_t *)&hdcp->auth.msg.hdcp2.rxstatus,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
109
sizeof(hdcp->auth.msg.hdcp2.rxstatus));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
110
HDCP_DDC_READ_TRACE(hdcp, "Rx Id List",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
111
hdcp->auth.msg.hdcp2.rx_id_list,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
112
hdcp->auth.msg.hdcp2.rx_id_list_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
113
HDCP_DDC_WRITE_TRACE(hdcp, "Rx Id List Ack",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
114
hdcp->auth.msg.hdcp2.repeater_auth_ack,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
115
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_ack));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
116
HDCP_DDC_WRITE_TRACE(hdcp, "Content Stream Management",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
117
hdcp->auth.msg.hdcp2.repeater_auth_stream_manage,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
118
hdcp->auth.msg.hdcp2.stream_manage_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
119
HDCP_DDC_READ_TRACE(hdcp, "Stream Ready",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
120
hdcp->auth.msg.hdcp2.repeater_auth_stream_ready,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
121
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
122
HDCP_DDC_WRITE_TRACE(hdcp, "Content Stream Type",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
123
hdcp->auth.msg.hdcp2.content_stream_type_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
124
sizeof(hdcp->auth.msg.hdcp2.content_stream_type_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
54
void mod_hdcp_log_ddc_trace(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
56
if (is_hdcp1(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
57
HDCP_DDC_READ_TRACE(hdcp, "BKSV", hdcp->auth.msg.hdcp1.bksv,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
58
sizeof(hdcp->auth.msg.hdcp1.bksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
59
HDCP_DDC_READ_TRACE(hdcp, "BCAPS", &hdcp->auth.msg.hdcp1.bcaps,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
60
sizeof(hdcp->auth.msg.hdcp1.bcaps));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
61
HDCP_DDC_READ_TRACE(hdcp, "BSTATUS",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
62
(uint8_t *)&hdcp->auth.msg.hdcp1.bstatus,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
63
sizeof(hdcp->auth.msg.hdcp1.bstatus));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
64
HDCP_DDC_WRITE_TRACE(hdcp, "AN", hdcp->auth.msg.hdcp1.an,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
65
sizeof(hdcp->auth.msg.hdcp1.an));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
66
HDCP_DDC_WRITE_TRACE(hdcp, "AKSV", hdcp->auth.msg.hdcp1.aksv,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
67
sizeof(hdcp->auth.msg.hdcp1.aksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
68
HDCP_DDC_WRITE_TRACE(hdcp, "AINFO", &hdcp->auth.msg.hdcp1.ainfo,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
69
sizeof(hdcp->auth.msg.hdcp1.ainfo));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
70
HDCP_DDC_READ_TRACE(hdcp, "RI' / R0'",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
71
(uint8_t *)&hdcp->auth.msg.hdcp1.r0p,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
72
sizeof(hdcp->auth.msg.hdcp1.r0p));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
73
HDCP_DDC_READ_TRACE(hdcp, "BINFO",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
74
(uint8_t *)&hdcp->auth.msg.hdcp1.binfo_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
75
sizeof(hdcp->auth.msg.hdcp1.binfo_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
76
HDCP_DDC_READ_TRACE(hdcp, "KSVLIST", hdcp->auth.msg.hdcp1.ksvlist,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
77
hdcp->auth.msg.hdcp1.ksvlist_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
78
HDCP_DDC_READ_TRACE(hdcp, "V'", hdcp->auth.msg.hdcp1.vp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
79
sizeof(hdcp->auth.msg.hdcp1.vp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
80
} else if (is_hdcp2(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
81
HDCP_DDC_READ_TRACE(hdcp, "HDCP2Version",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
82
&hdcp->auth.msg.hdcp2.hdcp2version_hdmi,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
83
sizeof(hdcp->auth.msg.hdcp2.hdcp2version_hdmi));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
84
HDCP_DDC_READ_TRACE(hdcp, "Rx Caps", hdcp->auth.msg.hdcp2.rxcaps_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
85
sizeof(hdcp->auth.msg.hdcp2.rxcaps_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
86
HDCP_DDC_WRITE_TRACE(hdcp, "AKE Init", hdcp->auth.msg.hdcp2.ake_init,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
87
sizeof(hdcp->auth.msg.hdcp2.ake_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
88
HDCP_DDC_READ_TRACE(hdcp, "AKE Cert", hdcp->auth.msg.hdcp2.ake_cert,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
89
sizeof(hdcp->auth.msg.hdcp2.ake_cert));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
90
HDCP_DDC_WRITE_TRACE(hdcp, "Stored KM",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
91
hdcp->auth.msg.hdcp2.ake_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
92
sizeof(hdcp->auth.msg.hdcp2.ake_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
93
HDCP_DDC_WRITE_TRACE(hdcp, "No Stored KM",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
94
hdcp->auth.msg.hdcp2.ake_no_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
95
sizeof(hdcp->auth.msg.hdcp2.ake_no_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
96
HDCP_DDC_READ_TRACE(hdcp, "H'", hdcp->auth.msg.hdcp2.ake_h_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
97
sizeof(hdcp->auth.msg.hdcp2.ake_h_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
98
HDCP_DDC_READ_TRACE(hdcp, "Pairing Info",
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.c
99
hdcp->auth.msg.hdcp2.ake_pairing_info,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
100
msg_name, hdcp->buf); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
102
#define HDCP_DDC_WRITE_TRACE(hdcp, msg_name, msg, msg_size) do { \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
103
mod_hdcp_dump_binary_message(msg, msg_size, hdcp->buf, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
104
sizeof(hdcp->buf)); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
105
HDCP_LOG_DDC(hdcp, "[Link %d] Write %s%s", \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
106
hdcp->config.index, msg_name,\
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
107
hdcp->buf); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
109
#define HDCP_TOP_ADD_DISPLAY_TRACE(hdcp, i) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
110
HDCP_LOG_TOP(hdcp, "[Link %d]\tadd display %d", \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
111
hdcp->config.index, i)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
112
#define HDCP_TOP_REMOVE_DISPLAY_TRACE(hdcp, i) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
113
HDCP_LOG_TOP(hdcp, "[Link %d]\tremove display %d", \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
114
hdcp->config.index, i)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
115
#define HDCP_TOP_HDCP1_DESTROY_SESSION_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
116
HDCP_LOG_TOP(hdcp, "[Link %d]\tdestroy hdcp1 session", \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
117
hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
118
#define HDCP_TOP_HDCP2_DESTROY_SESSION_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
119
HDCP_LOG_TOP(hdcp, "[Link %d]\tdestroy hdcp2 session", \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
120
hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
121
#define HDCP_TOP_RESET_AUTH_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
122
HDCP_LOG_TOP(hdcp, "[Link %d]\treset authentication", hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
123
#define HDCP_TOP_RESET_CONN_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
124
HDCP_LOG_TOP(hdcp, "[Link %d]\treset connection", hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
125
#define HDCP_TOP_INTERFACE_TRACE(hdcp) do { \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
126
HDCP_LOG_TOP(hdcp, "\n"); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
127
HDCP_LOG_TOP(hdcp, "[Link %d] %s", hdcp->config.index, __func__); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
129
#define HDCP_TOP_INTERFACE_TRACE_WITH_INDEX(hdcp, i) do { \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
130
HDCP_LOG_TOP(hdcp, "\n"); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
131
HDCP_LOG_TOP(hdcp, "[Link %d] %s display %d", hdcp->config.index, __func__, i); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
29
#define HDCP_LOG_ERR(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
30
#define HDCP_LOG_VER(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
31
#define HDCP_LOG_FSM(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
32
#define HDCP_LOG_TOP(hdcp, ...) pr_debug("[HDCP_TOP]:"__VA_ARGS__)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
33
#define HDCP_LOG_DDC(hdcp, ...) pr_debug("[HDCP_DDC]:"__VA_ARGS__)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
36
#define HDCP_ERROR_TRACE(hdcp, status) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
37
HDCP_LOG_ERR(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
39
hdcp->config.index, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
41
mod_hdcp_state_id_to_str(hdcp->state.id), \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
42
hdcp->state.stay_count)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
43
#define HDCP_HDCP1_ENABLED_TRACE(hdcp, displayIndex) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
44
HDCP_LOG_VER(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
46
hdcp->config.index, displayIndex)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
47
#define HDCP_HDCP2_ENABLED_TRACE(hdcp, displayIndex) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
48
HDCP_LOG_VER(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
50
hdcp->config.index, displayIndex)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
51
#define HDCP_HDCP1_DISABLED_TRACE(hdcp, displayIndex) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
52
HDCP_LOG_VER(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
54
hdcp->config.index, displayIndex)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
55
#define HDCP_HDCP2_DISABLED_TRACE(hdcp, displayIndex) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
56
HDCP_LOG_VER(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
58
hdcp->config.index, displayIndex)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
61
#define HDCP_REMOVE_DISPLAY_TRACE(hdcp, displayIndex) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
62
HDCP_LOG_FSM(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
64
hdcp->config.index, displayIndex)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
65
#define HDCP_INPUT_PASS_TRACE(hdcp, str) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
66
HDCP_LOG_FSM(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
68
hdcp->config.index, str)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
69
#define HDCP_INPUT_FAIL_TRACE(hdcp, str) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
70
HDCP_LOG_FSM(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
72
hdcp->config.index, str)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
73
#define HDCP_NEXT_STATE_TRACE(hdcp, id, output) do { \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
75
HDCP_LOG_FSM(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
77
hdcp->config.index, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
80
HDCP_LOG_FSM(hdcp, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
81
"[Link %d] > %s", hdcp->config.index, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
84
#define HDCP_TIMEOUT_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
85
HDCP_LOG_FSM(hdcp, "[Link %d] --> TIMEOUT", hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
86
#define HDCP_CPIRQ_TRACE(hdcp) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
87
HDCP_LOG_FSM(hdcp, "[Link %d] --> CPIRQ", hdcp->config.index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
88
#define HDCP_EVENT_TRACE(hdcp, event) \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
91
HDCP_TIMEOUT_TRACE(hdcp); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
93
HDCP_CPIRQ_TRACE(hdcp); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
96
#define HDCP_DDC_READ_TRACE(hdcp, msg_name, msg, msg_size) do { \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
97
mod_hdcp_dump_binary_message(msg, msg_size, hdcp->buf, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
98
sizeof(hdcp->buf)); \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_log.h
99
HDCP_LOG_DDC(hdcp, "[Link %d] Read %s%s", hdcp->config.index, \
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
1011
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
1015
msg_in->process.msg1_desc.msg_size = sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
1017
memcpy(&msg_in->process.receiver_message[0], hdcp->auth.msg.hdcp2.repeater_auth_stream_ready,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
1018
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_ready));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
111
status = remove_display_from_topology_v2(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
116
HDCP_TOP_REMOVE_DISPLAY_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
123
struct mod_hdcp *hdcp, struct mod_hdcp_display *display)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
125
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
127
struct mod_hdcp_link *link = &hdcp->connection.link;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
148
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
162
HDCP_TOP_ADD_DISPLAY_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
170
struct mod_hdcp *hdcp, struct mod_hdcp_display *display)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
172
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
174
struct mod_hdcp_link *link = &hdcp->connection.link;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
195
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
214
status = add_display_to_topology_v2(hdcp, display);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
218
HDCP_TOP_ADD_DISPLAY_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
225
struct mod_hdcp *hdcp, uint8_t index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
229
if (hdcp->config.psp.caps.dtm_v3_supported)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
230
status = remove_display_from_topology_v3(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
232
status = remove_display_from_topology_v2(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
237
enum mod_hdcp_status mod_hdcp_add_display_to_topology(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
242
if (hdcp->config.psp.caps.dtm_v3_supported)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
243
status = add_display_to_topology_v3(hdcp, display);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
245
status = add_display_to_topology_v2(hdcp, display);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
250
enum mod_hdcp_status mod_hdcp_hdcp1_create_session(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
253
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
254
struct mod_hdcp_display *display = get_first_active_display(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
276
hdcp->auth.id = hdcp_cmd->out_msg.hdcp1_create_session.session_handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
281
hdcp->auth.msg.hdcp1.ainfo = hdcp_cmd->out_msg.hdcp1_create_session.ainfo_primary;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
282
memcpy(hdcp->auth.msg.hdcp1.aksv, hdcp_cmd->out_msg.hdcp1_create_session.aksv_primary,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
283
sizeof(hdcp->auth.msg.hdcp1.aksv));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
284
memcpy(hdcp->auth.msg.hdcp1.an, hdcp_cmd->out_msg.hdcp1_create_session.an_primary,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
285
sizeof(hdcp->auth.msg.hdcp1.an));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
292
enum mod_hdcp_status mod_hdcp_hdcp1_destroy_session(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
295
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
304
hdcp_cmd->in_msg.hdcp1_destroy_session.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
312
HDCP_TOP_HDCP1_DESTROY_SESSION_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
314
if (is_display_encryption_enabled(&hdcp->displays[i])) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
315
hdcp->displays[i].state =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
318
hdcp, hdcp->displays[i].index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
326
enum mod_hdcp_status mod_hdcp_hdcp1_validate_rx(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
328
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
336
hdcp_cmd->in_msg.hdcp1_first_part_authentication.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
338
memcpy(hdcp_cmd->in_msg.hdcp1_first_part_authentication.bksv_primary, hdcp->auth.msg.hdcp1.bksv,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
34
static void hdcp2_message_init(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
341
hdcp_cmd->in_msg.hdcp1_first_part_authentication.r0_prime_primary = hdcp->auth.msg.hdcp1.r0p;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
342
hdcp_cmd->in_msg.hdcp1_first_part_authentication.bcaps = hdcp->auth.msg.hdcp1.bcaps;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
352
hdcp->connection.is_repeater = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
355
hdcp->connection.is_repeater = 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
358
hdcp->connection.is_hdcp1_revoked = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
367
enum mod_hdcp_status mod_hdcp_hdcp1_enable_encryption(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
369
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
37
in->session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
371
struct mod_hdcp_display *display = get_first_active_display(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
381
hdcp_cmd->in_msg.hdcp1_enable_encryption.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
388
} else if (!is_dp_mst_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
390
HDCP_HDCP1_ENABLED_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
397
enum mod_hdcp_status mod_hdcp_hdcp1_validate_ksvlist_vp(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
399
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
407
hdcp_cmd->in_msg.hdcp1_second_part_authentication.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
409
hdcp_cmd->in_msg.hdcp1_second_part_authentication.ksv_list_size = hdcp->auth.msg.hdcp1.ksvlist_size;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
410
memcpy(hdcp_cmd->in_msg.hdcp1_second_part_authentication.ksv_list, hdcp->auth.msg.hdcp1.ksvlist,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
411
hdcp->auth.msg.hdcp1.ksvlist_size);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
413
memcpy(hdcp_cmd->in_msg.hdcp1_second_part_authentication.v_prime, hdcp->auth.msg.hdcp1.vp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
414
sizeof(hdcp->auth.msg.hdcp1.vp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
417
is_dp_hdcp(hdcp) ? hdcp->auth.msg.hdcp1.binfo_dp : hdcp->auth.msg.hdcp1.bstatus;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
428
hdcp->connection.is_hdcp1_revoked = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
438
enum mod_hdcp_status mod_hdcp_hdcp1_enable_dp_stream_encryption(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
441
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
451
if (hdcp->displays[i].adjust.disable || hdcp->displays[i].state != MOD_HDCP_DISPLAY_ACTIVE)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
456
hdcp_cmd->in_msg.hdcp1_enable_dp_stream_encryption.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
457
hdcp_cmd->in_msg.hdcp1_enable_dp_stream_encryption.display_handle = hdcp->displays[i].index;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
467
hdcp->displays[i].state = MOD_HDCP_DISPLAY_ENCRYPTION_ENABLED;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
468
HDCP_HDCP1_ENABLED_TRACE(hdcp, hdcp->displays[i].index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
475
enum mod_hdcp_status mod_hdcp_hdcp1_link_maintenance(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
477
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
486
hdcp_cmd->in_msg.hdcp1_get_encryption_status.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
49
struct mod_hdcp *hdcp, uint8_t index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
501
enum mod_hdcp_status mod_hdcp_hdcp2_create_session(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
503
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
505
struct mod_hdcp_display *display = get_first_active_display(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
51
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
524
if (hdcp->connection.link.adjust.hdcp2.force_type == MOD_HDCP_FORCE_TYPE_0)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
527
else if (hdcp->connection.link.adjust.hdcp2.force_type == MOD_HDCP_FORCE_TYPE_1)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
530
else if (hdcp->connection.link.adjust.hdcp2.force_type == MOD_HDCP_FORCE_TYPE_MAX)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
54
get_active_display_at_index(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
542
hdcp->auth.id = hdcp_cmd->out_msg.hdcp2_create_session_v2.session_handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
548
enum mod_hdcp_status mod_hdcp_hdcp2_destroy_session(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
550
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
559
hdcp_cmd->in_msg.hdcp2_destroy_session.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
567
HDCP_TOP_HDCP2_DESTROY_SESSION_TRACE(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
569
if (is_display_encryption_enabled(&hdcp->displays[i])) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
570
hdcp->displays[i].state =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
573
hdcp, hdcp->displays[i].index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
581
enum mod_hdcp_status mod_hdcp_hdcp2_prepare_ake_init(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
583
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
596
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
606
memcpy(&hdcp->auth.msg.hdcp2.ake_init[0], &msg_out->prepare.transmitter_message[0],
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
607
sizeof(hdcp->auth.msg.hdcp2.ake_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
613
enum mod_hdcp_status mod_hdcp_hdcp2_validate_ake_cert(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
615
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
628
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
633
memcpy(&msg_in->process.receiver_message[0], hdcp->auth.msg.hdcp2.ake_cert,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
634
sizeof(hdcp->auth.msg.hdcp2.ake_cert));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
646
memcpy(hdcp->auth.msg.hdcp2.ake_no_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
648
sizeof(hdcp->auth.msg.hdcp2.ake_no_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
650
memcpy(hdcp->auth.msg.hdcp2.ake_stored_km,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
651
&msg_out->prepare.transmitter_message[sizeof(hdcp->auth.msg.hdcp2.ake_no_stored_km)],
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
652
sizeof(hdcp->auth.msg.hdcp2.ake_stored_km));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
656
hdcp->connection.is_km_stored =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
658
hdcp->connection.is_repeater =
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
663
hdcp->connection.is_hdcp2_revoked = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
673
enum mod_hdcp_status mod_hdcp_hdcp2_validate_h_prime(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
675
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
688
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
693
memcpy(&msg_in->process.receiver_message[0], hdcp->auth.msg.hdcp2.ake_h_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
694
sizeof(hdcp->auth.msg.hdcp2.ake_h_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
696
if (!hdcp->connection.is_km_stored) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
699
memcpy(&msg_in->process.receiver_message[sizeof(hdcp->auth.msg.hdcp2.ake_h_prime)],
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
700
hdcp->auth.msg.hdcp2.ake_pairing_info, sizeof(hdcp->auth.msg.hdcp2.ake_pairing_info));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
711
else if (!hdcp->connection.is_km_stored &&
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
719
enum mod_hdcp_status mod_hdcp_hdcp2_prepare_lc_init(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
721
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
734
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
745
memcpy(hdcp->auth.msg.hdcp2.lc_init, &msg_out->prepare.transmitter_message[0],
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
746
sizeof(hdcp->auth.msg.hdcp2.lc_init));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
752
enum mod_hdcp_status mod_hdcp_hdcp2_validate_l_prime(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
754
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
767
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
77
HDCP_TOP_REMOVE_DISPLAY_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
772
memcpy(&msg_in->process.receiver_message[0], hdcp->auth.msg.hdcp2.lc_l_prime,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
773
sizeof(hdcp->auth.msg.hdcp2.lc_l_prime));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
787
enum mod_hdcp_status mod_hdcp_hdcp2_prepare_eks(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
789
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
802
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
806
if (is_dp_hdcp(hdcp))
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
815
memcpy(hdcp->auth.msg.hdcp2.ske_eks,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
817
sizeof(hdcp->auth.msg.hdcp2.ske_eks));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
819
sizeof(hdcp->auth.msg.hdcp2.ske_eks);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
821
if (is_dp_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
822
memcpy(hdcp->auth.msg.hdcp2.content_stream_type_dp,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
823
&msg_out->prepare.transmitter_message[sizeof(hdcp->auth.msg.hdcp2.ske_eks)],
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
824
sizeof(hdcp->auth.msg.hdcp2.content_stream_type_dp));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
832
enum mod_hdcp_status mod_hdcp_hdcp2_enable_encryption(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
834
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
836
struct mod_hdcp_display *display = get_first_active_display(hdcp);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
847
hdcp_cmd->in_msg.hdcp2_set_encryption.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
85
struct mod_hdcp *hdcp, uint8_t index)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
854
} else if (!is_dp_mst_hdcp(hdcp)) {
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
856
HDCP_HDCP2_ENABLED_TRACE(hdcp, display->index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
863
enum mod_hdcp_status mod_hdcp_hdcp2_validate_rx_id_list(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
865
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
87
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
879
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
882
msg_in->process.msg1_desc.msg_size = sizeof(hdcp->auth.msg.hdcp2.rx_id_list);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
883
memcpy(&msg_in->process.receiver_message[0], hdcp->auth.msg.hdcp2.rx_id_list,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
884
sizeof(hdcp->auth.msg.hdcp2.rx_id_list));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
895
memcpy(hdcp->auth.msg.hdcp2.repeater_auth_ack,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
897
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_ack));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
90
get_active_display_at_index(hdcp, index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
901
hdcp->connection.is_km_stored = msg_out->process.is_km_stored ? 1 : 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
902
hdcp->connection.is_repeater = msg_out->process.is_repeater ? 1 : 0;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
906
hdcp->connection.is_hdcp2_revoked = 1;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
916
enum mod_hdcp_status mod_hdcp_hdcp2_enable_dp_stream_encryption(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
918
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
930
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
934
if (hdcp->displays[i].adjust.disable || hdcp->displays[i].state != MOD_HDCP_DISPLAY_ACTIVE)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
937
hdcp_cmd->in_msg.hdcp2_enable_dp_stream_encryption.display_handle = hdcp->displays[i].index;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
938
hdcp_cmd->in_msg.hdcp2_enable_dp_stream_encryption.session_handle = hdcp->auth.id;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
946
hdcp->displays[i].state = MOD_HDCP_DISPLAY_ENCRYPTION_ENABLED;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
947
HDCP_HDCP2_ENABLED_TRACE(hdcp, hdcp->displays[i].index);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
959
enum mod_hdcp_status mod_hdcp_hdcp2_prepare_stream_management(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
962
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
975
hdcp2_message_init(hdcp, msg_in);
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
986
hdcp->auth.msg.hdcp2.stream_manage_size = msg_out->prepare.msg1_desc.msg_size;
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
988
memcpy(hdcp->auth.msg.hdcp2.repeater_auth_stream_manage,
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
990
sizeof(hdcp->auth.msg.hdcp2.repeater_auth_stream_manage));
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
996
enum mod_hdcp_status mod_hdcp_hdcp2_validate_stream_ready(struct mod_hdcp *hdcp)
sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_psp.c
998
struct psp_context *psp = hdcp->config.psp.handle;
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
317
enum mod_hdcp_status mod_hdcp_setup(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
321
enum mod_hdcp_status mod_hdcp_teardown(struct mod_hdcp *hdcp);
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
324
enum mod_hdcp_status mod_hdcp_add_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
329
enum mod_hdcp_status mod_hdcp_remove_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
333
enum mod_hdcp_status mod_hdcp_update_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
340
enum mod_hdcp_status mod_hdcp_query_display(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
344
enum mod_hdcp_status mod_hdcp_reset_connection(struct mod_hdcp *hdcp,
sys/dev/pci/drm/amd/display/modules/inc/mod_hdcp.h
348
enum mod_hdcp_status mod_hdcp_process_event(struct mod_hdcp *hdcp,
sys/dev/pci/drm/i915/display/intel_ddi.c
4600
kfree(dig_port->hdcp.port_data.streams);
sys/dev/pci/drm/i915/display/intel_display_core.h
434
} hdcp;
sys/dev/pci/drm/i915/display/intel_display_driver.c
194
rw_init(&display->hdcp.hdcp_mutex, "hdcpc");
sys/dev/pci/drm/i915/display/intel_display_types.h
1916
} hdcp;
sys/dev/pci/drm/i915/display/intel_display_types.h
569
struct intel_hdcp hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
404
struct intel_hdcp *hdcp = &dp->attached_connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
409
if (msg_id == HDCP_2_2_AKE_SEND_HPRIME && !hdcp->is_paired)
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
45
struct intel_hdcp *hdcp = &dp->attached_connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
48
#define C (hdcp->cp_irq_count_cached != atomic_read(&hdcp->cp_irq_count))
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
49
ret = wait_event_interruptible_timeout(hdcp->cp_irq_queue, C,
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
522
struct intel_hdcp *hdcp = &dp->attached_connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
540
hdcp->cp_irq_count_cached = atomic_read(&hdcp->cp_irq_count);
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
752
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
756
hdcp->stream_transcoder, enable,
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
770
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
772
enum transcoder cpu_transcoder = hdcp->stream_transcoder;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
802
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
803
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
804
enum transcoder cpu_transcoder = hdcp->stream_transcoder;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
848
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
857
if (hdcp->is_repeater) {
sys/dev/pci/drm/i915/display/intel_encoder.c
120
rw_init(&dig_port->hdcp.mutex, "dhdcp");
sys/dev/pci/drm/i915/display/intel_hdcp.c
1004
transcoder_name(hdcp->stream_transcoder));
sys/dev/pci/drm/i915/display/intel_hdcp.c
1010
if (dig_port->hdcp.num_streams > 0)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1014
hdcp->hdcp_encrypted = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1028
ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder, false);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1041
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1064
intel_hdcp_adjust_hdcp_line_rekeying(connector->encoder, hdcp, true);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1070
hdcp->hdcp_encrypted = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1085
static struct intel_connector *intel_hdcp_to_connector(struct intel_hdcp *hdcp)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1087
return container_of(hdcp, struct intel_connector, hdcp);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1095
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1097
drm_WARN_ON(display->drm, !mutex_is_locked(&hdcp->mutex));
sys/dev/pci/drm/i915/display/intel_hdcp.c
1099
if (hdcp->value == value)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1102
drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port->hdcp.mutex));
sys/dev/pci/drm/i915/display/intel_hdcp.c
1104
if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1105
if (!drm_WARN_ON(display->drm, dig_port->hdcp.num_streams == 0))
sys/dev/pci/drm/i915/display/intel_hdcp.c
1106
dig_port->hdcp.num_streams--;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1108
dig_port->hdcp.num_streams++;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1111
hdcp->value = value;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1114
if (!queue_work(display->wq.unordered, &hdcp->prop_work))
sys/dev/pci/drm/i915/display/intel_hdcp.c
1124
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1129
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1130
mutex_lock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1132
cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1135
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED ||
sys/dev/pci/drm/i915/display/intel_hdcp.c
1136
!hdcp->hdcp_encrypted) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1154
if (hdcp->shim->check_link(dig_port, connector)) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1155
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1185
mutex_unlock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1186
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
119
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1192
struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1194
struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1198
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1205
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1207
hdcp->value);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1209
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1227
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
123
if (dig_port->hdcp.auth_status)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1231
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1232
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1235
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1243
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1257
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1261
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1262
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1265
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1275
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
128
if (!dig_port->hdcp.mst_type1_capable)
sys/dev/pci/drm/i915/display/intel_hdcp.c
1285
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1289
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1290
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1293
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1300
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1311
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1315
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1316
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1319
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1327
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1338
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1342
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1343
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1346
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1354
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1365
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1369
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1370
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1373
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1381
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1391
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1395
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1396
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1399
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1407
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1420
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1424
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1425
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1428
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1439
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1450
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1454
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1455
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1458
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1465
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1474
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1478
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1479
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1482
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1490
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1502
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1503
arbiter = display->hdcp.arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1506
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1511
&dig_port->hdcp.port_data);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1512
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1528
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1536
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1541
hdcp->seq_num_v = 0;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1542
hdcp->seq_num_m = 0;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1592
hdcp->is_repeater = HDCP_2_2_RX_REPEATER(msgs.send_cert.rx_caps[2]);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1606
&hdcp->is_paired,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1624
if (!hdcp->is_paired) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1636
hdcp->is_paired = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1644
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1649
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1679
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1687
ret = hdcp->shim->write_2_2_msg(connector, &send_eks,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1699
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1700
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1705
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1708
if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX)
sys/dev/pci/drm/i915/display/intel_hdcp.c
171
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1713
drm_hdcp_cpu_to_be24(msgs.stream_manage.seq_num_m, hdcp->seq_num_m);
sys/dev/pci/drm/i915/display/intel_hdcp.c
172
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1735
data->seq_num_m = hdcp->seq_num_m;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1740
hdcp->seq_num_m++;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1750
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1755
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1777
dig_port->hdcp.mst_type1_capable =
sys/dev/pci/drm/i915/display/intel_hdcp.c
1781
if (!dig_port->hdcp.mst_type1_capable && hdcp->content_type) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
179
data->streams[0].stream_type = hdcp->content_type;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1791
if (!hdcp->hdcp2_encrypted && seq_num_v) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1797
if (seq_num_v < hdcp->seq_num_v) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1818
hdcp->seq_num_v = seq_num_v;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1830
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1831
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1855
hdcp->is_repeater,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1856
hdcp->content_type);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1861
if (hdcp->is_repeater) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1877
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1878
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1879
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1891
if (hdcp->shim->stream_2_2_encryption) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1892
ret = hdcp->shim->stream_2_2_encryption(connector, true);
sys/dev/pci/drm/i915/display/intel_hdcp.c
1899
transcoder_name(hdcp->stream_transcoder));
sys/dev/pci/drm/i915/display/intel_hdcp.c
1908
dig_port->hdcp.auth_status = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1918
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1920
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1926
if (hdcp->shim->toggle_signalling) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1927
ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1948
dig_port->hdcp.auth_status = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1957
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1959
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
1977
if (hdcp->shim->toggle_signalling) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
1978
ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder,
sys/dev/pci/drm/i915/display/intel_hdcp.c
1997
if (!connector->hdcp.is_repeater)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2006
if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2027
for (i = 0; i < tries && !dig_port->hdcp.auth_status; i++) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2060
if (!ret && !dig_port->hdcp.auth_status) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2085
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2090
hdcp->content_type);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2092
intel_hdcp_adjust_hdcp_line_rekeying(connector->encoder, hdcp, false);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2097
hdcp->content_type, ret);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2103
hdcp->content_type);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2105
hdcp->hdcp2_encrypted = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2114
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2115
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2121
if (hdcp->shim->stream_2_2_encryption) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2122
ret = hdcp->shim->stream_2_2_encryption(connector, false);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2129
transcoder_name(hdcp->stream_transcoder));
sys/dev/pci/drm/i915/display/intel_hdcp.c
2131
if (dig_port->hdcp.num_streams > 0 && !hdcp2_link_recovery)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2140
connector->hdcp.hdcp2_encrypted = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2141
dig_port->hdcp.auth_status = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2152
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2157
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2158
mutex_lock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2159
cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2162
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED ||
sys/dev/pci/drm/i915/display/intel_hdcp.c
2163
!hdcp->hdcp2_encrypted) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2181
ret = hdcp->shim->check_2_2_link(dig_port, connector);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2183
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2192
if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2229
mutex_unlock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2230
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2236
struct intel_hdcp *hdcp = container_of(to_delayed_work(work),
sys/dev/pci/drm/i915/display/intel_hdcp.c
2239
struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
sys/dev/pci/drm/i915/display/intel_hdcp.c
224
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2246
queue_delayed_work(display->wq.unordered, &hdcp->check_work,
sys/dev/pci/drm/i915/display/intel_hdcp.c
2249
queue_delayed_work(display->wq.unordered, &hdcp->check_work,
sys/dev/pci/drm/i915/display/intel_hdcp.c
2260
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2261
display->hdcp.arbiter = (struct i915_hdcp_arbiter *)data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2262
display->hdcp.arbiter->hdcp_dev = mei_kdev;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2263
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2274
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2275
display->hdcp.arbiter = NULL;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2276
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2314
struct hdcp_port_data *data = &dig_port->hdcp.port_data;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2371
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2372
drm_WARN_ON(display->drm, display->hdcp.comp_added);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2374
display->hdcp.comp_added = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2375
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2385
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2386
display->hdcp.comp_added = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2387
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2398
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2407
hdcp->hdcp2_supported = true;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2415
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2425
hdcp->hdcp2_supported);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2427
hdcp->hdcp2_supported = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2428
kfree(dig_port->hdcp.port_data.streams);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2432
hdcp->shim = shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2433
rw_init(&hdcp->mutex, "ihdcp");
sys/dev/pci/drm/i915/display/intel_hdcp.c
2434
INIT_DELAYED_WORK(&hdcp->check_work, intel_hdcp_check_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2435
INIT_WORK(&hdcp->prop_work, intel_hdcp_prop_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2436
init_waitqueue_head(&hdcp->cp_irq_queue);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2453
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2457
if (!hdcp->shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2460
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2461
mutex_lock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2463
hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2464
hdcp->content_type = (u8)conn_state->hdcp_content_type;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2467
hdcp->cpu_transcoder = pipe_config->mst_master_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2468
hdcp->stream_transcoder = pipe_config->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2470
hdcp->cpu_transcoder = pipe_config->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2471
hdcp->stream_transcoder = INVALID_TRANSCODER;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2475
dig_port->hdcp.port_data.hdcp_transcoder =
sys/dev/pci/drm/i915/display/intel_hdcp.c
2476
intel_get_hdcp_transcoder(hdcp->cpu_transcoder);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2482
if (!hdcp->force_hdcp14 && intel_hdcp2_get_capability(connector)) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2489
if (hdcp->force_hdcp14)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2497
hdcp->content_type != DRM_MODE_HDCP_CONTENT_TYPE1) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2502
queue_delayed_work(display->wq.unordered, &hdcp->check_work,
sys/dev/pci/drm/i915/display/intel_hdcp.c
2509
mutex_unlock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2510
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2522
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
253
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2531
DRM_MODE_CONTENT_PROTECTION_ENABLED && hdcp->value ==
sys/dev/pci/drm/i915/display/intel_hdcp.c
2539
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2542
if (!hdcp->shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2545
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2546
mutex_lock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2548
if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2553
if (hdcp->hdcp2_encrypted)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2555
else if (hdcp->hdcp_encrypted)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2559
mutex_unlock(&dig_port->hdcp.mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
256
if (!hdcp->hdcp2_supported)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2560
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2561
cancel_delayed_work_sync(&hdcp->check_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2572
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2576
if (!connector->hdcp.shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2580
(conn_state->hdcp_content_type != hdcp->content_type &&
sys/dev/pci/drm/i915/display/intel_hdcp.c
2598
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2599
hdcp->value = DRM_MODE_CONTENT_PROTECTION_DESIRED;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2601
if (!queue_work(display->wq.unordered, &hdcp->prop_work))
sys/dev/pci/drm/i915/display/intel_hdcp.c
2603
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2608
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2611
hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2612
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2619
if (!queue_work(display->wq.unordered, &hdcp->prop_work))
sys/dev/pci/drm/i915/display/intel_hdcp.c
2631
if (!connector->hdcp.shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2634
cancel_delayed_work_sync(&connector->hdcp.check_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2635
cancel_work_sync(&connector->hdcp.prop_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2640
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2641
if (!display->hdcp.comp_added) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2642
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2646
display->hdcp.comp_added = false;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2647
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2657
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2659
if (!hdcp->shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
266
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
267
if (!display->hdcp.comp_added || !display->hdcp.arbiter) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
2673
cancel_delayed_work_sync(&hdcp->check_work);
sys/dev/pci/drm/i915/display/intel_hdcp.c
268
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2684
drm_WARN_ON(connector->base.dev, work_pending(&hdcp->prop_work));
sys/dev/pci/drm/i915/display/intel_hdcp.c
2686
mutex_lock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2687
hdcp->shim = NULL;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2688
mutex_unlock(&hdcp->mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
271
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2741
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2744
if (!hdcp->shim)
sys/dev/pci/drm/i915/display/intel_hdcp.c
2747
atomic_inc(&connector->hdcp.cp_irq_count);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2748
wake_up_all(&connector->hdcp.cp_irq_queue);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2750
queue_delayed_work(display->wq.unordered, &hdcp->check_work, 0);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2760
if (!connector->hdcp.shim) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
279
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2827
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2838
hdcp->force_hdcp14 = force_hdcp14;
sys/dev/pci/drm/i915/display/intel_hdcp.c
2849
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
286
hdcp->shim->hdcp_2_2_get_capability(connector, &capable);
sys/dev/pci/drm/i915/display/intel_hdcp.c
2867
str_yes_no(hdcp->force_hdcp14));
sys/dev/pci/drm/i915/display/intel_hdcp.c
295
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
297
if (!hdcp->shim->get_remote_hdcp_capability)
sys/dev/pci/drm/i915/display/intel_hdcp.c
300
hdcp->shim->get_remote_hdcp_capability(connector, hdcp_capable,
sys/dev/pci/drm/i915/display/intel_hdcp.c
46
struct intel_hdcp *hdcp,
sys/dev/pci/drm/i915/display/intel_hdcp.c
487
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
58
rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder);
sys/dev/pci/drm/i915/display/intel_hdcp.c
62
rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder);
sys/dev/pci/drm/i915/display/intel_hdcp.c
65
rekey_reg = CHICKEN_TRANS(display, hdcp->cpu_transcoder);
sys/dev/pci/drm/i915/display/intel_hdcp.c
729
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
812
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
813
const struct intel_hdcp_shim *shim = hdcp->shim;
sys/dev/pci/drm/i915/display/intel_hdcp.c
814
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
973
transcoder_name(hdcp->stream_transcoder));
sys/dev/pci/drm/i915/display/intel_hdcp.c
987
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdcp.c
989
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdcp.c
996
if (hdcp->shim->stream_encryption) {
sys/dev/pci/drm/i915/display/intel_hdcp.c
997
ret = hdcp->shim->stream_encryption(connector, false);
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
100
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
169
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
223
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
280
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
332
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
37
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
389
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
447
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
515
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
582
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
633
gsc_context = display->hdcp.gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
690
mutex_lock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
699
display->hdcp.arbiter = arbiter;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
700
display->hdcp.arbiter->hdcp_dev = display->drm->dev;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
701
display->hdcp.arbiter->ops = &gsc_hdcp_ops;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
702
display->hdcp.gsc_context = gsc_context;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
705
mutex_unlock(&display->hdcp.hdcp_mutex);
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
712
intel_hdcp_gsc_context_free(display->hdcp.gsc_context);
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
713
display->hdcp.gsc_context = NULL;
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
714
kfree(display->hdcp.arbiter);
sys/dev/pci/drm/i915/display/intel_hdcp_gsc_message.c
715
display->hdcp.arbiter = NULL;
sys/dev/pci/drm/i915/display/intel_hdmi.c
1573
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_hdmi.c
1724
struct intel_hdcp *hdcp = &hdmi->attached_connector->hdcp;
sys/dev/pci/drm/i915/display/intel_hdmi.c
1729
hdcp->is_paired);
sys/dev/pci/drm/i915/display/intel_psr.c
1606
struct intel_hdcp *hdcp = &connector->hdcp;
sys/dev/pci/drm/i915/display/intel_psr.c
1642
DRM_MODE_CONTENT_PROTECTION_ENABLED && hdcp->value ==