diff for duplicates of <de128e0f41cf98b0379b80fa3adbd3de58a5fd4b.camel@mediatek.com> diff --git a/N1/2.bin b/N1/2.bin new file mode 100644 index 0000000..83143f5 --- /dev/null +++ b/N1/2.bin @@ -0,0 +1,105 @@ +<html><body><p> +<pre> +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@mediatek.com/ +>  +> Signed-off-by: mac.shen <mac.shen@mediatek.com> +> --- + +[snip] + +> + +> +int dp_tx_hdcp2x_check_link(struct mtk_hdcp_info *hdcp_info) +> +{ +> +struct mtk_dp *mtk_dp = container_of(hdcp_info, struct mtk_dp, hdcp_info); +> +u8 rx_status; +> +int ret = -EINVAL; +> +int tmp = 0; +> + +> +mutex_lock(&mtk_dp->hdcp_mutex); +> + +> +if (mtk_dp->hdcp_info.auth_status != AUTH_PASS) +> +goto end; +> + +> +if (!mtk_dp->train_info.cable_plugged_in || !mtk_dp->enabled) +> +goto disable; +> + +> +ret = drm_dp_dpcd_read(&mtk_dp->aux, DP_HDCP_2_2_REG_RXSTATUS_OFFSET, &rx_status, +> +       HDCP_2_2_DP_RXSTATUS_LEN); +> +if (ret != HDCP_2_2_DP_RXSTATUS_LEN) { +> +dev_dbg(mtk_dp->dev, "[HDCP2.X] Read bstatus failed, reauth\n"); +> +goto disable; +> +} +> + +> +if (HDCP_2_2_DP_RXSTATUS_REAUTH_REQ(rx_status)) +> +tmp = REAUTH_REQUEST; +> +else if (HDCP_2_2_DP_RXSTATUS_LINK_FAILED(rx_status)) +> +tmp = LINK_INTEGRITY_FAILURE; +> +else if (HDCP_2_2_DP_RXSTATUS_READY(rx_status)) +> +tmp = TOPOLOGY_CHANGE; +> + +> +if (tmp == LINK_PROTECTED) { +> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_ENABLED); +> +ret = 0; +> +goto end; +> +} +> + +> +if (tmp == TOPOLOGY_CHANGE) { +> +ret = dp_tx_hdcp2x_authenticate_repeater(hdcp_info); +> +if (!ret) { +> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_ENABLED); +> +goto end; +> +} +> +} else { +> +dev_info(mtk_dp->dev, "[HDCP2.X] link failed with:0x%x, retrying auth\n", tmp); +> +} +> + +> +disable: +> +ret = dp_tx_hdcp2x_disabel(hdcp_info); +> +if (ret || !mtk_dp->train_info.cable_plugged_in || !mtk_dp->enabled) { +> +ret = -EAGAIN; +> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_DESIRED); +> +goto end; +> +} +> + +> +ret = dp_tx_hdcp2x_enable(hdcp_info); + +When something error then go here. Why enable hdcp? + +Regards, +CK + +> +if (ret) +> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_DESIRED); +> + +> +end: +> +mutex_unlock(&mtk_dp->hdcp_mutex); +> + +> +return ret; +> +} +> + + +</pre> +</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ******************** +The information contained in this e-mail message (including any +attachments) may be confidential, proprietary, privileged, or otherwise +exempt from disclosure under applicable laws. It is intended to be +conveyed only to the designated recipient(s). Any use, dissemination, +distribution, printing, retaining or copying of this e-mail (including its +attachments) by unintended recipient(s) is strictly prohibited and may +be unlawful. If you are not an intended recipient of this e-mail, or believe +that you have received this e-mail in error, please notify the sender +immediately (by replying to this e-mail), delete any and all copies of +this e-mail (including any attachments) from your system, and do not +disclose the content of this e-mail to any other person. Thank you! +</pre><!--}--> diff --git a/N1/2.hdr b/N1/2.hdr new file mode 100644 index 0000000..da1f671 --- /dev/null +++ b/N1/2.hdr @@ -0,0 +1,3 @@ +Content-Type: text/html; + charset="utf-8" +Content-Transfer-Encoding: base64 diff --git a/a/content_digest b/N1/content_digest index f6136d3..474a952 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -16,7 +16,7 @@ linux-mediatek@lists.infradead.org <linux-mediatek@lists.infradead.org> linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> " Shuijing Li (\346\235\216\346\260\264\351\235\231) <Shuijing.Li@mediatek.com>\0" - "\00:1\0" + "\01:1\0" "b\0" "Hi, Mac:\n" "\n" @@ -106,5 +106,112 @@ "> +\treturn ret;\n" "> +}\n" > + + "\01:2\0" + "b\0" + "<html><body><p>\r\n" + "<pre>\r\n" + "Hi, Mac:\r\n" + "\r\n" + "On Sat, 2024-06-08 at 20:01 +0800, mac.shen wrote:\r\n" + "> Changes in v3:\r\n" + "> - refine the function to get system time\r\n" + "> - refine the flow to do HDCP with content type and\r\n" + ">   protection value which set by user space\r\n" + "> - refine the flow to update content protection\r\n" + "> - refine the flow to do HDCP2.x authentication\r\n" + "> per suggestion from the previous thread:\r\n" + "> https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-mediatek__;!!CTRNKA9wMg0ARbw!md6xUiYN88D2YmETs8FQgaExM2zH8S1SmAEU9GRchwpNsXOyDFul3ziVKhRpCJaj8Rcn-gvM-801runjwA$ \r\n" + "> /patch/20240205055055.25340-3-mac.shen@mediatek.com/\r\n" + "> \r\n" + "> Signed-off-by: mac.shen <mac.shen@mediatek.com>\r\n" + "> ---\r\n" + "\r\n" + "[snip]\r\n" + "\r\n" + "> +\r\n" + "> +int dp_tx_hdcp2x_check_link(struct mtk_hdcp_info *hdcp_info)\r\n" + "> +{\r\n" + "> +struct mtk_dp *mtk_dp = container_of(hdcp_info, struct mtk_dp, hdcp_info);\r\n" + "> +u8 rx_status;\r\n" + "> +int ret = -EINVAL;\r\n" + "> +int tmp = 0;\r\n" + "> +\r\n" + "> +mutex_lock(&mtk_dp->hdcp_mutex);\r\n" + "> +\r\n" + "> +if (mtk_dp->hdcp_info.auth_status != AUTH_PASS)\r\n" + "> +goto end;\r\n" + "> +\r\n" + "> +if (!mtk_dp->train_info.cable_plugged_in || !mtk_dp->enabled)\r\n" + "> +goto disable;\r\n" + "> +\r\n" + "> +ret = drm_dp_dpcd_read(&mtk_dp->aux, DP_HDCP_2_2_REG_RXSTATUS_OFFSET, &rx_status,\r\n" + "> +       HDCP_2_2_DP_RXSTATUS_LEN);\r\n" + "> +if (ret != HDCP_2_2_DP_RXSTATUS_LEN) {\r\n" + "> +dev_dbg(mtk_dp->dev, "[HDCP2.X] Read bstatus failed, reauth\n");\r\n" + "> +goto disable;\r\n" + "> +}\r\n" + "> +\r\n" + "> +if (HDCP_2_2_DP_RXSTATUS_REAUTH_REQ(rx_status))\r\n" + "> +tmp = REAUTH_REQUEST;\r\n" + "> +else if (HDCP_2_2_DP_RXSTATUS_LINK_FAILED(rx_status))\r\n" + "> +tmp = LINK_INTEGRITY_FAILURE;\r\n" + "> +else if (HDCP_2_2_DP_RXSTATUS_READY(rx_status))\r\n" + "> +tmp = TOPOLOGY_CHANGE;\r\n" + "> +\r\n" + "> +if (tmp == LINK_PROTECTED) {\r\n" + "> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_ENABLED);\r\n" + "> +ret = 0;\r\n" + "> +goto end;\r\n" + "> +}\r\n" + "> +\r\n" + "> +if (tmp == TOPOLOGY_CHANGE) {\r\n" + "> +ret = dp_tx_hdcp2x_authenticate_repeater(hdcp_info);\r\n" + "> +if (!ret) {\r\n" + "> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_ENABLED);\r\n" + "> +goto end;\r\n" + "> +}\r\n" + "> +} else {\r\n" + "> +dev_info(mtk_dp->dev, "[HDCP2.X] link failed with:0x%x, retrying auth\n", tmp);\r\n" + "> +}\r\n" + "> +\r\n" + "> +disable:\r\n" + "> +ret = dp_tx_hdcp2x_disabel(hdcp_info);\r\n" + "> +if (ret || !mtk_dp->train_info.cable_plugged_in || !mtk_dp->enabled) {\r\n" + "> +ret = -EAGAIN;\r\n" + "> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_DESIRED);\r\n" + "> +goto end;\r\n" + "> +}\r\n" + "> +\r\n" + "> +ret = dp_tx_hdcp2x_enable(hdcp_info);\r\n" + "\r\n" + "When something error then go here. Why enable hdcp?\r\n" + "\r\n" + "Regards,\r\n" + "CK\r\n" + "\r\n" + "> +if (ret)\r\n" + "> +mtk_dp_hdcp_update_value(mtk_dp, DRM_MODE_CONTENT_PROTECTION_DESIRED);\r\n" + "> +\r\n" + "> +end:\r\n" + "> +mutex_unlock(&mtk_dp->hdcp_mutex);\r\n" + "> +\r\n" + "> +return ret;\r\n" + "> +}\r\n" + "> +\r\n" + "\r\n" + "</pre>\r\n" + "</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************\r\n" + "The information contained in this e-mail message (including any \r\n" + "attachments) may be confidential, proprietary, privileged, or otherwise\r\n" + "exempt from disclosure under applicable laws. It is intended to be \r\n" + "conveyed only to the designated recipient(s). Any use, dissemination, \r\n" + "distribution, printing, retaining or copying of this e-mail (including its \r\n" + "attachments) by unintended recipient(s) is strictly prohibited and may \r\n" + "be unlawful. If you are not an intended recipient of this e-mail, or believe \r\n" + "that you have received this e-mail in error, please notify the sender \r\n" + "immediately (by replying to this e-mail), delete any and all copies of \r\n" + "this e-mail (including any attachments) from your system, and do not\r\n" + "disclose the content of this e-mail to any other person. Thank you!\r\n" + </pre><!--}--> -a478045300a9ab789d2fd1084aaf2d6a42fc5e94248a6b6995c8c6393246a81c +37a1cfcfdf641e62b6031a16d7a901ef23a849c292651e24e375b67702ce1fa4
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.