Lines Matching refs:display
39 struct intel_display *display = to_intel_display(encoder); in intel_hdcp_adjust_hdcp_line_rekeying() local
47 if (DISPLAY_VER(display) >= 30) { in intel_hdcp_adjust_hdcp_line_rekeying()
48 rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
50 } else if (IS_DISPLAY_VERx100_STEP(display, 1401, STEP_B0, STEP_FOREVER) || in intel_hdcp_adjust_hdcp_line_rekeying()
51 IS_DISPLAY_VERx100_STEP(display, 2000, STEP_B0, STEP_FOREVER)) { in intel_hdcp_adjust_hdcp_line_rekeying()
52 rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
54 } else if (IS_DISPLAY_VERx100_STEP(display, 1400, STEP_D0, STEP_FOREVER)) { in intel_hdcp_adjust_hdcp_line_rekeying()
55 rekey_reg = CHICKEN_TRANS(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
60 intel_de_rmw(display, rekey_reg, rekey_bit, enable ? 0 : rekey_bit); in intel_hdcp_adjust_hdcp_line_rekeying()
105 struct intel_display *display = to_intel_display(state); in intel_hdcp_required_content_stream() local
121 drm_connector_list_iter_begin(display->drm, &conn_iter); in intel_hdcp_required_content_stream()
143 if (drm_WARN_ON(display->drm, data->k > INTEL_NUM_PIPES(display) || data->k == 0)) in intel_hdcp_required_content_stream()
191 struct intel_display *display = to_intel_display(dig_port); in intel_hdcp_read_valid_bksv() local
203 drm_dbg_kms(display->drm, "Bksv is invalid\n"); in intel_hdcp_read_valid_bksv()
242 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_prerequisite() local
250 if (intel_hdcp_gsc_cs_required(display)) { in intel_hdcp2_prerequisite()
251 if (!intel_hdcp_gsc_check_status(display)) in intel_hdcp2_prerequisite()
256 mutex_lock(&display->hdcp.hdcp_mutex); in intel_hdcp2_prerequisite()
257 if (!display->hdcp.comp_added || !display->hdcp.arbiter) { in intel_hdcp2_prerequisite()
258 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp2_prerequisite()
261 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp2_prerequisite()
297 static bool intel_hdcp_in_use(struct intel_display *display, in intel_hdcp_in_use() argument
300 return intel_de_read(display, in intel_hdcp_in_use()
301 HDCP_STATUS(display, cpu_transcoder, port)) & in intel_hdcp_in_use()
305 static bool intel_hdcp2_in_use(struct intel_display *display, in intel_hdcp2_in_use() argument
308 return intel_de_read(display, in intel_hdcp2_in_use()
309 HDCP2_STATUS(display, cpu_transcoder, port)) & in intel_hdcp2_in_use()
334 static bool hdcp_key_loadable(struct intel_display *display) in hdcp_key_loadable() argument
336 struct drm_i915_private *i915 = to_i915(display->drm); in hdcp_key_loadable()
352 enabled = intel_display_power_well_is_enabled(display, id); in hdcp_key_loadable()
363 static void intel_hdcp_clear_keys(struct intel_display *display) in intel_hdcp_clear_keys() argument
365 intel_de_write(display, HDCP_KEY_CONF, HDCP_CLEAR_KEYS_TRIGGER); in intel_hdcp_clear_keys()
366 intel_de_write(display, HDCP_KEY_STATUS, in intel_hdcp_clear_keys()
370 static int intel_hdcp_load_keys(struct intel_display *display) in intel_hdcp_load_keys() argument
372 struct drm_i915_private *i915 = to_i915(display->drm); in intel_hdcp_load_keys()
376 val = intel_de_read(display, HDCP_KEY_STATUS); in intel_hdcp_load_keys()
385 if (!(intel_de_read(display, HDCP_KEY_STATUS) & HDCP_KEY_LOAD_DONE)) in intel_hdcp_load_keys()
396 if (DISPLAY_VER(display) == 9 && !IS_BROXTON(i915)) { in intel_hdcp_load_keys()
399 drm_err(display->drm, in intel_hdcp_load_keys()
405 intel_de_write(display, HDCP_KEY_CONF, HDCP_KEY_LOAD_TRIGGER); in intel_hdcp_load_keys()
409 ret = intel_de_wait_custom(display, HDCP_KEY_STATUS, in intel_hdcp_load_keys()
418 intel_de_write(display, HDCP_KEY_CONF, HDCP_AKSV_SEND_TRIGGER); in intel_hdcp_load_keys()
424 static int intel_write_sha_text(struct intel_display *display, u32 sha_text) in intel_write_sha_text() argument
426 intel_de_write(display, HDCP_SHA_TEXT, sha_text); in intel_write_sha_text()
427 if (intel_de_wait_for_set(display, HDCP_REP_CTL, HDCP_SHA1_READY, 1)) { in intel_write_sha_text()
428 drm_err(display->drm, "Timed out waiting for SHA1 ready\n"); in intel_write_sha_text()
435 u32 intel_hdcp_get_repeater_ctl(struct intel_display *display, in intel_hdcp_get_repeater_ctl() argument
438 if (DISPLAY_VER(display) >= 12) { in intel_hdcp_get_repeater_ctl()
453 drm_err(display->drm, "Unknown transcoder %d\n", in intel_hdcp_get_repeater_ctl()
471 drm_err(display->drm, "Unknown port %d\n", port); in intel_hdcp_get_repeater_ctl()
481 struct intel_display *display = to_intel_display(connector); in intel_hdcp_validate_v_prime() local
493 intel_de_write(display, HDCP_SHA_V_PRIME(i), vprime); in intel_hdcp_validate_v_prime()
509 rep_ctl = intel_hdcp_get_repeater_ctl(display, cpu_transcoder, port); in intel_hdcp_validate_v_prime()
510 intel_de_write(display, HDCP_REP_CTL, rep_ctl | HDCP_SHA1_TEXT_32); in intel_hdcp_validate_v_prime()
522 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
529 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
546 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
562 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
564 ret = intel_write_sha_text(display, in intel_hdcp_validate_v_prime()
571 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
573 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
579 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
581 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
588 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
593 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
599 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
601 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
607 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
609 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
616 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
619 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
625 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
628 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
638 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
641 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
647 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
650 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
656 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
658 ret = intel_write_sha_text(display, bstatus[1]); in intel_hdcp_validate_v_prime()
664 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
666 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
672 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
674 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
679 drm_dbg_kms(display->drm, "Invalid number of leftovers %d\n", in intel_hdcp_validate_v_prime()
684 intel_de_write(display, HDCP_REP_CTL, rep_ctl | HDCP_SHA1_TEXT_32); in intel_hdcp_validate_v_prime()
687 ret = intel_write_sha_text(display, 0); in intel_hdcp_validate_v_prime()
699 ret = intel_write_sha_text(display, sha_text); in intel_hdcp_validate_v_prime()
704 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
706 if (intel_de_wait_for_set(display, HDCP_REP_CTL, in intel_hdcp_validate_v_prime()
708 drm_err(display->drm, "Timed out waiting for SHA1 complete\n"); in intel_hdcp_validate_v_prime()
711 if (!(intel_de_read(display, HDCP_REP_CTL) & HDCP_SHA1_V_MATCH)) { in intel_hdcp_validate_v_prime()
712 drm_dbg_kms(display->drm, "SHA-1 mismatch, HDCP failed\n"); in intel_hdcp_validate_v_prime()
723 struct intel_display *display = to_intel_display(connector); in intel_hdcp_auth_downstream() local
731 drm_dbg_kms(display->drm, in intel_hdcp_auth_downstream()
742 drm_dbg_kms(display->drm, "Max Topology Limit Exceeded\n"); in intel_hdcp_auth_downstream()
755 drm_dbg_kms(display->drm, in intel_hdcp_auth_downstream()
762 drm_dbg_kms(display->drm, "Out of mem: ksv_fifo\n"); in intel_hdcp_auth_downstream()
770 if (drm_hdcp_check_ksvs_revoked(display->drm, ksv_fifo, in intel_hdcp_auth_downstream()
772 drm_err(display->drm, "Revoked Ksv(s) in ksv_fifo\n"); in intel_hdcp_auth_downstream()
790 drm_dbg_kms(display->drm, in intel_hdcp_auth_downstream()
795 drm_dbg_kms(display->drm, "HDCP is enabled (%d downstream devices)\n", in intel_hdcp_auth_downstream()
806 struct intel_display *display = to_intel_display(connector); in intel_hdcp_auth() local
839 drm_dbg_kms(display->drm, in intel_hdcp_auth()
847 intel_de_write(display, in intel_hdcp_auth()
848 HDCP_ANINIT(display, cpu_transcoder, port), in intel_hdcp_auth()
850 intel_de_write(display, HDCP_CONF(display, cpu_transcoder, port), in intel_hdcp_auth()
854 if (intel_de_wait_for_set(display, in intel_hdcp_auth()
855 HDCP_STATUS(display, cpu_transcoder, port), in intel_hdcp_auth()
857 drm_err(display->drm, "Timed out waiting for An\n"); in intel_hdcp_auth()
861 an.reg[0] = intel_de_read(display, in intel_hdcp_auth()
862 HDCP_ANLO(display, cpu_transcoder, port)); in intel_hdcp_auth()
863 an.reg[1] = intel_de_read(display, in intel_hdcp_auth()
864 HDCP_ANHI(display, cpu_transcoder, port)); in intel_hdcp_auth()
877 if (drm_hdcp_check_ksvs_revoked(display->drm, bksv.shim, 1) > 0) { in intel_hdcp_auth()
878 drm_err(display->drm, "BKSV is revoked\n"); in intel_hdcp_auth()
882 intel_de_write(display, HDCP_BKSVLO(display, cpu_transcoder, port), in intel_hdcp_auth()
884 intel_de_write(display, HDCP_BKSVHI(display, cpu_transcoder, port), in intel_hdcp_auth()
891 intel_de_write(display, HDCP_REP_CTL, in intel_hdcp_auth()
892 intel_hdcp_get_repeater_ctl(display, cpu_transcoder, port)); in intel_hdcp_auth()
898 intel_de_write(display, HDCP_CONF(display, cpu_transcoder, port), in intel_hdcp_auth()
902 if (wait_for(intel_de_read(display, HDCP_STATUS(display, cpu_transcoder, port)) & in intel_hdcp_auth()
904 drm_err(display->drm, "Timed out waiting for R0 ready\n"); in intel_hdcp_auth()
930 intel_de_write(display, in intel_hdcp_auth()
931 HDCP_RPRIME(display, cpu_transcoder, port), in intel_hdcp_auth()
935 if (!wait_for(intel_de_read(display, HDCP_STATUS(display, cpu_transcoder, port)) & in intel_hdcp_auth()
941 drm_dbg_kms(display->drm, in intel_hdcp_auth()
943 intel_de_read(display, in intel_hdcp_auth()
944 HDCP_STATUS(display, cpu_transcoder, port))); in intel_hdcp_auth()
949 if (intel_de_wait_for_set(display, in intel_hdcp_auth()
950 HDCP_STATUS(display, cpu_transcoder, port), in intel_hdcp_auth()
953 drm_err(display->drm, "Timed out waiting for encryption\n"); in intel_hdcp_auth()
961 drm_err(display->drm, "[CONNECTOR:%d:%s] Failed to enable HDCP 1.4 stream enc\n", in intel_hdcp_auth()
965 drm_dbg_kms(display->drm, "HDCP 1.4 transcoder: %s stream encrypted\n", in intel_hdcp_auth()
972 drm_dbg_kms(display->drm, "HDCP is enabled (no repeater present)\n"); in intel_hdcp_auth()
978 struct intel_display *display = to_intel_display(connector); in _intel_hdcp_disable() local
986 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s] HDCP is being disabled...\n", in _intel_hdcp_disable()
992 drm_err(display->drm, "[CONNECTOR:%d:%s] Failed to disable HDCP 1.4 stream enc\n", in _intel_hdcp_disable()
996 drm_dbg_kms(display->drm, "HDCP 1.4 transcoder: %s stream encryption disabled\n", in _intel_hdcp_disable()
1008 intel_de_write(display, HDCP_CONF(display, cpu_transcoder, port), 0); in _intel_hdcp_disable()
1009 if (intel_de_wait_for_clear(display, in _intel_hdcp_disable()
1010 HDCP_STATUS(display, cpu_transcoder, port), in _intel_hdcp_disable()
1012 drm_err(display->drm, in _intel_hdcp_disable()
1017 repeater_ctl = intel_hdcp_get_repeater_ctl(display, cpu_transcoder, in _intel_hdcp_disable()
1019 intel_de_rmw(display, HDCP_REP_CTL, repeater_ctl, 0); in _intel_hdcp_disable()
1023 drm_err(display->drm, "Failed to disable HDCP signalling\n"); in _intel_hdcp_disable()
1027 drm_dbg_kms(display->drm, "HDCP is disabled\n"); in _intel_hdcp_disable()
1033 struct intel_display *display = to_intel_display(connector); in intel_hdcp1_enable() local
1037 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s] HDCP is being enabled...\n", in intel_hdcp1_enable()
1040 if (!hdcp_key_loadable(display)) { in intel_hdcp1_enable()
1041 drm_err(display->drm, "HDCP key Load is not possible\n"); in intel_hdcp1_enable()
1046 ret = intel_hdcp_load_keys(display); in intel_hdcp1_enable()
1049 intel_hdcp_clear_keys(display); in intel_hdcp1_enable()
1052 drm_err(display->drm, "Could not load HDCP keys, (%d)\n", in intel_hdcp1_enable()
1067 drm_dbg_kms(display->drm, "HDCP Auth failure (%d)\n", ret); in intel_hdcp1_enable()
1073 drm_dbg_kms(display->drm, in intel_hdcp1_enable()
1086 struct intel_display *display = to_intel_display(connector); in intel_hdcp_update_value() local
1087 struct drm_i915_private *i915 = to_i915(display->drm); in intel_hdcp_update_value()
1091 drm_WARN_ON(display->drm, !mutex_is_locked(&hdcp->mutex)); in intel_hdcp_update_value()
1096 drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port->hdcp_mutex)); in intel_hdcp_update_value()
1099 if (!drm_WARN_ON(display->drm, dig_port->num_hdcp_streams == 0)) in intel_hdcp_update_value()
1116 struct intel_display *display = to_intel_display(connector); in intel_hdcp_check_link() local
1135 if (drm_WARN_ON(display->drm, in intel_hdcp_check_link()
1136 !intel_hdcp_in_use(display, cpu_transcoder, port))) { in intel_hdcp_check_link()
1137 drm_err(display->drm, in intel_hdcp_check_link()
1140 intel_de_read(display, HDCP_STATUS(display, cpu_transcoder, port))); in intel_hdcp_check_link()
1156 drm_dbg_kms(display->drm, in intel_hdcp_check_link()
1162 drm_err(display->drm, "Failed to disable hdcp (%d)\n", ret); in intel_hdcp_check_link()
1171 drm_err(display->drm, "Failed to enable hdcp (%d)\n", ret); in intel_hdcp_check_link()
1189 struct intel_display *display = to_intel_display(connector); in intel_hdcp_prop_work() local
1191 drm_modeset_lock(&display->drm->mode_config.connection_mutex, NULL); in intel_hdcp_prop_work()
1204 drm_modeset_unlock(&display->drm->mode_config.connection_mutex); in intel_hdcp_prop_work()
1209 bool is_hdcp_supported(struct intel_display *display, enum port port) in is_hdcp_supported() argument
1211 return DISPLAY_RUNTIME_INFO(display)->has_hdcp && in is_hdcp_supported()
1212 (DISPLAY_VER(display) >= 12 || port < PORT_E); in is_hdcp_supported()
1219 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_ake_init() local
1225 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_ake_init()
1226 arbiter = display->hdcp.arbiter; in hdcp2_prepare_ake_init()
1229 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_ake_init()
1235 drm_dbg_kms(display->drm, "Prepare_ake_init failed. %d\n", in hdcp2_prepare_ake_init()
1237 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_ake_init()
1249 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_rx_cert_prepare_km() local
1255 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rx_cert_prepare_km()
1256 arbiter = display->hdcp.arbiter; in hdcp2_verify_rx_cert_prepare_km()
1259 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rx_cert_prepare_km()
1267 drm_dbg_kms(display->drm, "Verify rx_cert failed. %d\n", in hdcp2_verify_rx_cert_prepare_km()
1269 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rx_cert_prepare_km()
1277 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_hprime() local
1283 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_verify_hprime()
1284 arbiter = display->hdcp.arbiter; in hdcp2_verify_hprime()
1287 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_hprime()
1293 drm_dbg_kms(display->drm, "Verify hprime failed. %d\n", ret); in hdcp2_verify_hprime()
1294 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_hprime()
1303 struct intel_display *display = to_intel_display(connector); in hdcp2_store_pairing_info() local
1309 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_store_pairing_info()
1310 arbiter = display->hdcp.arbiter; in hdcp2_store_pairing_info()
1313 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_store_pairing_info()
1319 drm_dbg_kms(display->drm, "Store pairing info failed. %d\n", in hdcp2_store_pairing_info()
1321 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_store_pairing_info()
1330 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_lc_init() local
1336 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_lc_init()
1337 arbiter = display->hdcp.arbiter; in hdcp2_prepare_lc_init()
1340 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_lc_init()
1346 drm_dbg_kms(display->drm, "Prepare lc_init failed. %d\n", in hdcp2_prepare_lc_init()
1348 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_lc_init()
1357 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_lprime() local
1363 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_verify_lprime()
1364 arbiter = display->hdcp.arbiter; in hdcp2_verify_lprime()
1367 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_lprime()
1373 drm_dbg_kms(display->drm, "Verify L_Prime failed. %d\n", in hdcp2_verify_lprime()
1375 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_lprime()
1383 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_skey() local
1389 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_skey()
1390 arbiter = display->hdcp.arbiter; in hdcp2_prepare_skey()
1393 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_skey()
1399 drm_dbg_kms(display->drm, "Get session key failed. %d\n", in hdcp2_prepare_skey()
1401 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_prepare_skey()
1412 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_rep_topology_prepare_ack() local
1418 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rep_topology_prepare_ack()
1419 arbiter = display->hdcp.arbiter; in hdcp2_verify_rep_topology_prepare_ack()
1422 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rep_topology_prepare_ack()
1431 drm_dbg_kms(display->drm, in hdcp2_verify_rep_topology_prepare_ack()
1433 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_rep_topology_prepare_ack()
1442 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_mprime() local
1448 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_verify_mprime()
1449 arbiter = display->hdcp.arbiter; in hdcp2_verify_mprime()
1452 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_mprime()
1458 drm_dbg_kms(display->drm, "Verify mprime failed. %d\n", ret); in hdcp2_verify_mprime()
1459 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_verify_mprime()
1466 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_port() local
1472 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_authenticate_port()
1473 arbiter = display->hdcp.arbiter; in hdcp2_authenticate_port()
1476 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_authenticate_port()
1482 drm_dbg_kms(display->drm, "Enable hdcp auth failed. %d\n", in hdcp2_authenticate_port()
1484 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_authenticate_port()
1491 struct intel_display *display = to_intel_display(connector); in hdcp2_close_session() local
1496 mutex_lock(&display->hdcp.hdcp_mutex); in hdcp2_close_session()
1497 arbiter = display->hdcp.arbiter; in hdcp2_close_session()
1500 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_close_session()
1506 mutex_unlock(&display->hdcp.hdcp_mutex); in hdcp2_close_session()
1519 struct intel_display *display = to_intel_display(connector); in hdcp2_authentication_key_exchange() local
1582 drm_dbg_kms(display->drm, "cert.rx_caps dont claim HDCP2.2\n"); in hdcp2_authentication_key_exchange()
1588 if (drm_hdcp_check_ksvs_revoked(display->drm, in hdcp2_authentication_key_exchange()
1591 drm_err(display->drm, "Receiver ID is revoked\n"); in hdcp2_authentication_key_exchange()
1742 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_repeater_topology() local
1763 drm_dbg_kms(display->drm, "Topology Max Size Exceeded\n"); in hdcp2_authenticate_repeater_topology()
1776 drm_dbg_kms(display->drm, in hdcp2_authenticate_repeater_topology()
1786 drm_dbg_kms(display->drm, in hdcp2_authenticate_repeater_topology()
1793 drm_dbg_kms(display->drm, "Seq_num_v roll over.\n"); in hdcp2_authenticate_repeater_topology()
1799 if (drm_hdcp_check_ksvs_revoked(display->drm, in hdcp2_authenticate_repeater_topology()
1802 drm_err(display->drm, "Revoked receiver ID(s) is in list\n"); in hdcp2_authenticate_repeater_topology()
1823 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_sink() local
1830 drm_dbg_kms(display->drm, "AKE Failed. Err : %d\n", ret); in hdcp2_authenticate_sink()
1836 drm_dbg_kms(display->drm, in hdcp2_authenticate_sink()
1843 drm_dbg_kms(display->drm, "SKE Failed. Err : %d\n", ret); in hdcp2_authenticate_sink()
1858 drm_dbg_kms(display->drm, in hdcp2_authenticate_sink()
1869 struct intel_display *display = to_intel_display(connector); in hdcp2_enable_stream_encryption() local
1877 if (!(intel_de_read(display, HDCP2_STATUS(display, cpu_transcoder, port)) & in hdcp2_enable_stream_encryption()
1879 drm_err(display->drm, "[CONNECTOR:%d:%s] HDCP 2.2 Link is not encrypted\n", in hdcp2_enable_stream_encryption()
1888 drm_err(display->drm, "[CONNECTOR:%d:%s] Failed to enable HDCP 2.2 stream enc\n", in hdcp2_enable_stream_encryption()
1892 drm_dbg_kms(display->drm, "HDCP 2.2 transcoder: %s stream encrypted\n", in hdcp2_enable_stream_encryption()
1900 drm_dbg_kms(display->drm, "Port deauth failed.\n"); in hdcp2_enable_stream_encryption()
1910 struct intel_display *display = to_intel_display(connector); in hdcp2_enable_encryption() local
1917 drm_WARN_ON(display->drm, in hdcp2_enable_encryption()
1918 intel_de_read(display, HDCP2_STATUS(display, cpu_transcoder, port)) & in hdcp2_enable_encryption()
1924 drm_err(display->drm, in hdcp2_enable_encryption()
1931 if (intel_de_read(display, HDCP2_STATUS(display, cpu_transcoder, port)) & in hdcp2_enable_encryption()
1934 intel_de_rmw(display, HDCP2_CTL(display, cpu_transcoder, port), in hdcp2_enable_encryption()
1937 ret = intel_de_wait_for_set(display, in hdcp2_enable_encryption()
1938 HDCP2_STATUS(display, cpu_transcoder, in hdcp2_enable_encryption()
1949 struct intel_display *display = to_intel_display(connector); in hdcp2_disable_encryption() local
1956 drm_WARN_ON(display->drm, in hdcp2_disable_encryption()
1957 !(intel_de_read(display, HDCP2_STATUS(display, cpu_transcoder, port)) & in hdcp2_disable_encryption()
1960 intel_de_rmw(display, HDCP2_CTL(display, cpu_transcoder, port), in hdcp2_disable_encryption()
1963 ret = intel_de_wait_for_clear(display, in hdcp2_disable_encryption()
1964 HDCP2_STATUS(display, cpu_transcoder, in hdcp2_disable_encryption()
1969 drm_dbg_kms(display->drm, "Disable Encryption Timedout"); in hdcp2_disable_encryption()
1975 drm_err(display->drm, in hdcp2_disable_encryption()
1988 struct intel_display *display = to_intel_display(connector); in hdcp2_propagate_stream_management_info() local
2001 drm_dbg_kms(display->drm, in hdcp2_propagate_stream_management_info()
2006 drm_dbg_kms(display->drm, in hdcp2_propagate_stream_management_info()
2017 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_and_encrypt() local
2026 drm_dbg_kms(display->drm, in hdcp2_authenticate_and_encrypt()
2034 drm_dbg_kms(display->drm, in hdcp2_authenticate_and_encrypt()
2043 drm_dbg_kms(display->drm, "HDCP2 port auth failed.(%d)\n", in hdcp2_authenticate_and_encrypt()
2048 drm_dbg_kms(display->drm, "HDCP2.2 Auth %d of %d Failed.(%d)\n", in hdcp2_authenticate_and_encrypt()
2051 drm_dbg_kms(display->drm, "Port deauth failed.\n"); in hdcp2_authenticate_and_encrypt()
2062 drm_dbg_kms(display->drm, in hdcp2_authenticate_and_encrypt()
2065 drm_dbg_kms(display->drm, "Port deauth failed.\n"); in hdcp2_authenticate_and_encrypt()
2078 struct intel_display *display = to_intel_display(connector); in _intel_hdcp2_enable() local
2082 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s] HDCP2.2 is being enabled. Type: %d\n", in _intel_hdcp2_enable()
2090 drm_dbg_kms(display->drm, "HDCP2 Type%d Enabling Failed. (%d)\n", in _intel_hdcp2_enable()
2095 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s] HDCP2.2 is enabled. Type %d\n", in _intel_hdcp2_enable()
2106 struct intel_display *display = to_intel_display(connector); in _intel_hdcp2_disable() local
2112 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s] HDCP2.2 is being Disabled\n", in _intel_hdcp2_disable()
2118 drm_err(display->drm, "[CONNECTOR:%d:%s] Failed to disable HDCP 2.2 stream enc\n", in _intel_hdcp2_disable()
2122 drm_dbg_kms(display->drm, "HDCP 2.2 transcoder: %s stream encryption disabled\n", in _intel_hdcp2_disable()
2132 drm_dbg_kms(display->drm, "Port deauth failed.\n"); in _intel_hdcp2_disable()
2144 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_check_link() local
2162 if (drm_WARN_ON(display->drm, in intel_hdcp2_check_link()
2163 !intel_hdcp2_in_use(display, cpu_transcoder, port))) { in intel_hdcp2_check_link()
2164 drm_err(display->drm, in intel_hdcp2_check_link()
2166 intel_de_read(display, HDCP2_STATUS(display, cpu_transcoder, port))); in intel_hdcp2_check_link()
2189 drm_dbg_kms(display->drm, in intel_hdcp2_check_link()
2200 drm_dbg_kms(display->drm, in intel_hdcp2_check_link()
2205 drm_dbg_kms(display->drm, in intel_hdcp2_check_link()
2212 drm_err(display->drm, in intel_hdcp2_check_link()
2234 struct intel_display *display = to_intel_display(connector); in intel_hdcp_check_work() local
2235 struct drm_i915_private *i915 = to_i915(display->drm); in intel_hdcp_check_work()
2251 struct intel_display *display = to_intel_display(drv_kdev); in i915_hdcp_component_bind() local
2253 drm_dbg(display->drm, "I915 HDCP comp bind\n"); in i915_hdcp_component_bind()
2254 mutex_lock(&display->hdcp.hdcp_mutex); in i915_hdcp_component_bind()
2255 display->hdcp.arbiter = (struct i915_hdcp_arbiter *)data; in i915_hdcp_component_bind()
2256 display->hdcp.arbiter->hdcp_dev = mei_kdev; in i915_hdcp_component_bind()
2257 mutex_unlock(&display->hdcp.hdcp_mutex); in i915_hdcp_component_bind()
2265 struct intel_display *display = to_intel_display(drv_kdev); in i915_hdcp_component_unbind() local
2267 drm_dbg(display->drm, "I915 HDCP comp unbind\n"); in i915_hdcp_component_unbind()
2268 mutex_lock(&display->hdcp.hdcp_mutex); in i915_hdcp_component_unbind()
2269 display->hdcp.arbiter = NULL; in i915_hdcp_component_unbind()
2270 mutex_unlock(&display->hdcp.hdcp_mutex); in i915_hdcp_component_unbind()
2304 struct intel_display *display = to_intel_display(connector); in initialize_hdcp_port_data() local
2308 if (DISPLAY_VER(display) < 12) in initialize_hdcp_port_data()
2328 data->streams = kcalloc(INTEL_NUM_PIPES(display), in initialize_hdcp_port_data()
2332 drm_err(display->drm, "Out of Memory\n"); in initialize_hdcp_port_data()
2339 static bool is_hdcp2_supported(struct intel_display *display) in is_hdcp2_supported() argument
2341 struct drm_i915_private *i915 = to_i915(display->drm); in is_hdcp2_supported()
2343 if (intel_hdcp_gsc_cs_required(display)) in is_hdcp2_supported()
2349 return (DISPLAY_VER(display) >= 10 || in is_hdcp2_supported()
2355 void intel_hdcp_component_init(struct intel_display *display) in intel_hdcp_component_init() argument
2359 if (!is_hdcp2_supported(display)) in intel_hdcp_component_init()
2362 mutex_lock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_init()
2363 drm_WARN_ON(display->drm, display->hdcp.comp_added); in intel_hdcp_component_init()
2365 display->hdcp.comp_added = true; in intel_hdcp_component_init()
2366 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_init()
2367 if (intel_hdcp_gsc_cs_required(display)) in intel_hdcp_component_init()
2368 ret = intel_hdcp_gsc_init(display); in intel_hdcp_component_init()
2370 ret = component_add_typed(display->drm->dev, &i915_hdcp_ops, in intel_hdcp_component_init()
2374 drm_dbg_kms(display->drm, "Failed at fw component add(%d)\n", in intel_hdcp_component_init()
2376 mutex_lock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_init()
2377 display->hdcp.comp_added = false; in intel_hdcp_component_init()
2378 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_init()
2387 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_init() local
2393 drm_dbg_kms(display->drm, "Mei hdcp data init failed\n"); in intel_hdcp2_init()
2404 struct intel_display *display = to_intel_display(connector); in intel_hdcp_init() local
2411 if (is_hdcp2_supported(display)) in intel_hdcp_init()
2436 struct intel_display *display = to_intel_display(encoder); in _intel_hdcp_enable() local
2437 struct drm_i915_private *i915 = to_i915(display->drm); in _intel_hdcp_enable()
2449 drm_err(display->drm, "[CONNECTOR:%d:%s] encoder is not initialized\n", in _intel_hdcp_enable()
2456 drm_WARN_ON(display->drm, in _intel_hdcp_enable()
2468 if (DISPLAY_VER(display) >= 12) in _intel_hdcp_enable()
2619 void intel_hdcp_component_fini(struct intel_display *display) in intel_hdcp_component_fini() argument
2621 mutex_lock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_fini()
2622 if (!display->hdcp.comp_added) { in intel_hdcp_component_fini()
2623 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_fini()
2627 display->hdcp.comp_added = false; in intel_hdcp_component_fini()
2628 mutex_unlock(&display->hdcp.hdcp_mutex); in intel_hdcp_component_fini()
2630 if (intel_hdcp_gsc_cs_required(display)) in intel_hdcp_component_fini()
2631 intel_hdcp_gsc_fini(display); in intel_hdcp_component_fini()
2633 component_del(display->drm->dev, &i915_hdcp_ops); in intel_hdcp_component_fini()
2723 struct intel_display *display = to_intel_display(connector); in intel_hdcp_handle_cp_irq() local
2724 struct drm_i915_private *i915 = to_i915(display->drm); in intel_hdcp_handle_cp_irq()