Re: [PATCH] drm/mediatek/dp: Add the HDCP feature for DisplayPort

From: CK Hu (胡俊光)
Date: Thu Nov 30 2023 - 20:59:55 EST


Hi, Mac:

On Fri, 2023-11-24 at 16:53 +0800, mac.shen wrote:
> Add tee client application, HDCP 1.x and 2.x authentication for
> DisplayPort
> to support the HDCP feature.
>
> Signed-off-by: mac.shen <mac.shen@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/mediatek/Makefile | 7 +-
> drivers/gpu/drm/mediatek/ca/tci.h | 143 +++
> drivers/gpu/drm/mediatek/ca/tlDPHdcpCMD.h | 36 +
> drivers/gpu/drm/mediatek/ca/tlcDpHdcp.c | 638 +++++++++++++
> drivers/gpu/drm/mediatek/ca/tlcDpHdcp.h | 305 +++++++
> drivers/gpu/drm/mediatek/mtk_dp.c | 159 +++-
> drivers/gpu/drm/mediatek/mtk_dp.h | 17 +
> drivers/gpu/drm/mediatek/mtk_dp_hdcp.h | 154 ++++
> drivers/gpu/drm/mediatek/mtk_dp_hdcp1x.c | 646 +++++++++++++
> drivers/gpu/drm/mediatek/mtk_dp_hdcp1x.h | 55 ++
> drivers/gpu/drm/mediatek/mtk_dp_hdcp2.c | 1008
> +++++++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_dp_hdcp2.h | 75 ++
> drivers/gpu/drm/mediatek/mtk_dp_reg.h | 6 +-
> 13 files changed, 3233 insertions(+), 16 deletions(-)
> create mode 100644 drivers/gpu/drm/mediatek/ca/tci.h
> create mode 100644 drivers/gpu/drm/mediatek/ca/tlDPHdcpCMD.h
> create mode 100644 drivers/gpu/drm/mediatek/ca/tlcDpHdcp.c
> create mode 100644 drivers/gpu/drm/mediatek/ca/tlcDpHdcp.h
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp.h
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_hdcp.h
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_hdcp1x.c
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_hdcp1x.h
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_hdcp2.c
> create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_hdcp2.h
>

[snip]

> +
> +struct cryptokeys_t {
> + u8 type;
> + u32 len;
> + u32 key;
> +};

Useless, so remove it.

> +
> +struct cmd_hdcp_init_for_verion_t {
> + u32 version;
> + bool need_load_key;
> +};
> +
> +struct cmd_hdcp_write_val_t {
> + u8 type;
> + u8 len;
> + u32 val;
> +};
> +
> +struct cmd_hdcp_calculate_lm_t {
> + u8 bksv[BKSV_LEN];
> +};
> +
> +struct cmd_hdcp_get_aksv_t {
> + u8 aksv[AKSV_LEN];
> +};
> +
> +struct cmd_hdcp_sha1_t {
> + u32 message_len;
> + u32 message_addr;
> +};

Useless, so remove it.

Regards,
CK

> +
> +struct cmd_hdcp_ake_certificate_t {
> + u8 certification[CERT_LEN];
> + bool stored;
> + u8 m[M_LEN];
> + u8 ekm[EKM_LEN];
> +};
> +
> +struct cmd_hdcp_ake_paring_t {
> + u8 ekm[EKM_LEN];
> +};
> +
> +struct cmd_hdcp_enc_km_t {
> + u8 enc_km[ENC_KM_LEN];
> +};
> +