Lines Matching refs:dig_port
71 intel_hdcp_required_content_stream(struct intel_digital_port *dig_port) in intel_hdcp_required_content_stream() argument
76 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hdcp_required_content_stream()
77 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_required_content_stream()
83 if (dig_port->hdcp_auth_status) in intel_hdcp_required_content_stream()
95 if (conn_dig_port != dig_port) in intel_hdcp_required_content_stream()
98 if (!enforce_type0 && !dig_port->hdcp_mst_type1_capable) in intel_hdcp_required_content_stream()
105 if (dig_port->dp.active_mst_links <= 1) in intel_hdcp_required_content_stream()
126 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_prepare_streams() local
127 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_prepare_streams()
135 ret = intel_hdcp_required_content_stream(dig_port); in intel_hdcp_prepare_streams()
157 int intel_hdcp_read_valid_bksv(struct intel_digital_port *dig_port, in intel_hdcp_read_valid_bksv() argument
160 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hdcp_read_valid_bksv()
165 ret = shim->read_bksv(dig_port, bksv); in intel_hdcp_read_valid_bksv()
182 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_capable() local
191 shim->hdcp_capable(dig_port, &capable); in intel_hdcp_capable()
193 if (!intel_hdcp_read_valid_bksv(dig_port, shim, bksv)) in intel_hdcp_capable()
203 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp2_capable() local
221 hdcp->shim->hdcp_2_2_capable(dig_port, &capable); in intel_hdcp2_capable()
242 static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *dig_port, in intel_hdcp_poll_ksv_fifo() argument
249 ret = __wait_for(read_ret = shim->read_ksv_ready(dig_port, in intel_hdcp_poll_ksv_fifo()
408 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_validate_v_prime() local
411 enum port port = dig_port->base.port; in intel_hdcp_validate_v_prime()
417 ret = shim->read_v_prime_part(dig_port, i, &vprime); in intel_hdcp_validate_v_prime()
650 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_auth_downstream() local
656 ret = intel_hdcp_poll_ksv_fifo(dig_port, shim); in intel_hdcp_auth_downstream()
663 ret = shim->read_bstatus(dig_port, bstatus); in intel_hdcp_auth_downstream()
693 ret = shim->read_ksv_fifo(dig_port, num_downstream, ksv_fifo); in intel_hdcp_auth_downstream()
733 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_auth() local
738 enum port port = dig_port->base.port; in intel_hdcp_auth()
762 ret = shim->hdcp_capable(dig_port, &hdcp_capable); in intel_hdcp_auth()
792 ret = shim->write_an_aksv(dig_port, an.shim); in intel_hdcp_auth()
800 ret = intel_hdcp_read_valid_bksv(dig_port, shim, bksv.shim); in intel_hdcp_auth()
814 ret = shim->repeater_present(dig_port, &repeater_present); in intel_hdcp_auth()
821 ret = shim->toggle_signalling(dig_port, cpu_transcoder, true); in intel_hdcp_auth()
854 ret = shim->read_ri_prime(dig_port, ri.shim); in intel_hdcp_auth()
905 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _intel_hdcp_disable() local
908 enum port port = dig_port->base.port; in _intel_hdcp_disable()
930 if (dig_port->num_hdcp_streams > 0) in _intel_hdcp_disable()
949 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder, false); in _intel_hdcp_disable()
1013 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_update_value() local
1021 drm_WARN_ON(dev, !mutex_is_locked(&dig_port->hdcp_mutex)); in intel_hdcp_update_value()
1024 if (!drm_WARN_ON(dev, dig_port->num_hdcp_streams == 0)) in intel_hdcp_update_value()
1025 dig_port->num_hdcp_streams--; in intel_hdcp_update_value()
1027 dig_port->num_hdcp_streams++; in intel_hdcp_update_value()
1040 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_check_link() local
1043 enum port port = dig_port->base.port; in intel_hdcp_check_link()
1048 mutex_lock(&dig_port->hdcp_mutex); in intel_hdcp_check_link()
1072 if (hdcp->shim->check_link(dig_port, connector)) { in intel_hdcp_check_link()
1103 mutex_unlock(&dig_port->hdcp_mutex); in intel_hdcp_check_link()
1143 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_ake_init() local
1144 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_prepare_ake_init()
1173 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_rx_cert_prepare_km() local
1174 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_verify_rx_cert_prepare_km()
1201 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_hprime() local
1202 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_verify_hprime()
1227 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_store_pairing_info() local
1228 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_store_pairing_info()
1254 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_lc_init() local
1255 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_prepare_lc_init()
1281 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_lprime() local
1282 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_verify_lprime()
1307 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_prepare_skey() local
1308 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_prepare_skey()
1336 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_rep_topology_prepare_ack() local
1337 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_verify_rep_topology_prepare_ack()
1365 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_verify_mprime() local
1366 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_verify_mprime()
1389 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_port() local
1390 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_authenticate_port()
1414 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_close_mei_session() local
1428 &dig_port->hdcp_port_data); in hdcp2_close_mei_session()
1442 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authentication_key_exchange() local
1464 ret = shim->write_2_2_msg(dig_port, &msgs.ake_init, in hdcp2_authentication_key_exchange()
1469 ret = shim->read_2_2_msg(dig_port, HDCP_2_2_AKE_SEND_CERT, in hdcp2_authentication_key_exchange()
1498 ret = shim->write_2_2_msg(dig_port, &msgs.no_stored_km, size); in hdcp2_authentication_key_exchange()
1502 ret = shim->read_2_2_msg(dig_port, HDCP_2_2_AKE_SEND_HPRIME, in hdcp2_authentication_key_exchange()
1513 ret = shim->read_2_2_msg(dig_port, in hdcp2_authentication_key_exchange()
1531 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_locality_check() local
1545 ret = shim->write_2_2_msg(dig_port, &msgs.lc_init, in hdcp2_locality_check()
1550 ret = shim->read_2_2_msg(dig_port, in hdcp2_locality_check()
1567 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_session_key_exchange() local
1576 ret = hdcp->shim->write_2_2_msg(dig_port, &send_eks, in hdcp2_session_key_exchange()
1587 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _hdcp2_propagate_stream_management_info() local
1588 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in _hdcp2_propagate_stream_management_info()
1614 ret = shim->write_2_2_msg(dig_port, &msgs.stream_manage, in _hdcp2_propagate_stream_management_info()
1619 ret = shim->read_2_2_msg(dig_port, HDCP_2_2_REP_STREAM_READY, in _hdcp2_propagate_stream_management_info()
1637 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_repeater_topology() local
1649 ret = shim->read_2_2_msg(dig_port, HDCP_2_2_REP_SEND_RECVID_LIST, in hdcp2_authenticate_repeater_topology()
1666 dig_port->hdcp_mst_type1_capable = in hdcp2_authenticate_repeater_topology()
1702 ret = shim->write_2_2_msg(dig_port, &msgs.rep_ack, in hdcp2_authenticate_repeater_topology()
1712 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_sink() local
1738 ret = shim->config_stream_type(dig_port, in hdcp2_authenticate_sink()
1759 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_enable_stream_encryption() local
1761 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in hdcp2_enable_stream_encryption()
1764 enum port port = dig_port->base.port; in hdcp2_enable_stream_encryption()
1792 dig_port->hdcp_auth_status = false; in hdcp2_enable_stream_encryption()
1800 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_enable_encryption() local
1803 enum port port = dig_port->base.port; in hdcp2_enable_encryption()
1811 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder, in hdcp2_enable_encryption()
1834 dig_port->hdcp_auth_status = true; in hdcp2_enable_encryption()
1841 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_disable_encryption() local
1844 enum port port = dig_port->base.port; in hdcp2_disable_encryption()
1863 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder, in hdcp2_disable_encryption()
1907 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in hdcp2_authenticate_and_encrypt() local
1911 for (i = 0; i < tries && !dig_port->hdcp_auth_status; i++) { in hdcp2_authenticate_and_encrypt()
1944 if (!ret && !dig_port->hdcp_auth_status) { in hdcp2_authenticate_and_encrypt()
1993 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in _intel_hdcp2_disable() local
1995 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in _intel_hdcp2_disable()
2012 if (dig_port->num_hdcp_streams > 0 && !hdcp2_link_recovery) in _intel_hdcp2_disable()
2022 dig_port->hdcp_auth_status = false; in _intel_hdcp2_disable()
2031 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp2_check_link() local
2034 enum port port = dig_port->base.port; in intel_hdcp2_check_link()
2039 mutex_lock(&dig_port->hdcp_mutex); in intel_hdcp2_check_link()
2062 ret = hdcp->shim->check_2_2_link(dig_port, connector); in intel_hdcp2_check_link()
2118 mutex_unlock(&dig_port->hdcp_mutex); in intel_hdcp2_check_link()
2194 struct intel_digital_port *dig_port, in initialize_hdcp_port_data() argument
2198 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in initialize_hdcp_port_data()
2200 enum port port = dig_port->base.port; in initialize_hdcp_port_data()
2272 struct intel_digital_port *dig_port, in intel_hdcp2_init() argument
2279 ret = initialize_hdcp_port_data(connector, dig_port, shim); in intel_hdcp2_init()
2289 struct intel_digital_port *dig_port, in intel_hdcp_init() argument
2300 intel_hdcp2_init(connector, dig_port, shim); in intel_hdcp_init()
2307 kfree(dig_port->hdcp_port_data.streams); in intel_hdcp_init()
2324 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_enable() local
2339 mutex_lock(&dig_port->hdcp_mutex); in intel_hdcp_enable()
2353 dig_port->hdcp_port_data.fw_tc = intel_get_mei_fw_tc(hdcp->cpu_transcoder); in intel_hdcp_enable()
2381 mutex_unlock(&dig_port->hdcp_mutex); in intel_hdcp_enable()
2388 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_disable() local
2396 mutex_lock(&dig_port->hdcp_mutex); in intel_hdcp_disable()
2409 mutex_unlock(&dig_port->hdcp_mutex); in intel_hdcp_disable()