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

CK Hu (胡俊光) ck.hu at mediatek.com
Thu Nov 30 17:59:38 PST 2023


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 at mediatek.com>
> ---
>  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];
> +};
> +


More information about the linux-arm-kernel mailing list