فهرست منبع

disp: msm: hdcp: update encryption level on framework request

Update the minimum encryption level only when there is a request
to do so coming from the DRM framework. This will ensure that any
previously set value will not be overwritten while processing
other commands. Failure to preserve the minimum encryption level
can result in secure content playback failure if the sink device
is not updated with the correct value.

Change-Id: Ie9a555a57617096fbdb9e46dd29a973b9223e237
Signed-off-by: Tatenda Chipeperekwa <[email protected]>
Tatenda Chipeperekwa 6 سال پیش
والد
کامیت
a382d900a3
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      msm/sde_hdcp_2x.c

+ 5 - 1
msm/sde_hdcp_2x.c

@@ -822,7 +822,6 @@ static int sde_hdcp_2x_wakeup(struct sde_hdcp_2x_wakeup_data *data)
 
 	hdcp->timeout_left = data->timeout;
 	hdcp->total_message_length = data->total_message_length;
-	hdcp->min_enc_level = data->min_enc_level;
 
 	if (!completion_done(&hdcp->response_completion))
 		complete_all(&hdcp->response_completion);
@@ -875,6 +874,11 @@ static int sde_hdcp_2x_wakeup(struct sde_hdcp_2x_wakeup_data *data)
 			wake_up(&hdcp->wait_q);
 		}
 		break;
+	case HDCP_2X_CMD_MIN_ENC_LEVEL:
+		hdcp->min_enc_level = data->min_enc_level;
+		kfifo_put(&hdcp->cmd_q, data->cmd);
+		wake_up(&hdcp->wait_q);
+		break;
 	default:
 		kfifo_put(&hdcp->cmd_q, data->cmd);
 		wake_up(&hdcp->wait_q);