Re: [PATCH] drm/cec: Add CEC over Aux register definitions

2017-04-20 Thread Jani Nikula
On Wed, 19 Apr 2017, clinton.a.tay...@intel.com wrote:
> From: Clint Taylor 
>
> Adding DPCD register definitions from the DP 1.3 specification for CEC
> over AUX support.
>
> Signed-off-by: Clint Taylor 

Literally all DPCD macros in the file are prefixed with DP_. With that
added to everything here, Reviewed-by: Jani Nikula 

BR,
Jani.


> ---
>  include/drm/drm_dp_helper.h |   59 
> +++
>  1 file changed, 59 insertions(+)
>
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index c0bd0d7..d188aff 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -603,6 +603,9 @@
>  #define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0   0x2003   /* 1.2 */
>  
>  #define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI1   0x2004   /* 1.2 */
> +# define RX_GTC_MSTR_REQ_STATUS_CHANGE  (1 << 0)
> +# define LOCK_ACQUISITION_REQUEST   (1 << 1)
> +# define CEC_IRQ(1 << 2)
>  
>  #define DP_LINK_SERVICE_IRQ_VECTOR_ESI0 0x2005   /* 1.2 */
>  
> @@ -636,6 +639,62 @@
>  # define DP_VSC_EXT_CEA_SDP_SUPPORTED(1 << 6)  /* DP 
> 1.4 */
>  # define DP_VSC_EXT_CEA_SDP_CHAINING_SUPPORTED   (1 << 7)  /* DP 
> 1.4 */
>  
> +/* HDMI CEC tunneling over AUX DP 1.3 section 5.3.3.3.1 DPCD 1.4+ */
> +#define CEC_TUNNELING_CAPABILITY0x3000
> +# define CEC_TUNNELING_CAPABLE   (1 << 0)
> +# define CEC_SNOOPING_CAPABLE(1 << 1)
> +# define CEC_MULTIPLE_LA_CAPABLE (1 << 2)
> +
> +#define CEC_TUNNELING_CONTROL   0x3001
> +# define CEC_TUNNELING_ENABLE(1 << 0)
> +# define CEC_SNOOPING_ENABLE (1 << 1)
> +
> +#define CEC_RX_MESSAGE_INFO 0x3002
> +# define CEC_RX_MESSAGE_LEN_MASK (0xf << 0)
> +# define CEC_RX_MESSAGE_LEN_SHIFT0
> +# define CEC_RX_MESSAGE_HPD_STATE(1 << 4)
> +# define CEC_RX_MESSAGE_HPD_LOST (1 << 5)
> +# define CEC_RX_MESSAGE_ACKED(1 << 6)
> +# define CEC_RX_MESSAGE_ENDED(1 << 7)
> +
> +#define CEC_TX_MESSAGE_INFO 0x3003
> +# define CEC_TX_MESSAGE_LEN_MASK (0xf << 0)
> +# define CEC_TX_MESSAGE_LEN_SHIFT0
> +# define CEC_TX_RETRY_COUNT_MASK (0x7 << 4)
> +# define CEC_TX_RETRY_COUNT_SHIFT4
> +# define CEC_TX_MESSAGE_SEND (1 << 7)
> +
> +#define CEC_TUNNELING_IRQ_FLAGS 0x3004
> +# define CEC_RX_MESSAGE_INFO_VALID   (1 << 0)
> +# define CEC_RX_MESSAGE_OVERFLOW (1 << 1)
> +# define CEC_TX_MESSAGE_SENT (1 << 4)
> +# define CEC_TX_LINE_ERROR   (1 << 5)
> +# define CEC_TX_ADDRESS_NACK_ERROR   (1 << 6)
> +# define CEC_TX_DATA_NACK_ERROR  (1 << 7)
> +
> +#define CEC_LOGICAL_ADDRESS_MASK0x300E /* 0x300F word */
> +# define CEC_LOGICAL_ADDRESS_0   (1 << 0)
> +# define CEC_LOGICAL_ADDRESS_1   (1 << 1)
> +# define CEC_LOGICAL_ADDRESS_2   (1 << 2)
> +# define CEC_LOGICAL_ADDRESS_3   (1 << 3)
> +# define CEC_LOGICAL_ADDRESS_4   (1 << 4)
> +# define CEC_LOGICAL_ADDRESS_5   (1 << 5)
> +# define CEC_LOGICAL_ADDRESS_6   (1 << 6)
> +# define CEC_LOGICAL_ADDRESS_7   (1 << 7)
> +#define CEC_LOGICAL_ADDRESS_MASK_2  0x300F /* 0x300E word */
> +# define CEC_LOGICAL_ADDRESS_8   (1 << 0)
> +# define CEC_LOGICAL_ADDRESS_9   (1 << 1)
> +# define CEC_LOGICAL_ADDRESS_10  (1 << 2)
> +# define CEC_LOGICAL_ADDRESS_11  (1 << 3)
> +# define CEC_LOGICAL_ADDRESS_12  (1 << 4)
> +# define CEC_LOGICAL_ADDRESS_13  (1 << 5)
> +# define CEC_LOGICAL_ADDRESS_14  (1 << 6)
> +# define CEC_LOGICAL_ADDRESS_15  (1 << 7)
> +
> +#define CEC_RX_MESSAGE_BUFFER   0x3010
> +#define CEC_TX_MESSAGE_BUFFER   0x3020
> +#define CEC_MESSAGE_BUFFER_LENGTH 0x10
> +
>  /* DP 1.2 Sideband message defines */
>  /* peer device type - DP 1.2a Table 2-92 */
>  #define DP_PEER_DEVICE_NONE  0x0

-- 
Jani Nikula, Intel Open Source Technology Center
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] drm/cec: Add CEC over Aux register definitions

2017-04-19 Thread clinton . a . taylor
From: Clint Taylor 

Adding DPCD register definitions from the DP 1.3 specification for CEC
over AUX support.

Signed-off-by: Clint Taylor 
---
 include/drm/drm_dp_helper.h |   59 +++
 1 file changed, 59 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index c0bd0d7..d188aff 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -603,6 +603,9 @@
 #define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0   0x2003   /* 1.2 */
 
 #define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI1   0x2004   /* 1.2 */
+# define RX_GTC_MSTR_REQ_STATUS_CHANGE  (1 << 0)
+# define LOCK_ACQUISITION_REQUEST   (1 << 1)
+# define CEC_IRQ(1 << 2)
 
 #define DP_LINK_SERVICE_IRQ_VECTOR_ESI0 0x2005   /* 1.2 */
 
@@ -636,6 +639,62 @@
 # define DP_VSC_EXT_CEA_SDP_SUPPORTED  (1 << 6)  /* DP 1.4 */
 # define DP_VSC_EXT_CEA_SDP_CHAINING_SUPPORTED (1 << 7)  /* DP 1.4 */
 
+/* HDMI CEC tunneling over AUX DP 1.3 section 5.3.3.3.1 DPCD 1.4+ */
+#define CEC_TUNNELING_CAPABILITY0x3000
+# define CEC_TUNNELING_CAPABLE   (1 << 0)
+# define CEC_SNOOPING_CAPABLE(1 << 1)
+# define CEC_MULTIPLE_LA_CAPABLE (1 << 2)
+
+#define CEC_TUNNELING_CONTROL   0x3001
+# define CEC_TUNNELING_ENABLE(1 << 0)
+# define CEC_SNOOPING_ENABLE (1 << 1)
+
+#define CEC_RX_MESSAGE_INFO 0x3002
+# define CEC_RX_MESSAGE_LEN_MASK (0xf << 0)
+# define CEC_RX_MESSAGE_LEN_SHIFT0
+# define CEC_RX_MESSAGE_HPD_STATE(1 << 4)
+# define CEC_RX_MESSAGE_HPD_LOST (1 << 5)
+# define CEC_RX_MESSAGE_ACKED(1 << 6)
+# define CEC_RX_MESSAGE_ENDED(1 << 7)
+
+#define CEC_TX_MESSAGE_INFO 0x3003
+# define CEC_TX_MESSAGE_LEN_MASK (0xf << 0)
+# define CEC_TX_MESSAGE_LEN_SHIFT0
+# define CEC_TX_RETRY_COUNT_MASK (0x7 << 4)
+# define CEC_TX_RETRY_COUNT_SHIFT4
+# define CEC_TX_MESSAGE_SEND (1 << 7)
+
+#define CEC_TUNNELING_IRQ_FLAGS 0x3004
+# define CEC_RX_MESSAGE_INFO_VALID   (1 << 0)
+# define CEC_RX_MESSAGE_OVERFLOW (1 << 1)
+# define CEC_TX_MESSAGE_SENT (1 << 4)
+# define CEC_TX_LINE_ERROR   (1 << 5)
+# define CEC_TX_ADDRESS_NACK_ERROR   (1 << 6)
+# define CEC_TX_DATA_NACK_ERROR  (1 << 7)
+
+#define CEC_LOGICAL_ADDRESS_MASK0x300E /* 0x300F word */
+# define CEC_LOGICAL_ADDRESS_0   (1 << 0)
+# define CEC_LOGICAL_ADDRESS_1   (1 << 1)
+# define CEC_LOGICAL_ADDRESS_2   (1 << 2)
+# define CEC_LOGICAL_ADDRESS_3   (1 << 3)
+# define CEC_LOGICAL_ADDRESS_4   (1 << 4)
+# define CEC_LOGICAL_ADDRESS_5   (1 << 5)
+# define CEC_LOGICAL_ADDRESS_6   (1 << 6)
+# define CEC_LOGICAL_ADDRESS_7   (1 << 7)
+#define CEC_LOGICAL_ADDRESS_MASK_2  0x300F /* 0x300E word */
+# define CEC_LOGICAL_ADDRESS_8   (1 << 0)
+# define CEC_LOGICAL_ADDRESS_9   (1 << 1)
+# define CEC_LOGICAL_ADDRESS_10  (1 << 2)
+# define CEC_LOGICAL_ADDRESS_11  (1 << 3)
+# define CEC_LOGICAL_ADDRESS_12  (1 << 4)
+# define CEC_LOGICAL_ADDRESS_13  (1 << 5)
+# define CEC_LOGICAL_ADDRESS_14  (1 << 6)
+# define CEC_LOGICAL_ADDRESS_15  (1 << 7)
+
+#define CEC_RX_MESSAGE_BUFFER   0x3010
+#define CEC_TX_MESSAGE_BUFFER   0x3020
+#define CEC_MESSAGE_BUFFER_LENGTH 0x10
+
 /* DP 1.2 Sideband message defines */
 /* peer device type - DP 1.2a Table 2-92 */
 #define DP_PEER_DEVICE_NONE0x0
-- 
1.7.9.5

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel