[PATCH v4 4/9] drm: Add some HDCP related #defines

Ramalingam C ramalingam.c at intel.com
Thu Dec 7 06:17:48 UTC 2017


Looks Good to me.

Reviewed-by: Ramalingam C <ramalingm.c at intel.com>

-Ram

On Thursday 07 December 2017 05:30 AM, Sean Paul wrote:
> In preparation for implementing HDCP in i915, add some HDCP related
> register offsets and defines. The dpcd register offsets will go in
> drm_dp_helper.h whereas the ddc offsets along with generic HDCP stuff
> will get stuffed in drm_hdcp.h, which is new.
>
> Changes in v2:
> - drm_hdcp.h gets MIT license (Daniel)
> Changes in v3:
> - None
> Changes in v4:
> - None
>
> Cc: Daniel Vetter <daniel.vetter at intel.com>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
> ---
>   include/drm/drm_dp_helper.h | 17 ++++++++++++++
>   include/drm/drm_hdcp.h      | 56 +++++++++++++++++++++++++++++++++++++++++++++
>   2 files changed, 73 insertions(+)
>   create mode 100644 include/drm/drm_hdcp.h
>
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8b9ac321c3bd..4b2640d54c70 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -815,6 +815,23 @@
>   #define DP_CEC_TX_MESSAGE_BUFFER               0x3020
>   #define DP_CEC_MESSAGE_BUFFER_LENGTH             0x10
>   
> +#define DP_AUX_HDCP_BKSV		0x68000
> +#define DP_AUX_HDCP_RI_PRIME		0x68005
> +#define DP_AUX_HDCP_AKSV		0x68007
> +#define DP_AUX_HDCP_AN			0x6800C
> +#define DP_AUX_HDCP_V_PRIME(h)		(0x68014 + h * 4)
> +#define DP_AUX_HDCP_BCAPS		0x68028
> +# define DP_BCAPS_REPEATER_PRESENT	BIT(1)
> +# define DP_BCAPS_HDCP_CAPABLE		BIT(0)
> +#define DP_AUX_HDCP_BSTATUS		0x68029
> +# define DP_BSTATUS_REAUTH_REQ		BIT(3)
> +# define DP_BSTATUS_LINK_FAILURE	BIT(2)
> +# define DP_BSTATUS_R0_PRIME_READY	BIT(1)
> +# define DP_BSTATUS_READY		BIT(0)
> +#define DP_AUX_HDCP_BINFO		0x6802A
> +#define DP_AUX_HDCP_KSV_FIFO		0x6802C
> +#define DP_AUX_HDCP_AINFO		0x6803B
> +
>   /* DP 1.2 Sideband message defines */
>   /* peer device type - DP 1.2a Table 2-92 */
>   #define DP_PEER_DEVICE_NONE		0x0
> diff --git a/include/drm/drm_hdcp.h b/include/drm/drm_hdcp.h
> new file mode 100644
> index 000000000000..c9b2484240d4
> --- /dev/null
> +++ b/include/drm/drm_hdcp.h
> @@ -0,0 +1,56 @@
> +/*
> + * Copyright (C) 2017 Google, Inc.
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
> + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + * OTHER DEALINGS IN THE SOFTWARE.
> + *
> + * Authors:
> + * Sean Paul <seanpaul at chromium.org>
> + */
> +
> +#ifndef _DRM_HDCP_H_INCLUDED_
> +#define _DRM_HDCP_H_INCLUDED_
> +
> +/* Period of hdcp checks (to ensure we're still authenticated) */
> +#define DRM_HDCP_CHECK_PERIOD_MS		(128 * 16)
> +
> +/* Shared lengths/masks between HDMI/DVI/DisplayPort */
> +#define DRM_HDCP_AN_LEN				8
> +#define DRM_HDCP_BSTATUS_LEN			2
> +#define DRM_HDCP_KSV_LEN			5
> +#define DRM_HDCP_RI_LEN				2
> +#define DRM_HDCP_V_PRIME_PART_LEN		4
> +#define DRM_HDCP_V_PRIME_NUM_PARTS		5
> +#define DRM_HDCP_NUM_DOWNSTREAM(x)		(x & 0x3f)
> +
> +/* Slave address for the HDCP registers in the receiver */
> +#define DRM_HDCP_DDC_ADDR			0x3A
> +
> +/* HDCP register offsets for HDMI/DVI devices */
> +#define DRM_HDCP_DDC_BKSV			0x00
> +#define DRM_HDCP_DDC_RI_PRIME			0x08
> +#define DRM_HDCP_DDC_AKSV			0x10
> +#define DRM_HDCP_DDC_AN				0x18
> +#define DRM_HDCP_DDC_V_PRIME(h)			(0x20 + h * 4)
> +#define DRM_HDCP_DDC_BCAPS			0x40
> +#define  DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT	BIT(6)
> +#define  DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY	BIT(5)
> +#define DRM_HDCP_DDC_BSTATUS			0x41
> +#define DRM_HDCP_DDC_KSV_FIFO			0x43
> +
> +#endif

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20171207/4de82a08/attachment.html>


More information about the dri-devel mailing list