Lines Matching +full:output +full:- +full:disable
31 struct mod_hdcp_trace *trace = &hdcp->connection.trace; in push_error_status()
33 if (trace->error_count < MAX_NUM_OF_ERROR_TRACE) { in push_error_status()
34 trace->errors[trace->error_count].status = status; in push_error_status()
35 trace->errors[trace->error_count].state_id = hdcp->state.id; in push_error_status()
36 trace->error_count++; in push_error_status()
41 hdcp->connection.hdcp1_retry_count++; in push_error_status()
42 if (hdcp->connection.hdcp1_retry_count == MAX_NUM_OF_ATTEMPTS) in push_error_status()
43 hdcp->connection.link.adjust.hdcp1.disable = 1; in push_error_status()
45 hdcp->connection.hdcp2_retry_count++; in push_error_status()
46 if (hdcp->connection.hdcp2_retry_count == MAX_NUM_OF_ATTEMPTS) in push_error_status()
47 hdcp->connection.link.adjust.hdcp2.disable = 1; in push_error_status()
59 if (hdcp->displays[i].state != MOD_HDCP_DISPLAY_INACTIVE && in is_cp_desired_hdcp1()
60 hdcp->displays[i].adjust.disable != MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION) { in is_cp_desired_hdcp1()
67 !hdcp->connection.link.adjust.hdcp1.disable && in is_cp_desired_hdcp1()
68 !hdcp->connection.is_hdcp1_revoked; in is_cp_desired_hdcp1()
79 if (hdcp->displays[i].state != MOD_HDCP_DISPLAY_INACTIVE && in is_cp_desired_hdcp2()
80 hdcp->displays[i].adjust.disable != MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION) { in is_cp_desired_hdcp2()
87 !hdcp->connection.link.adjust.hdcp2.disable && in is_cp_desired_hdcp2()
88 !hdcp->connection.is_hdcp2_revoked; in is_cp_desired_hdcp2()
98 if (event_ctx->event != MOD_HDCP_EVENT_CALLBACK) { in execution()
99 event_ctx->unexpected_event = 1; in execution()
105 if (event_ctx->event != MOD_HDCP_EVENT_CALLBACK) { in execution()
106 event_ctx->unexpected_event = 1; in execution()
110 status = mod_hdcp_hdcp1_execution(hdcp, event_ctx, &input->hdcp1); in execution()
113 event_ctx, &input->hdcp1); in execution()
115 status = mod_hdcp_hdcp2_execution(hdcp, event_ctx, &input->hdcp2); in execution()
118 event_ctx, &input->hdcp2); in execution()
120 event_ctx->unexpected_event = 1; in execution()
130 struct mod_hdcp_output *output) in transition() argument
134 if (event_ctx->unexpected_event) in transition()
140 callback_in_ms(0, output); in transition()
141 set_state_id(hdcp, output, D2_A0_DETERMINE_RX_HDCP_CAPABLE); in transition()
143 callback_in_ms(0, output); in transition()
144 set_state_id(hdcp, output, D1_A0_DETERMINE_RX_HDCP_CAPABLE); in transition()
146 callback_in_ms(0, output); in transition()
147 set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED); in transition()
148 set_auth_complete(hdcp, output); in transition()
152 callback_in_ms(0, output); in transition()
153 set_state_id(hdcp, output, H2_A0_KNOWN_HDCP2_CAPABLE_RX); in transition()
155 callback_in_ms(0, output); in transition()
156 set_state_id(hdcp, output, H1_A0_WAIT_FOR_ACTIVE_RX); in transition()
158 callback_in_ms(0, output); in transition()
159 set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED); in transition()
160 set_auth_complete(hdcp, output); in transition()
163 callback_in_ms(0, output); in transition()
164 set_state_id(hdcp, output, HDCP_CP_NOT_DESIRED); in transition()
165 set_auth_complete(hdcp, output); in transition()
171 event_ctx, &input->hdcp1, output); in transition()
174 event_ctx, &input->hdcp1, output); in transition()
177 event_ctx, &input->hdcp2, output); in transition()
180 event_ctx, &input->hdcp2, output); in transition()
189 struct mod_hdcp_output *output) in reset_authentication() argument
194 if (hdcp->auth.trans_input.hdcp1.create_session != UNKNOWN) { in reset_authentication()
195 /* TODO - update psp to unify create session failure in reset_authentication()
203 memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication)); in reset_authentication()
204 memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state)); in reset_authentication()
205 set_state_id(hdcp, output, HDCP_INITIALIZED); in reset_authentication()
207 if (hdcp->auth.trans_input.hdcp2.create_session == PASS) { in reset_authentication()
210 output->callback_needed = 0; in reset_authentication()
211 output->watchdog_timer_needed = 0; in reset_authentication()
217 memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication)); in reset_authentication()
218 memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state)); in reset_authentication()
219 set_state_id(hdcp, output, HDCP_INITIALIZED); in reset_authentication()
222 memset(&hdcp->auth, 0, sizeof(struct mod_hdcp_authentication)); in reset_authentication()
223 memset(&hdcp->state, 0, sizeof(struct mod_hdcp_state)); in reset_authentication()
224 set_state_id(hdcp, output, HDCP_INITIALIZED); in reset_authentication()
229 output->watchdog_timer_stop = 1; in reset_authentication()
230 output->callback_stop = 1; in reset_authentication()
235 struct mod_hdcp_output *output) in reset_connection() argument
239 memset(output, 0, sizeof(struct mod_hdcp_output)); in reset_connection()
241 status = reset_authentication(hdcp, output); in reset_connection()
247 set_state_id(hdcp, output, HDCP_UNINITIALIZED); in reset_connection()
249 memset(&hdcp->connection, 0, sizeof(hdcp->connection)); in reset_connection()
262 display->adjust.disable == true && in update_display_adjustments()
263 adj->disable == false) { in update_display_adjustments()
264 display->adjust.disable = false; in update_display_adjustments()
271 display->adjust.disable = true; in update_display_adjustments()
275 memcmp(adj, &display->adjust, in update_display_adjustments()
292 struct mod_hdcp_output output; in mod_hdcp_setup() local
295 memset(&output, 0, sizeof(output)); in mod_hdcp_setup()
296 hdcp->config = *config; in mod_hdcp_setup()
298 status = reset_connection(hdcp, &output); in mod_hdcp_setup()
307 struct mod_hdcp_output output; in mod_hdcp_teardown() local
310 memset(&output, 0, sizeof(output)); in mod_hdcp_teardown()
311 status = reset_connection(hdcp, &output); in mod_hdcp_teardown()
321 struct mod_hdcp_output *output) in mod_hdcp_add_display() argument
326 HDCP_TOP_INTERFACE_TRACE_WITH_INDEX(hdcp, display->index); in mod_hdcp_add_display()
327 memset(output, 0, sizeof(struct mod_hdcp_output)); in mod_hdcp_add_display()
330 if (display->state != MOD_HDCP_DISPLAY_ACTIVE) { in mod_hdcp_add_display()
336 if (get_active_display_at_index(hdcp, display->index)) { in mod_hdcp_add_display()
349 status = reset_authentication(hdcp, output); in mod_hdcp_add_display()
357 memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace)); in mod_hdcp_add_display()
360 hdcp->connection.link = *link; in mod_hdcp_add_display()
369 set_state_id(hdcp, output, HDCP_INITIALIZED); in mod_hdcp_add_display()
370 callback_in_ms(hdcp->connection.link.adjust.auth_delay * 1000, output); in mod_hdcp_add_display()
379 uint8_t index, struct mod_hdcp_output *output) in mod_hdcp_remove_display() argument
385 memset(output, 0, sizeof(struct mod_hdcp_output)); in mod_hdcp_remove_display()
395 status = reset_authentication(hdcp, output); in mod_hdcp_remove_display()
403 memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace)); in mod_hdcp_remove_display()
413 callback_in_ms(hdcp->connection.link.adjust.auth_delay * 1000, in mod_hdcp_remove_display()
414 output); in mod_hdcp_remove_display()
425 struct mod_hdcp_output *output) in mod_hdcp_update_display() argument
431 memset(output, 0, sizeof(struct mod_hdcp_output)); in mod_hdcp_update_display()
441 if (memcmp(link_adjust, &hdcp->connection.link.adjust, in mod_hdcp_update_display()
443 memcmp(display_adjust, &display->adjust, in mod_hdcp_update_display()
449 if (memcmp(link_adjust, &hdcp->connection.link.adjust, in mod_hdcp_update_display()
451 memcmp(display_adjust, &display->adjust, in mod_hdcp_update_display()
459 status = reset_authentication(hdcp, output); in mod_hdcp_update_display()
467 memset(&hdcp->connection.trace, 0, sizeof(hdcp->connection.trace)); in mod_hdcp_update_display()
470 hdcp->connection.link.adjust = *link_adjust; in mod_hdcp_update_display()
471 display->adjust = *display_adjust; in mod_hdcp_update_display()
476 callback_in_ms(100, output); in mod_hdcp_update_display()
498 query->link = &hdcp->connection.link; in mod_hdcp_query_display()
499 query->display = display; in mod_hdcp_query_display()
500 query->trace = &hdcp->connection.trace; in mod_hdcp_query_display()
501 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP_OFF; in mod_hdcp_query_display()
505 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP1_ON; in mod_hdcp_query_display()
507 if (query->link->adjust.hdcp2.force_type == MOD_HDCP_FORCE_TYPE_0) in mod_hdcp_query_display()
508 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP2_TYPE0_ON; in mod_hdcp_query_display()
509 else if (query->link->adjust.hdcp2.force_type == MOD_HDCP_FORCE_TYPE_1) in mod_hdcp_query_display()
510 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP2_TYPE1_ON; in mod_hdcp_query_display()
512 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP2_ON; in mod_hdcp_query_display()
515 query->encryption_status = MOD_HDCP_ENCRYPTION_STATUS_HDCP_OFF; in mod_hdcp_query_display()
523 struct mod_hdcp_output *output) in mod_hdcp_reset_connection() argument
528 status = reset_connection(hdcp, output); in mod_hdcp_reset_connection()
536 enum mod_hdcp_event event, struct mod_hdcp_output *output) in mod_hdcp_process_event() argument
542 memset(output, 0, sizeof(struct mod_hdcp_output)); in mod_hdcp_process_event()
547 exec_status = execution(hdcp, &event_ctx, &hdcp->auth.trans_input); in mod_hdcp_process_event()
549 hdcp, &event_ctx, &hdcp->auth.trans_input, output); in mod_hdcp_process_event()
563 reset_status = reset_authentication(hdcp, output); in mod_hdcp_process_event()