Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f49420a authored by Christopher Braga's avatar Christopher Braga Committed by Tatenda Chipeperekwa
Browse files

drm/msm/dp: update HDCP stream de-registration logic



Extend HDCP stream de-registration code to provide virtual channel
ID in addition to the stream id. Also fix flaw in de-registration
logic that resulted in HDCP off being skipped in valid cases.

Change-Id: Iee10193130ca0071b8136e4abade2ba35af20332
Signed-off-by: default avatarChristopher Braga <cbraga@codeaurora.org>
Signed-off-by: default avatarTatenda Chipeperekwa <tatendac@codeaurora.org>
parent 2ce9abfa
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -283,7 +283,8 @@ static void dp_display_hdcp_deregister_stream(struct dp_display_private *dp,
		enum dp_stream_id stream_id)
{
	if (dp->hdcp.ops->deregister_streams) {
		struct stream_info stream = {stream_id, 0};
		struct stream_info stream = {stream_id,
				dp->active_panels[stream_id]->vcpi};

		pr_debug("Deregistering stream within HDCP library\n");
		dp->hdcp.ops->deregister_streams(dp->hdcp.data, 1, &stream);
@@ -1655,9 +1656,8 @@ static int dp_display_pre_disable(struct dp_display *dp_display, void *panel)
			dp_display_hdcp_deregister_stream(dp,
				dp_panel->stream_id);
			for (i = DP_STREAM_0; i < DP_STREAM_MAX; i++) {
				if (i != dp_panel->stream_id)
					continue;
				if (dp->active_panels[i]) {
				if (i != dp_panel->stream_id &&
						dp->active_panels[i]) {
					pr_debug("Streams are still active. Skip disabling HDCP\n");
					goto stream;
				}