[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9b4197e053d8c138eb8418bfa268e83b91dcfc92.camel@mediatek.com>
Date: Mon, 12 Aug 2024 07:25:27 +0000
From: CK Hu (胡俊光) <ck.hu@...iatek.com>
To: Mac Shen (沈俊) <Mac.Shen@...iatek.com>,
"chunkuang.hu@...nel.org" <chunkuang.hu@...nel.org>,
Jitao Shi (石记涛) <jitao.shi@...iatek.com>,
"daniel@...ll.ch" <daniel@...ll.ch>, "p.zabel@...gutronix.de"
<p.zabel@...gutronix.de>, "airlied@...il.com" <airlied@...il.com>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>
CC: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Shuijing Li (李水静) <Shuijing.Li@...iatek.com>
Subject: Re: [PATCH v3 2/3] Subject: [PATCH] drm/mediatek/dp: Add HDCP2.x
feature for DisplayPort
Hi, Mac:
On Sat, 2024-06-08 at 20:01 +0800, mac.shen wrote:
> Changes in v3:
> - refine the function to get system time
> - refine the flow to do HDCP with content type and
> protection value which set by user space
> - refine the flow to update content protection
> - refine the flow to do HDCP2.x authentication
> per suggestion from the previous thread:
> https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-mediatek__;!!CTRNKA9wMg0ARbw!md6xUiYN88D2YmETs8FQgaExM2zH8S1SmAEU9GRchwpNsXOyDFul3ziVKhRpCJaj8Rcn-gvM-801runjwA$
> /patch/20240205055055.25340-3-mac.shen@...iatek.com/
>
> Signed-off-by: mac.shen <mac.shen@...iatek.com>
> ---
[snip]
> @@ -2242,6 +2373,7 @@ static void mtk_dp_bridge_atomic_enable(struct drm_bridge *bridge,
> struct drm_bridge_state *old_state)
> {
> struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> + struct drm_connector_state *connector_state;
> int ret;
>
> mtk_dp->conn = drm_atomic_get_new_connector_for_encoder(old_state->base.state,
> @@ -2252,6 +2384,8 @@ static void mtk_dp_bridge_atomic_enable(struct drm_bridge *bridge,
> return;
> }
>
> + connector_state = drm_atomic_get_connector_state(old_state->base.state, mtk_dp->conn);
> +
> mtk_dp_aux_panel_poweron(mtk_dp, true);
>
> /* Training */
> @@ -2281,6 +2415,14 @@ static void mtk_dp_bridge_atomic_enable(struct drm_bridge *bridge,
> mtk_dp->enabled = true;
> mtk_dp_update_plugged_status(mtk_dp);
>
> + /* Enable hdcp if it's desired */
> + dev_dbg(mtk_dp->dev, "hdcp_content_type:%d, content protection: %d",
> + connector_state->hdcp_content_type, connector_state->content_protection);
> + if (connector_state->content_protection == DRM_MODE_CONTENT_PROTECTION_DESIRED) {
> + mtk_dp->hdcp_info.hdcp_content_type = connector_state->hdcp_content_type;
> + mtk_dp_hdcp_enable(mtk_dp);
> + }
> +
> return;
> power_off_aux:
> mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> @@ -2427,6 +2569,8 @@ static int mtk_dp_bridge_atomic_check(struct drm_bridge *bridge,
>
> drm_display_mode_to_videomode(&crtc_state->adjusted_mode, &mtk_dp->info.vm);
>
> + mtk_dp_hdcp_atomic_check(mtk_dp, conn_state);
> +
> return 0;
> }
In mtk_dp_bridge_atomic_enable(), you enable hdcp.
So in mtk_dp_bridge_atomic_disable(), you should disable hdcp.
Regards,
CK
>
Powered by blists - more mailing lists