Lines Matching refs:connector

58 			      struct intel_connector *connector)  in intel_conn_to_vcpi()  argument
66 if (!connector->port) in intel_conn_to_vcpi()
68 mgr = connector->port->mgr; in intel_conn_to_vcpi()
72 payload = drm_atomic_get_mst_payload_state(mst_state, connector->port); in intel_conn_to_vcpi()
102 struct intel_connector *connector; in intel_hdcp_required_content_stream() local
116 for_each_intel_connector_iter(connector, &conn_iter) { in intel_hdcp_required_content_stream()
117 if (connector->base.status == connector_status_disconnected) in intel_hdcp_required_content_stream()
120 if (!intel_encoder_is_mst(intel_attached_encoder(connector))) in intel_hdcp_required_content_stream()
123 conn_dig_port = intel_attached_dig_port(connector); in intel_hdcp_required_content_stream()
128 intel_conn_to_vcpi(state, connector); in intel_hdcp_required_content_stream()
152 struct intel_connector *connector) in intel_hdcp_prepare_streams() argument
154 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_prepare_streams()
156 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_prepare_streams()
158 if (intel_encoder_is_mst(intel_attached_encoder(connector))) in intel_hdcp_prepare_streams()
205 bool intel_hdcp_get_capability(struct intel_connector *connector) in intel_hdcp_get_capability() argument
208 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_hdcp_get_capability()
212 if (!intel_attached_encoder(connector)) in intel_hdcp_get_capability()
215 dig_port = intel_attached_dig_port(connector); in intel_hdcp_get_capability()
234 static bool intel_hdcp2_prerequisite(struct intel_connector *connector) in intel_hdcp2_prerequisite() argument
236 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_prerequisite()
237 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_prerequisite()
261 bool intel_hdcp2_get_capability(struct intel_connector *connector) in intel_hdcp2_get_capability() argument
263 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_get_capability()
266 if (!intel_hdcp2_prerequisite(connector)) in intel_hdcp2_get_capability()
270 hdcp->shim->hdcp_2_2_get_capability(connector, &capable); in intel_hdcp2_get_capability()
275 void intel_hdcp_get_remote_capability(struct intel_connector *connector, in intel_hdcp_get_remote_capability() argument
279 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_get_remote_capability()
284 hdcp->shim->get_remote_hdcp_capability(connector, hdcp_capable, in intel_hdcp_get_remote_capability()
287 if (!intel_hdcp2_prerequisite(connector)) in intel_hdcp_get_remote_capability()
471 int intel_hdcp_validate_v_prime(struct intel_connector *connector, in intel_hdcp_validate_v_prime() argument
475 struct intel_display *display = to_intel_display(connector); in intel_hdcp_validate_v_prime()
476 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_validate_v_prime()
477 enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder; in intel_hdcp_validate_v_prime()
715 int intel_hdcp_auth_downstream(struct intel_connector *connector) in intel_hdcp_auth_downstream() argument
717 struct intel_display *display = to_intel_display(connector); in intel_hdcp_auth_downstream()
718 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_auth_downstream()
719 const struct intel_hdcp_shim *shim = connector->hdcp.shim; in intel_hdcp_auth_downstream()
776 ret = intel_hdcp_validate_v_prime(connector, shim, in intel_hdcp_auth_downstream()
798 static int intel_hdcp_auth(struct intel_connector *connector) in intel_hdcp_auth() argument
800 struct intel_display *display = to_intel_display(connector); in intel_hdcp_auth()
801 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_auth()
802 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_auth()
804 enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder; in intel_hdcp_auth()
953 ret = shim->stream_encryption(connector, true); in intel_hdcp_auth()
956 connector->base.base.id, connector->base.name); in intel_hdcp_auth()
964 return intel_hdcp_auth_downstream(connector); in intel_hdcp_auth()
970 static int _intel_hdcp_disable(struct intel_connector *connector) in _intel_hdcp_disable() argument
972 struct intel_display *display = to_intel_display(connector); in _intel_hdcp_disable()
973 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _intel_hdcp_disable()
974 struct intel_hdcp *hdcp = &connector->hdcp; in _intel_hdcp_disable()
981 connector->base.base.id, connector->base.name); in _intel_hdcp_disable()
984 ret = hdcp->shim->stream_encryption(connector, false); in _intel_hdcp_disable()
987 connector->base.base.id, connector->base.name); in _intel_hdcp_disable()
1025 static int intel_hdcp1_enable(struct intel_connector *connector) in intel_hdcp1_enable() argument
1027 struct intel_display *display = to_intel_display(connector); in intel_hdcp1_enable()
1028 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp1_enable()
1032 connector->base.base.id, connector->base.name); in intel_hdcp1_enable()
1053 ret = intel_hdcp_auth(connector); in intel_hdcp1_enable()
1062 _intel_hdcp_disable(connector); in intel_hdcp1_enable()
1075 static void intel_hdcp_update_value(struct intel_connector *connector, in intel_hdcp_update_value() argument
1078 struct intel_display *display = to_intel_display(connector); in intel_hdcp_update_value()
1080 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_update_value()
1081 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_update_value()
1099 drm_connector_get(&connector->base); in intel_hdcp_update_value()
1101 drm_connector_put(&connector->base); in intel_hdcp_update_value()
1106 static int intel_hdcp_check_link(struct intel_connector *connector) in intel_hdcp_check_link() argument
1108 struct intel_display *display = to_intel_display(connector); in intel_hdcp_check_link()
1109 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_check_link()
1110 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_check_link()
1131 connector->base.base.id, connector->base.name, in intel_hdcp_check_link()
1134 intel_hdcp_update_value(connector, in intel_hdcp_check_link()
1140 if (hdcp->shim->check_link(dig_port, connector)) { in intel_hdcp_check_link()
1142 intel_hdcp_update_value(connector, in intel_hdcp_check_link()
1150 connector->base.base.id, connector->base.name); in intel_hdcp_check_link()
1152 ret = _intel_hdcp_disable(connector); in intel_hdcp_check_link()
1155 intel_hdcp_update_value(connector, in intel_hdcp_check_link()
1161 ret = intel_hdcp1_enable(connector); in intel_hdcp_check_link()
1164 intel_hdcp_update_value(connector, in intel_hdcp_check_link()
1180 struct intel_connector *connector = intel_hdcp_to_connector(hdcp); in intel_hdcp_prop_work() local
1181 struct intel_display *display = to_intel_display(connector); in intel_hdcp_prop_work()
1192 drm_hdcp_update_content_protection(&connector->base, in intel_hdcp_prop_work()
1198 drm_connector_put(&connector->base); in intel_hdcp_prop_work()
1208 hdcp2_prepare_ake_init(struct intel_connector *connector, in hdcp2_prepare_ake_init() argument
1211 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_ake_init()
1212 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_ake_init()
1235 hdcp2_verify_rx_cert_prepare_km(struct intel_connector *connector, in hdcp2_verify_rx_cert_prepare_km() argument
1241 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_rx_cert_prepare_km()
1242 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_rx_cert_prepare_km()
1266 static int hdcp2_verify_hprime(struct intel_connector *connector, in hdcp2_verify_hprime() argument
1269 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_hprime()
1270 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_hprime()
1292 hdcp2_store_pairing_info(struct intel_connector *connector, in hdcp2_store_pairing_info() argument
1295 struct intel_display *display = to_intel_display(connector); in hdcp2_store_pairing_info()
1296 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_store_pairing_info()
1319 hdcp2_prepare_lc_init(struct intel_connector *connector, in hdcp2_prepare_lc_init() argument
1322 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_lc_init()
1323 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_lc_init()
1346 hdcp2_verify_lprime(struct intel_connector *connector, in hdcp2_verify_lprime() argument
1349 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_lprime()
1350 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_lprime()
1372 static int hdcp2_prepare_skey(struct intel_connector *connector, in hdcp2_prepare_skey() argument
1375 struct intel_display *display = to_intel_display(connector); in hdcp2_prepare_skey()
1376 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_skey()
1399 hdcp2_verify_rep_topology_prepare_ack(struct intel_connector *connector, in hdcp2_verify_rep_topology_prepare_ack() argument
1404 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_rep_topology_prepare_ack()
1405 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_rep_topology_prepare_ack()
1431 hdcp2_verify_mprime(struct intel_connector *connector, in hdcp2_verify_mprime() argument
1434 struct intel_display *display = to_intel_display(connector); in hdcp2_verify_mprime()
1435 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_mprime()
1456 static int hdcp2_authenticate_port(struct intel_connector *connector) in hdcp2_authenticate_port() argument
1458 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_port()
1459 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_port()
1481 static int hdcp2_close_session(struct intel_connector *connector) in hdcp2_close_session() argument
1483 struct intel_display *display = to_intel_display(connector); in hdcp2_close_session()
1484 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_close_session()
1503 static int hdcp2_deauthenticate_port(struct intel_connector *connector) in hdcp2_deauthenticate_port() argument
1505 return hdcp2_close_session(connector); in hdcp2_deauthenticate_port()
1509 static int hdcp2_authentication_key_exchange(struct intel_connector *connector) in hdcp2_authentication_key_exchange() argument
1511 struct intel_display *display = to_intel_display(connector); in hdcp2_authentication_key_exchange()
1513 intel_attached_dig_port(connector); in hdcp2_authentication_key_exchange()
1514 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_authentication_key_exchange()
1536 ret = hdcp2_prepare_ake_init(connector, &msgs.ake_init); in hdcp2_authentication_key_exchange()
1554 if (!intel_hdcp2_get_capability(connector)) { in hdcp2_authentication_key_exchange()
1559 ret = shim->write_2_2_msg(connector, &msgs.ake_init, in hdcp2_authentication_key_exchange()
1564 ret = shim->read_2_2_msg(connector, HDCP_2_2_AKE_SEND_CERT, in hdcp2_authentication_key_exchange()
1591 ret = hdcp2_verify_rx_cert_prepare_km(connector, &msgs.send_cert, in hdcp2_authentication_key_exchange()
1597 ret = shim->write_2_2_msg(connector, &msgs.no_stored_km, size); in hdcp2_authentication_key_exchange()
1601 ret = shim->read_2_2_msg(connector, HDCP_2_2_AKE_SEND_HPRIME, in hdcp2_authentication_key_exchange()
1606 ret = hdcp2_verify_hprime(connector, &msgs.send_hprime); in hdcp2_authentication_key_exchange()
1612 ret = shim->read_2_2_msg(connector, in hdcp2_authentication_key_exchange()
1619 ret = hdcp2_store_pairing_info(connector, &msgs.pairing_info); in hdcp2_authentication_key_exchange()
1628 static int hdcp2_locality_check(struct intel_connector *connector) in hdcp2_locality_check() argument
1630 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_locality_check()
1639 ret = hdcp2_prepare_lc_init(connector, &msgs.lc_init); in hdcp2_locality_check()
1643 ret = shim->write_2_2_msg(connector, &msgs.lc_init, in hdcp2_locality_check()
1648 ret = shim->read_2_2_msg(connector, in hdcp2_locality_check()
1655 ret = hdcp2_verify_lprime(connector, &msgs.send_lprime); in hdcp2_locality_check()
1663 static int hdcp2_session_key_exchange(struct intel_connector *connector) in hdcp2_session_key_exchange() argument
1665 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_session_key_exchange()
1669 ret = hdcp2_prepare_skey(connector, &send_eks); in hdcp2_session_key_exchange()
1673 ret = hdcp->shim->write_2_2_msg(connector, &send_eks, in hdcp2_session_key_exchange()
1682 int _hdcp2_propagate_stream_management_info(struct intel_connector *connector) in _hdcp2_propagate_stream_management_info() argument
1684 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _hdcp2_propagate_stream_management_info()
1686 struct intel_hdcp *hdcp = &connector->hdcp; in _hdcp2_propagate_stream_management_info()
1694 if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX) in _hdcp2_propagate_stream_management_info()
1711 ret = shim->write_2_2_msg(connector, &msgs.stream_manage, in _hdcp2_propagate_stream_management_info()
1716 ret = shim->read_2_2_msg(connector, HDCP_2_2_REP_STREAM_READY, in _hdcp2_propagate_stream_management_info()
1723 ret = hdcp2_verify_mprime(connector, &msgs.stream_ready); in _hdcp2_propagate_stream_management_info()
1732 int hdcp2_authenticate_repeater_topology(struct intel_connector *connector) in hdcp2_authenticate_repeater_topology() argument
1734 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_repeater_topology()
1735 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_repeater_topology()
1736 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_authenticate_repeater_topology()
1746 ret = shim->read_2_2_msg(connector, HDCP_2_2_REP_SEND_RECVID_LIST, in hdcp2_authenticate_repeater_topology()
1798 ret = hdcp2_verify_rep_topology_prepare_ack(connector, in hdcp2_authenticate_repeater_topology()
1805 ret = shim->write_2_2_msg(connector, &msgs.rep_ack, in hdcp2_authenticate_repeater_topology()
1813 static int hdcp2_authenticate_sink(struct intel_connector *connector) in hdcp2_authenticate_sink() argument
1815 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_sink()
1816 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_authenticate_sink()
1820 ret = hdcp2_authentication_key_exchange(connector); in hdcp2_authenticate_sink()
1826 ret = hdcp2_locality_check(connector); in hdcp2_authenticate_sink()
1833 ret = hdcp2_session_key_exchange(connector); in hdcp2_authenticate_sink()
1840 ret = shim->config_stream_type(connector, in hdcp2_authenticate_sink()
1848 ret = hdcp2_authenticate_repeater_topology(connector); in hdcp2_authenticate_sink()
1859 static int hdcp2_enable_stream_encryption(struct intel_connector *connector) in hdcp2_enable_stream_encryption() argument
1861 struct intel_display *display = to_intel_display(connector); in hdcp2_enable_stream_encryption()
1862 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_enable_stream_encryption()
1864 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_enable_stream_encryption()
1872 connector->base.base.id, connector->base.name); in hdcp2_enable_stream_encryption()
1878 ret = hdcp->shim->stream_2_2_encryption(connector, true); in hdcp2_enable_stream_encryption()
1881 connector->base.base.id, connector->base.name); in hdcp2_enable_stream_encryption()
1891 if (hdcp2_deauthenticate_port(connector) < 0) in hdcp2_enable_stream_encryption()
1900 static int hdcp2_enable_encryption(struct intel_connector *connector) in hdcp2_enable_encryption() argument
1902 struct intel_display *display = to_intel_display(connector); in hdcp2_enable_encryption()
1903 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_enable_encryption()
1904 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_enable_encryption()
1939 static int hdcp2_disable_encryption(struct intel_connector *connector) in hdcp2_disable_encryption() argument
1941 struct intel_display *display = to_intel_display(connector); in hdcp2_disable_encryption()
1942 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_disable_encryption()
1943 struct intel_hdcp *hdcp = &connector->hdcp; in hdcp2_disable_encryption()
1978 hdcp2_propagate_stream_management_info(struct intel_connector *connector) in hdcp2_propagate_stream_management_info() argument
1980 struct intel_display *display = to_intel_display(connector); in hdcp2_propagate_stream_management_info()
1983 if (!connector->hdcp.is_repeater) in hdcp2_propagate_stream_management_info()
1987 ret = _hdcp2_propagate_stream_management_info(connector); in hdcp2_propagate_stream_management_info()
1992 if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX) { in hdcp2_propagate_stream_management_info()
2007 struct intel_connector *connector) in hdcp2_authenticate_and_encrypt() argument
2009 struct intel_display *display = to_intel_display(connector); in hdcp2_authenticate_and_encrypt()
2010 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_and_encrypt()
2014 ret = hdcp2_authenticate_sink(connector); in hdcp2_authenticate_and_encrypt()
2016 ret = intel_hdcp_prepare_streams(state, connector); in hdcp2_authenticate_and_encrypt()
2024 ret = hdcp2_propagate_stream_management_info(connector); in hdcp2_authenticate_and_encrypt()
2032 ret = hdcp2_authenticate_port(connector); in hdcp2_authenticate_and_encrypt()
2042 if (hdcp2_deauthenticate_port(connector) < 0) in hdcp2_authenticate_and_encrypt()
2052 ret = hdcp2_enable_encryption(connector); in hdcp2_authenticate_and_encrypt()
2056 if (hdcp2_deauthenticate_port(connector) < 0) in hdcp2_authenticate_and_encrypt()
2062 ret = hdcp2_enable_stream_encryption(connector); in hdcp2_authenticate_and_encrypt()
2068 struct intel_connector *connector) in _intel_hdcp2_enable() argument
2070 struct intel_display *display = to_intel_display(connector); in _intel_hdcp2_enable()
2071 struct intel_hdcp *hdcp = &connector->hdcp; in _intel_hdcp2_enable()
2075 connector->base.base.id, connector->base.name, in _intel_hdcp2_enable()
2078 intel_hdcp_disable_hdcp_line_rekeying(connector->encoder, hdcp); in _intel_hdcp2_enable()
2080 ret = hdcp2_authenticate_and_encrypt(state, connector); in _intel_hdcp2_enable()
2088 connector->base.base.id, connector->base.name, in _intel_hdcp2_enable()
2096 _intel_hdcp2_disable(struct intel_connector *connector, bool hdcp2_link_recovery) in _intel_hdcp2_disable() argument
2098 struct intel_display *display = to_intel_display(connector); in _intel_hdcp2_disable()
2099 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _intel_hdcp2_disable()
2101 struct intel_hdcp *hdcp = &connector->hdcp; in _intel_hdcp2_disable()
2105 connector->base.base.id, connector->base.name); in _intel_hdcp2_disable()
2108 ret = hdcp->shim->stream_2_2_encryption(connector, false); in _intel_hdcp2_disable()
2111 connector->base.base.id, connector->base.name); in _intel_hdcp2_disable()
2121 ret = hdcp2_disable_encryption(connector); in _intel_hdcp2_disable()
2123 if (hdcp2_deauthenticate_port(connector) < 0) in _intel_hdcp2_disable()
2126 connector->hdcp.hdcp2_encrypted = false; in _intel_hdcp2_disable()
2134 static int intel_hdcp2_check_link(struct intel_connector *connector) in intel_hdcp2_check_link() argument
2136 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_check_link()
2137 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp2_check_link()
2138 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_check_link()
2160 _intel_hdcp2_disable(connector, true); in intel_hdcp2_check_link()
2161 intel_hdcp_update_value(connector, in intel_hdcp2_check_link()
2167 ret = hdcp->shim->check_2_2_link(dig_port, connector); in intel_hdcp2_check_link()
2170 intel_hdcp_update_value(connector, in intel_hdcp2_check_link()
2186 connector->base.base.id, connector->base.name); in intel_hdcp2_check_link()
2189 ret = _intel_hdcp2_disable(connector, true); in intel_hdcp2_check_link()
2193 connector->base.base.id, connector->base.name, ret); in intel_hdcp2_check_link()
2194 intel_hdcp_update_value(connector, in intel_hdcp2_check_link()
2199 intel_hdcp_update_value(connector, in intel_hdcp2_check_link()
2212 struct intel_connector *connector = intel_hdcp_to_connector(hdcp); in intel_hdcp_check_work() local
2213 struct intel_display *display = to_intel_display(connector); in intel_hdcp_check_work()
2216 if (drm_connector_is_unregistered(&connector->base)) in intel_hdcp_check_work()
2219 if (!intel_hdcp2_check_link(connector)) in intel_hdcp_check_work()
2222 else if (!intel_hdcp_check_link(connector)) in intel_hdcp_check_work()
2279 static int initialize_hdcp_port_data(struct intel_connector *connector, in initialize_hdcp_port_data() argument
2283 struct intel_display *display = to_intel_display(connector); in initialize_hdcp_port_data()
2362 static void intel_hdcp2_init(struct intel_connector *connector, in intel_hdcp2_init() argument
2366 struct intel_display *display = to_intel_display(connector); in intel_hdcp2_init()
2367 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp2_init()
2370 ret = initialize_hdcp_port_data(connector, dig_port, shim); in intel_hdcp2_init()
2379 int intel_hdcp_init(struct intel_connector *connector, in intel_hdcp_init() argument
2383 struct intel_display *display = to_intel_display(connector); in intel_hdcp_init()
2384 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_init()
2391 intel_hdcp2_init(connector, dig_port, shim); in intel_hdcp_init()
2393 ret = drm_connector_attach_content_protection_property(&connector->base, in intel_hdcp_init()
2417 struct intel_connector *connector = in _intel_hdcp_enable() local
2418 to_intel_connector(conn_state->connector); in _intel_hdcp_enable()
2419 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _intel_hdcp_enable()
2420 struct intel_hdcp *hdcp = &connector->hdcp; in _intel_hdcp_enable()
2427 if (!connector->encoder) { in _intel_hdcp_enable()
2429 connector->base.base.id, connector->base.name); in _intel_hdcp_enable()
2455 if (intel_hdcp2_get_capability(connector)) { in _intel_hdcp_enable()
2456 ret = _intel_hdcp2_enable(state, connector); in _intel_hdcp_enable()
2466 if (ret && intel_hdcp_get_capability(connector) && in _intel_hdcp_enable()
2468 ret = intel_hdcp1_enable(connector); in _intel_hdcp_enable()
2474 intel_hdcp_update_value(connector, in _intel_hdcp_enable()
2489 struct intel_connector *connector = in intel_hdcp_enable() local
2490 to_intel_connector(conn_state->connector); in intel_hdcp_enable()
2491 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_enable()
2505 int intel_hdcp_disable(struct intel_connector *connector) in intel_hdcp_disable() argument
2507 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_disable()
2508 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_disable()
2520 intel_hdcp_update_value(connector, in intel_hdcp_disable()
2523 ret = _intel_hdcp2_disable(connector, false); in intel_hdcp_disable()
2525 ret = _intel_hdcp_disable(connector); in intel_hdcp_disable()
2539 struct intel_connector *connector = in intel_hdcp_update_pipe() local
2540 to_intel_connector(conn_state->connector); in intel_hdcp_update_pipe()
2541 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_update_pipe()
2543 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_hdcp_update_pipe()
2545 if (!connector->hdcp.shim) in intel_hdcp_update_pipe()
2560 intel_hdcp_disable(connector); in intel_hdcp_update_pipe()
2569 drm_connector_get(&connector->base); in intel_hdcp_update_pipe()
2571 drm_connector_put(&connector->base); in intel_hdcp_update_pipe()
2587 drm_connector_get(&connector->base); in intel_hdcp_update_pipe()
2589 drm_connector_put(&connector->base); in intel_hdcp_update_pipe()
2615 void intel_hdcp_cleanup(struct intel_connector *connector) in intel_hdcp_cleanup() argument
2617 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_cleanup()
2626 drm_WARN_ON(connector->base.dev, in intel_hdcp_cleanup()
2627 connector->base.registration_state == DRM_CONNECTOR_REGISTERED); in intel_hdcp_cleanup()
2644 drm_WARN_ON(connector->base.dev, work_pending(&hdcp->prop_work)); in intel_hdcp_cleanup()
2651 void intel_hdcp_atomic_check(struct drm_connector *connector, in intel_hdcp_atomic_check() argument
2699 void intel_hdcp_handle_cp_irq(struct intel_connector *connector) in intel_hdcp_handle_cp_irq() argument
2701 struct intel_hdcp *hdcp = &connector->hdcp; in intel_hdcp_handle_cp_irq()
2702 struct intel_display *display = to_intel_display(connector); in intel_hdcp_handle_cp_irq()
2708 atomic_inc(&connector->hdcp.cp_irq_count); in intel_hdcp_handle_cp_irq()
2709 wake_up_all(&connector->hdcp.cp_irq_queue); in intel_hdcp_handle_cp_irq()