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 <tatendac@codeaurora.org>
This commit is contained in:
Tatenda Chipeperekwa
2019-06-27 19:02:52 -07:00
committato da Gerrit - the friendly Code Review server
parent c8aa6f7e44
commit a382d900a3

Vedi File

@@ -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);