Lines Matching defs:hdcp

97 	struct intel_hdcp *hdcp = &connector->hdcp;
100 data->streams[0].stream_type = hdcp->content_type;
146 const struct intel_hdcp_shim *shim = connector->hdcp.shim;
168 struct intel_hdcp *hdcp = &connector->hdcp;
172 if (!hdcp->hdcp2_supported)
188 mutex_lock(&i915->display.hdcp.hdcp_mutex);
189 if (!i915->display.hdcp.comp_added || !i915->display.hdcp.arbiter) {
190 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
193 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
196 hdcp->shim->hdcp_2_2_capable(dig_port, &capable);
258 * Another req for hdcp key loadability is enabled state of pll for
385 enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
627 const struct intel_hdcp_shim *shim = connector->hdcp.shim;
710 struct intel_hdcp *hdcp = &connector->hdcp;
711 const struct intel_hdcp_shim *shim = hdcp->shim;
712 enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
868 transcoder_name(hdcp->stream_transcoder));
882 struct intel_hdcp *hdcp = &connector->hdcp;
884 enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
891 if (hdcp->shim->stream_encryption) {
892 ret = hdcp->shim->stream_encryption(connector, false);
899 transcoder_name(hdcp->stream_transcoder));
909 hdcp->hdcp_encrypted = false;
923 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder, false);
936 struct intel_hdcp *hdcp = &connector->hdcp;
963 hdcp->hdcp_encrypted = true;
978 static struct intel_connector *intel_hdcp_to_connector(struct intel_hdcp *hdcp)
980 return container_of(hdcp, struct intel_connector, hdcp);
988 struct intel_hdcp *hdcp = &connector->hdcp;
991 drm_WARN_ON(connector->base.dev, !mutex_is_locked(&hdcp->mutex));
993 if (hdcp->value == value)
998 if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED) {
1005 hdcp->value = value;
1008 if (!queue_work(i915->unordered_wq, &hdcp->prop_work))
1018 struct intel_hdcp *hdcp = &connector->hdcp;
1023 mutex_lock(&hdcp->mutex);
1026 cpu_transcoder = hdcp->cpu_transcoder;
1029 if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED ||
1030 !hdcp->hdcp_encrypted) {
1048 if (hdcp->shim->check_link(dig_port, connector)) {
1049 if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
1062 drm_err(&i915->drm, "Failed to disable hdcp (%d)\n", ret);
1071 drm_err(&i915->drm, "Failed to enable hdcp (%d)\n", ret);
1080 mutex_unlock(&hdcp->mutex);
1086 struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp,
1088 struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
1092 mutex_lock(&hdcp->mutex);
1097 * we're running just after hdcp has been disabled, so just exit
1099 if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
1101 hdcp->value);
1103 mutex_unlock(&hdcp->mutex);
1125 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1126 arbiter = i915->display.hdcp.arbiter;
1129 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1137 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1155 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1156 arbiter = i915->display.hdcp.arbiter;
1159 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1169 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1183 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1184 arbiter = i915->display.hdcp.arbiter;
1187 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1194 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1209 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1210 arbiter = i915->display.hdcp.arbiter;
1213 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1221 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1236 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1237 arbiter = i915->display.hdcp.arbiter;
1240 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1248 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1263 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1264 arbiter = i915->display.hdcp.arbiter;
1267 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1275 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1289 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1290 arbiter = i915->display.hdcp.arbiter;
1293 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1301 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1318 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1319 arbiter = i915->display.hdcp.arbiter;
1322 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1333 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1348 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1349 arbiter = i915->display.hdcp.arbiter;
1352 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1359 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1372 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1373 arbiter = i915->display.hdcp.arbiter;
1376 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1382 drm_dbg_kms(&i915->drm, "Enable hdcp auth failed. %d\n",
1384 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1396 mutex_lock(&i915->display.hdcp.hdcp_mutex);
1397 arbiter = i915->display.hdcp.arbiter;
1400 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1406 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
1421 struct intel_hdcp *hdcp = &connector->hdcp;
1429 const struct intel_hdcp_shim *shim = hdcp->shim;
1434 hdcp->seq_num_v = 0;
1435 hdcp->seq_num_m = 0;
1456 hdcp->is_repeater = HDCP_2_2_RX_REPEATER(msgs.send_cert.rx_caps[2]);
1470 &hdcp->is_paired,
1488 if (!hdcp->is_paired) {
1500 hdcp->is_paired = true;
1509 struct intel_hdcp *hdcp = &connector->hdcp;
1514 const struct intel_hdcp_shim *shim = hdcp->shim;
1545 struct intel_hdcp *hdcp = &connector->hdcp;
1553 ret = hdcp->shim->write_2_2_msg(dig_port, &send_eks,
1566 struct intel_hdcp *hdcp = &connector->hdcp;
1571 const struct intel_hdcp_shim *shim = hdcp->shim;
1574 if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX)
1579 drm_hdcp_cpu_to_be24(msgs.stream_manage.seq_num_m, hdcp->seq_num_m);
1601 data->seq_num_m = hdcp->seq_num_m;
1606 hdcp->seq_num_m++;
1616 struct intel_hdcp *hdcp = &connector->hdcp;
1621 const struct intel_hdcp_shim *shim = hdcp->shim;
1651 if (!hdcp->hdcp2_encrypted && seq_num_v) {
1657 if (seq_num_v < hdcp->seq_num_v) {
1678 hdcp->seq_num_v = seq_num_v;
1691 struct intel_hdcp *hdcp = &connector->hdcp;
1692 const struct intel_hdcp_shim *shim = hdcp->shim;
1716 hdcp->is_repeater,
1717 hdcp->content_type);
1722 if (hdcp->is_repeater) {
1739 struct intel_hdcp *hdcp = &connector->hdcp;
1740 enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
1752 if (hdcp->shim->stream_2_2_encryption) {
1753 ret = hdcp->shim->stream_2_2_encryption(connector, true);
1760 transcoder_name(hdcp->stream_transcoder));
1779 struct intel_hdcp *hdcp = &connector->hdcp;
1781 enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
1787 if (hdcp->shim->toggle_signalling) {
1788 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder,
1818 struct intel_hdcp *hdcp = &connector->hdcp;
1820 enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
1837 if (hdcp->shim->toggle_signalling) {
1838 ret = hdcp->shim->toggle_signalling(dig_port, cpu_transcoder,
1857 if (!connector->hdcp.is_repeater)
1866 if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX) {
1906 /* Clearing the mei hdcp session */
1937 struct intel_hdcp *hdcp = &connector->hdcp;
1942 hdcp->content_type);
1947 hdcp->content_type, ret);
1953 hdcp->content_type);
1955 hdcp->hdcp2_encrypted = true;
1965 struct intel_hdcp *hdcp = &connector->hdcp;
1971 if (hdcp->shim->stream_2_2_encryption) {
1972 ret = hdcp->shim->stream_2_2_encryption(connector, false);
1979 transcoder_name(hdcp->stream_transcoder));
1990 connector->hdcp.hdcp2_encrypted = false;
2002 struct intel_hdcp *hdcp = &connector->hdcp;
2007 mutex_lock(&hdcp->mutex);
2009 cpu_transcoder = hdcp->cpu_transcoder;
2012 if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED ||
2013 !hdcp->hdcp2_encrypted) {
2031 ret = hdcp->shim->check_2_2_link(dig_port, connector);
2033 if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
2042 if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
2088 mutex_unlock(&hdcp->mutex);
2094 struct intel_hdcp *hdcp = container_of(to_delayed_work(work),
2097 struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
2104 queue_delayed_work(i915->unordered_wq, &hdcp->check_work,
2107 queue_delayed_work(i915->unordered_wq, &hdcp->check_work,
2118 mutex_lock(&i915->display.hdcp.hdcp_mutex);
2119 i915->display.hdcp.arbiter = (struct i915_hdcp_arbiter *)data;
2120 i915->display.hdcp.arbiter->hdcp_dev = mei_kdev;
2121 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2132 mutex_lock(&i915->display.hdcp.hdcp_mutex);
2133 i915->display.hdcp.arbiter = NULL;
2134 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2229 mutex_lock(&i915->display.hdcp.hdcp_mutex);
2230 drm_WARN_ON(&i915->drm, i915->display.hdcp.comp_added);
2232 i915->display.hdcp.comp_added = true;
2233 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2243 mutex_lock(&i915->display.hdcp.hdcp_mutex);
2244 i915->display.hdcp.comp_added = false;
2245 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2256 struct intel_hdcp *hdcp = &connector->hdcp;
2261 drm_dbg_kms(&i915->drm, "Mei hdcp data init failed\n");
2265 hdcp->hdcp2_supported = true;
2273 struct intel_hdcp *hdcp = &connector->hdcp;
2284 hdcp->hdcp2_supported);
2286 hdcp->hdcp2_supported = false;
2291 hdcp->shim = shim;
2292 rw_init(&hdcp->mutex, "ihdcp");
2293 INIT_DELAYED_WORK(&hdcp->check_work, intel_hdcp_check_work);
2294 INIT_WORK(&hdcp->prop_work, intel_hdcp_prop_work);
2295 init_waitqueue_head(&hdcp->cp_irq_queue);
2358 struct intel_hdcp *hdcp = &connector->hdcp;
2362 if (!hdcp->shim)
2371 mutex_lock(&hdcp->mutex);
2374 hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED);
2375 hdcp->content_type = (u8)conn_state->hdcp_content_type;
2378 hdcp->cpu_transcoder = pipe_config->mst_master_transcoder;
2379 hdcp->stream_transcoder = pipe_config->cpu_transcoder;
2381 hdcp->cpu_transcoder = pipe_config->cpu_transcoder;
2382 hdcp->stream_transcoder = INVALID_TRANSCODER;
2387 intel_get_hdcp_transcoder(hdcp->cpu_transcoder);
2412 hdcp->content_type != DRM_MODE_HDCP_CONTENT_TYPE1) {
2417 queue_delayed_work(i915->unordered_wq, &hdcp->check_work,
2425 mutex_unlock(&hdcp->mutex);
2433 struct intel_hdcp *hdcp = &connector->hdcp;
2436 if (!hdcp->shim)
2439 mutex_lock(&hdcp->mutex);
2442 if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
2447 if (hdcp->hdcp2_encrypted)
2449 else if (hdcp->hdcp_encrypted)
2454 mutex_unlock(&hdcp->mutex);
2455 cancel_delayed_work_sync(&hdcp->check_work);
2466 struct intel_hdcp *hdcp = &connector->hdcp;
2470 if (!connector->hdcp.shim)
2474 (conn_state->hdcp_content_type != hdcp->content_type &&
2488 * Mark the hdcp state as DESIRED after the hdcp disable of type
2492 mutex_lock(&hdcp->mutex);
2493 hdcp->value = DRM_MODE_CONTENT_PROTECTION_DESIRED;
2495 if (!queue_work(i915->unordered_wq, &hdcp->prop_work))
2497 mutex_unlock(&hdcp->mutex);
2502 mutex_lock(&hdcp->mutex);
2503 /* Avoid enabling hdcp, if it already ENABLED */
2505 hdcp->value != DRM_MODE_CONTENT_PROTECTION_ENABLED;
2506 mutex_unlock(&hdcp->mutex);
2513 if (!queue_work(i915->unordered_wq, &hdcp->prop_work))
2525 mutex_lock(&i915->display.hdcp.hdcp_mutex);
2526 if (!i915->display.hdcp.comp_added) {
2527 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2531 i915->display.hdcp.comp_added = false;
2532 mutex_unlock(&i915->display.hdcp.hdcp_mutex);
2542 struct intel_hdcp *hdcp = &connector->hdcp;
2544 if (!hdcp->shim)
2558 cancel_delayed_work_sync(&hdcp->check_work);
2569 drm_WARN_ON(connector->base.dev, work_pending(&hdcp->prop_work));
2571 mutex_lock(&hdcp->mutex);
2572 hdcp->shim = NULL;
2573 mutex_unlock(&hdcp->mutex);
2610 * the last commit. And also no change in hdcp content type.
2626 struct intel_hdcp *hdcp = &connector->hdcp;
2629 if (!hdcp->shim)
2632 atomic_inc(&connector->hdcp.cp_irq_count);
2633 wake_up_all(&connector->hdcp.cp_irq_queue);
2635 queue_delayed_work(i915->unordered_wq, &hdcp->check_work, 0);