mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/i915: Start repeater auth on READY/CP_IRQ
Second stage of HDCP authentication starts at CP_IRQ or at the assertion of READY bit from Repeater. Till then repeater will be authenticating with its downstream devices. So authenticated device count, depth and ksv_list readable from repeaters are valid only after assertion of READY/CP_IRQ. This patch makes sure that READY is polled before reading any topology information. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/1516254488-4971-4-git-send-email-ramalingam.c@intel.com
This commit is contained in:
parent
87eb3ec818
commit
24b42cbadb
@ -150,6 +150,12 @@ int intel_hdcp_auth_downstream(struct intel_digital_port *intel_dig_port,
|
|||||||
|
|
||||||
dev_priv = intel_dig_port->base.base.dev->dev_private;
|
dev_priv = intel_dig_port->base.base.dev->dev_private;
|
||||||
|
|
||||||
|
ret = intel_hdcp_poll_ksv_fifo(intel_dig_port, shim);
|
||||||
|
if (ret) {
|
||||||
|
DRM_ERROR("KSV list failed to become ready (%d)\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ret = shim->read_bstatus(intel_dig_port, bstatus);
|
ret = shim->read_bstatus(intel_dig_port, bstatus);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
@ -161,12 +167,6 @@ int intel_hdcp_auth_downstream(struct intel_digital_port *intel_dig_port,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = intel_hdcp_poll_ksv_fifo(intel_dig_port, shim);
|
|
||||||
if (ret) {
|
|
||||||
DRM_ERROR("KSV list failed to become ready (%d)\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ksv_fifo = kzalloc(num_downstream * DRM_HDCP_KSV_LEN, GFP_KERNEL);
|
ksv_fifo = kzalloc(num_downstream * DRM_HDCP_KSV_LEN, GFP_KERNEL);
|
||||||
if (!ksv_fifo)
|
if (!ksv_fifo)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
Loading…
Reference in New Issue
Block a user