diff mbox series

drm/doc: Move bridge link target to the right place

Message ID 20181220070831.13949-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show
Series drm/doc: Move bridge link target to the right place | expand

Commit Message

Daniel Vetter Dec. 20, 2018, 7:08 a.m. UTC
I screwed up a rebase somehow.

v2: Drop bogus hunk.

Cc: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 Documentation/gpu/drm-kms-helpers.rst |  4 ++--
 drivers/gpu/drm/i915/intel_drv.h      | 33 +++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 2 deletions(-)

Comments

Lubomir Rintel Dec. 20, 2018, 11:17 a.m. UTC | #1
On Thu, 2018-12-20 at 08:08 +0100, Daniel Vetter wrote:
> I screwed up a rebase somehow.
> 
> v2: Drop bogus hunk.
> 
> Cc: Lubomir Rintel <lkundrak@v3.sk>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  Documentation/gpu/drm-kms-helpers.rst |  4 ++--
>  drivers/gpu/drm/i915/intel_drv.h      | 33
> +++++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/gpu/drm-kms-helpers.rst
> b/Documentation/gpu/drm-kms-helpers.rst
> index b422eb8edf16..10b62c5441d8 100644
> --- a/Documentation/gpu/drm-kms-helpers.rst
> +++ b/Documentation/gpu/drm-kms-helpers.rst
> @@ -116,8 +116,6 @@ Framebuffer CMA Helper Functions Reference
>  .. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
>     :export:
>  
> -.. _drm_bridges:
> -
>  Framebuffer GEM Helper Reference
>  ================================
>  
> @@ -127,6 +125,8 @@ Framebuffer GEM Helper Reference
>  .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c
>     :export:
>  
> +.. _drm_bridges:
> +
>  Bridges
>  =======
>  
> diff --git a/drivers/gpu/drm/i915/intel_drv.h
> b/drivers/gpu/drm/i915/intel_drv.h
> index c6d2eff0e19e..95746f5b0b9e 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -379,6 +379,39 @@ struct intel_hdcp_shim {
>  	/* Detects panel's hdcp capability. This is optional for HDMI.
> */
>  	int (*hdcp_capable)(struct intel_digital_port *intel_dig_port,
>  			    bool *hdcp_capable);
> +<<<<<<< HEAD
> +=======

Conflict markers.
I guess this still isn't what you wanted to send?

> +
> +	/* HDCP adaptation(DP/HDMI) required on the port */
> +	enum hdcp_wired_protocol protocol;
> +
> +	/* Detects whether Panel is HDCP2.2 capable */
> +	int (*hdcp_2_2_capable)(struct intel_digital_port
> *intel_dig_port,
> +				bool *capable);
> +
> +	/* Write HDCP2.2 messages.
> +	 * We are using HDMI msg-id numbers to identify HDCP2 messages,
> which *
> +	 * will be remapped to DP AUX registers for DP. */
> +	int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port,
> +			     void *buf, size_t size);
> +
> +	/* Read HDCP2.2 messages.
> +	 * We are using HDMI msg-id numbers to identify HDCP2 messages,
> which *
> +	 * will be remapped to DP AUX registers for DP.  */
> +	int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port,
> +			    u8 msg_id, void *buf, size_t size);
> +
> +	/*
> +	 * Implementation of DP HDCP2.2 Errata for the communication of
> stream
> +	 * type to Receivers. In DP HDCP2.2 Stream type is one of the
> input to
> +	 * the HDCP2.2 Cipher for En/De-Cryption. Not applicable for
> HDMI.
> +	 */
> +	int (*config_stream_type)(struct intel_digital_port
> *intel_dig_port,
> +				  void *buf, size_t size);
> +
> +	/* HDCP2.2 Link Integrity Check */
> +	int (*check_2_2_link)(struct intel_digital_port
> *intel_dig_port);
> +>>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the
> right place
>  };
>  
>  struct intel_hdcp {
kernel test robot Dec. 20, 2018, 7:23 p.m. UTC | #2
Hi Daniel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.20-rc7 next-20181220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-doc-Move-bridge-link-target-to-the-right-place/20181221-021521
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/i915_trace.h:11:0,
                    from drivers/gpu/drm/i915/i915_drv.h:2563,
                    from drivers/gpu/drm/i915/i915_gem_execbuffer.c:38:
>> drivers/gpu/drm/i915/intel_drv.h:382:1: error: version control conflict marker in file
    <<<<<<< HEAD
    ^~~~~~~
>> drivers/gpu/drm/i915/intel_drv.h:414:9: error: invalid suffix "f9e07e71945..." on integer constant
    >>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the right place
            ^~~~~~~~~~~~~~~

vim +382 drivers/gpu/drm/i915/intel_drv.h

   309	
   310	/*
   311	 * This structure serves as a translation layer between the generic HDCP code
   312	 * and the bus-specific code. What that means is that HDCP over HDMI differs
   313	 * from HDCP over DP, so to account for these differences, we need to
   314	 * communicate with the receiver through this shim.
   315	 *
   316	 * For completeness, the 2 buses differ in the following ways:
   317	 *	- DP AUX vs. DDC
   318	 *		HDCP registers on the receiver are set via DP AUX for DP, and
   319	 *		they are set via DDC for HDMI.
   320	 *	- Receiver register offsets
   321	 *		The offsets of the registers are different for DP vs. HDMI
   322	 *	- Receiver register masks/offsets
   323	 *		For instance, the ready bit for the KSV fifo is in a different
   324	 *		place on DP vs HDMI
   325	 *	- Receiver register names
   326	 *		Seriously. In the DP spec, the 16-bit register containing
   327	 *		downstream information is called BINFO, on HDMI it's called
   328	 *		BSTATUS. To confuse matters further, DP has a BSTATUS register
   329	 *		with a completely different definition.
   330	 *	- KSV FIFO
   331	 *		On HDMI, the ksv fifo is read all at once, whereas on DP it must
   332	 *		be read 3 keys at a time
   333	 *	- Aksv output
   334	 *		Since Aksv is hidden in hardware, there's different procedures
   335	 *		to send it over DP AUX vs DDC
   336	 */
   337	struct intel_hdcp_shim {
   338		/* Outputs the transmitter's An and Aksv values to the receiver. */
   339		int (*write_an_aksv)(struct intel_digital_port *intel_dig_port, u8 *an);
   340	
   341		/* Reads the receiver's key selection vector */
   342		int (*read_bksv)(struct intel_digital_port *intel_dig_port, u8 *bksv);
   343	
   344		/*
   345		 * Reads BINFO from DP receivers and BSTATUS from HDMI receivers. The
   346		 * definitions are the same in the respective specs, but the names are
   347		 * different. Call it BSTATUS since that's the name the HDMI spec
   348		 * uses and it was there first.
   349		 */
   350		int (*read_bstatus)(struct intel_digital_port *intel_dig_port,
   351				    u8 *bstatus);
   352	
   353		/* Determines whether a repeater is present downstream */
   354		int (*repeater_present)(struct intel_digital_port *intel_dig_port,
   355					bool *repeater_present);
   356	
   357		/* Reads the receiver's Ri' value */
   358		int (*read_ri_prime)(struct intel_digital_port *intel_dig_port, u8 *ri);
   359	
   360		/* Determines if the receiver's KSV FIFO is ready for consumption */
   361		int (*read_ksv_ready)(struct intel_digital_port *intel_dig_port,
   362				      bool *ksv_ready);
   363	
   364		/* Reads the ksv fifo for num_downstream devices */
   365		int (*read_ksv_fifo)(struct intel_digital_port *intel_dig_port,
   366				     int num_downstream, u8 *ksv_fifo);
   367	
   368		/* Reads a 32-bit part of V' from the receiver */
   369		int (*read_v_prime_part)(struct intel_digital_port *intel_dig_port,
   370					 int i, u32 *part);
   371	
   372		/* Enables HDCP signalling on the port */
   373		int (*toggle_signalling)(struct intel_digital_port *intel_dig_port,
   374					 bool enable);
   375	
   376		/* Ensures the link is still protected */
   377		bool (*check_link)(struct intel_digital_port *intel_dig_port);
   378	
   379		/* Detects panel's hdcp capability. This is optional for HDMI. */
   380		int (*hdcp_capable)(struct intel_digital_port *intel_dig_port,
   381				    bool *hdcp_capable);
 > 382	<<<<<<< HEAD
   383	=======
   384	
   385		/* HDCP adaptation(DP/HDMI) required on the port */
   386		enum hdcp_wired_protocol protocol;
   387	
   388		/* Detects whether Panel is HDCP2.2 capable */
   389		int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port,
   390					bool *capable);
   391	
   392		/* Write HDCP2.2 messages.
   393		 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
   394		 * will be remapped to DP AUX registers for DP. */
   395		int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port,
   396				     void *buf, size_t size);
   397	
   398		/* Read HDCP2.2 messages.
   399		 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
   400		 * will be remapped to DP AUX registers for DP.  */
   401		int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port,
   402				    u8 msg_id, void *buf, size_t size);
   403	
   404		/*
   405		 * Implementation of DP HDCP2.2 Errata for the communication of stream
   406		 * type to Receivers. In DP HDCP2.2 Stream type is one of the input to
   407		 * the HDCP2.2 Cipher for En/De-Cryption. Not applicable for HDMI.
   408		 */
   409		int (*config_stream_type)(struct intel_digital_port *intel_dig_port,
   410					  void *buf, size_t size);
   411	
   412		/* HDCP2.2 Link Integrity Check */
   413		int (*check_2_2_link)(struct intel_digital_port *intel_dig_port);
 > 414	>>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the right place
   415	};
   416	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Dec. 21, 2018, 7:29 a.m. UTC | #3
Hi Daniel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.20-rc7 next-20181220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-doc-Move-bridge-link-target-to-the-right-place/20181221-021521
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/selftests/../i915_trace.h:11:0,
                    from drivers/gpu/drm/i915/selftests/../i915_drv.h:2563,
                    from drivers/gpu/drm/i915/selftests/i915_selftest.c:26:
>> drivers/gpu/drm/i915/selftests/../intel_drv.h:382:1: error: version control conflict marker in file
    <<<<<<< HEAD
    ^~~~~~~
>> drivers/gpu/drm/i915/selftests/../intel_drv.h:414:9: error: invalid suffix "f9e07e71945..." on integer constant
    >>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the right place
            ^~~~~~~~~~~~~~~

vim +382 drivers/gpu/drm/i915/selftests/../intel_drv.h

   309	
   310	/*
   311	 * This structure serves as a translation layer between the generic HDCP code
   312	 * and the bus-specific code. What that means is that HDCP over HDMI differs
   313	 * from HDCP over DP, so to account for these differences, we need to
   314	 * communicate with the receiver through this shim.
   315	 *
   316	 * For completeness, the 2 buses differ in the following ways:
   317	 *	- DP AUX vs. DDC
   318	 *		HDCP registers on the receiver are set via DP AUX for DP, and
   319	 *		they are set via DDC for HDMI.
   320	 *	- Receiver register offsets
   321	 *		The offsets of the registers are different for DP vs. HDMI
   322	 *	- Receiver register masks/offsets
   323	 *		For instance, the ready bit for the KSV fifo is in a different
   324	 *		place on DP vs HDMI
   325	 *	- Receiver register names
   326	 *		Seriously. In the DP spec, the 16-bit register containing
   327	 *		downstream information is called BINFO, on HDMI it's called
   328	 *		BSTATUS. To confuse matters further, DP has a BSTATUS register
   329	 *		with a completely different definition.
   330	 *	- KSV FIFO
   331	 *		On HDMI, the ksv fifo is read all at once, whereas on DP it must
   332	 *		be read 3 keys at a time
   333	 *	- Aksv output
   334	 *		Since Aksv is hidden in hardware, there's different procedures
   335	 *		to send it over DP AUX vs DDC
   336	 */
   337	struct intel_hdcp_shim {
   338		/* Outputs the transmitter's An and Aksv values to the receiver. */
   339		int (*write_an_aksv)(struct intel_digital_port *intel_dig_port, u8 *an);
   340	
   341		/* Reads the receiver's key selection vector */
   342		int (*read_bksv)(struct intel_digital_port *intel_dig_port, u8 *bksv);
   343	
   344		/*
   345		 * Reads BINFO from DP receivers and BSTATUS from HDMI receivers. The
   346		 * definitions are the same in the respective specs, but the names are
   347		 * different. Call it BSTATUS since that's the name the HDMI spec
   348		 * uses and it was there first.
   349		 */
   350		int (*read_bstatus)(struct intel_digital_port *intel_dig_port,
   351				    u8 *bstatus);
   352	
   353		/* Determines whether a repeater is present downstream */
   354		int (*repeater_present)(struct intel_digital_port *intel_dig_port,
   355					bool *repeater_present);
   356	
   357		/* Reads the receiver's Ri' value */
   358		int (*read_ri_prime)(struct intel_digital_port *intel_dig_port, u8 *ri);
   359	
   360		/* Determines if the receiver's KSV FIFO is ready for consumption */
   361		int (*read_ksv_ready)(struct intel_digital_port *intel_dig_port,
   362				      bool *ksv_ready);
   363	
   364		/* Reads the ksv fifo for num_downstream devices */
   365		int (*read_ksv_fifo)(struct intel_digital_port *intel_dig_port,
   366				     int num_downstream, u8 *ksv_fifo);
   367	
   368		/* Reads a 32-bit part of V' from the receiver */
   369		int (*read_v_prime_part)(struct intel_digital_port *intel_dig_port,
   370					 int i, u32 *part);
   371	
   372		/* Enables HDCP signalling on the port */
   373		int (*toggle_signalling)(struct intel_digital_port *intel_dig_port,
   374					 bool enable);
   375	
   376		/* Ensures the link is still protected */
   377		bool (*check_link)(struct intel_digital_port *intel_dig_port);
   378	
   379		/* Detects panel's hdcp capability. This is optional for HDMI. */
   380		int (*hdcp_capable)(struct intel_digital_port *intel_dig_port,
   381				    bool *hdcp_capable);
 > 382	<<<<<<< HEAD
   383	=======
   384	
   385		/* HDCP adaptation(DP/HDMI) required on the port */
   386		enum hdcp_wired_protocol protocol;
   387	
   388		/* Detects whether Panel is HDCP2.2 capable */
   389		int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port,
   390					bool *capable);
   391	
   392		/* Write HDCP2.2 messages.
   393		 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
   394		 * will be remapped to DP AUX registers for DP. */
   395		int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port,
   396				     void *buf, size_t size);
   397	
   398		/* Read HDCP2.2 messages.
   399		 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
   400		 * will be remapped to DP AUX registers for DP.  */
   401		int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port,
   402				    u8 msg_id, void *buf, size_t size);
   403	
   404		/*
   405		 * Implementation of DP HDCP2.2 Errata for the communication of stream
   406		 * type to Receivers. In DP HDCP2.2 Stream type is one of the input to
   407		 * the HDCP2.2 Cipher for En/De-Cryption. Not applicable for HDMI.
   408		 */
   409		int (*config_stream_type)(struct intel_digital_port *intel_dig_port,
   410					  void *buf, size_t size);
   411	
   412		/* HDCP2.2 Link Integrity Check */
   413		int (*check_2_2_link)(struct intel_digital_port *intel_dig_port);
 > 414	>>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the right place
   415	};
   416	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox series

Patch

diff --git a/Documentation/gpu/drm-kms-helpers.rst b/Documentation/gpu/drm-kms-helpers.rst
index b422eb8edf16..10b62c5441d8 100644
--- a/Documentation/gpu/drm-kms-helpers.rst
+++ b/Documentation/gpu/drm-kms-helpers.rst
@@ -116,8 +116,6 @@  Framebuffer CMA Helper Functions Reference
 .. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
    :export:
 
-.. _drm_bridges:
-
 Framebuffer GEM Helper Reference
 ================================
 
@@ -127,6 +125,8 @@  Framebuffer GEM Helper Reference
 .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c
    :export:
 
+.. _drm_bridges:
+
 Bridges
 =======
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index c6d2eff0e19e..95746f5b0b9e 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -379,6 +379,39 @@  struct intel_hdcp_shim {
 	/* Detects panel's hdcp capability. This is optional for HDMI. */
 	int (*hdcp_capable)(struct intel_digital_port *intel_dig_port,
 			    bool *hdcp_capable);
+<<<<<<< HEAD
+=======
+
+	/* HDCP adaptation(DP/HDMI) required on the port */
+	enum hdcp_wired_protocol protocol;
+
+	/* Detects whether Panel is HDCP2.2 capable */
+	int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port,
+				bool *capable);
+
+	/* Write HDCP2.2 messages.
+	 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
+	 * will be remapped to DP AUX registers for DP. */
+	int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port,
+			     void *buf, size_t size);
+
+	/* Read HDCP2.2 messages.
+	 * We are using HDMI msg-id numbers to identify HDCP2 messages, which *
+	 * will be remapped to DP AUX registers for DP.  */
+	int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port,
+			    u8 msg_id, void *buf, size_t size);
+
+	/*
+	 * Implementation of DP HDCP2.2 Errata for the communication of stream
+	 * type to Receivers. In DP HDCP2.2 Stream type is one of the input to
+	 * the HDCP2.2 Cipher for En/De-Cryption. Not applicable for HDMI.
+	 */
+	int (*config_stream_type)(struct intel_digital_port *intel_dig_port,
+				  void *buf, size_t size);
+
+	/* HDCP2.2 Link Integrity Check */
+	int (*check_2_2_link)(struct intel_digital_port *intel_dig_port);
+>>>>>>> 4f9e07e71945... drm/doc: Move bridge link target to the right place
 };
 
 struct intel_hdcp {