Commit 088bebc7 authored by Yu-ting Shen's avatar Yu-ting Shen Committed by Alex Deucher

drm/amd/display: avoid to authentication when DEVICE_COUNT=0

[why]
we don't support authentication with DEVICE_COUNT=0

[how]
check value DEVICE_COUNT before doing authentication
Signed-off-by: default avatarYu-ting Shen <Yu-ting.Shen@amd.com>
Reviewed-by: default avatarWenjing Liu <Wenjing.Liu@amd.com>
Acked-by: default avatarWayne Lin <waynelin@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 642d3a2b
...@@ -128,6 +128,11 @@ static inline uint8_t get_device_count(struct mod_hdcp *hdcp) ...@@ -128,6 +128,11 @@ static inline uint8_t get_device_count(struct mod_hdcp *hdcp)
static inline enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp) static inline enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp)
{ {
/* Avoid device count == 0 to do authentication */
if (0 == get_device_count(hdcp)) {
return MOD_HDCP_STATUS_HDCP1_DEVICE_COUNT_MISMATCH_FAILURE;
}
/* Some MST display may choose to report the internal panel as an HDCP RX. /* Some MST display may choose to report the internal panel as an HDCP RX.
* To update this condition with 1(because the immediate repeater's internal * To update this condition with 1(because the immediate repeater's internal
* panel is possibly not included in DEVICE_COUNT) + get_device_count(hdcp). * panel is possibly not included in DEVICE_COUNT) + get_device_count(hdcp).
......
...@@ -207,6 +207,11 @@ static inline uint8_t get_device_count(struct mod_hdcp *hdcp) ...@@ -207,6 +207,11 @@ static inline uint8_t get_device_count(struct mod_hdcp *hdcp)
static enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp) static enum mod_hdcp_status check_device_count(struct mod_hdcp *hdcp)
{ {
/* Avoid device count == 0 to do authentication */
if (0 == get_device_count(hdcp)) {
return MOD_HDCP_STATUS_HDCP1_DEVICE_COUNT_MISMATCH_FAILURE;
}
/* Some MST display may choose to report the internal panel as an HDCP RX. */ /* Some MST display may choose to report the internal panel as an HDCP RX. */
/* To update this condition with 1(because the immediate repeater's internal */ /* To update this condition with 1(because the immediate repeater's internal */
/* panel is possibly not included in DEVICE_COUNT) + get_device_count(hdcp). */ /* panel is possibly not included in DEVICE_COUNT) + get_device_count(hdcp). */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment