All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/3] drm/dp_mst: add passthrough_aux to struct drm_dp_mst_port
@ 2022-08-05 21:13 ` Hamza Mahfooz
  0 siblings, 0 replies; 27+ messages in thread
From: Hamza Mahfooz @ 2022-08-05 21:13 UTC (permalink / raw)
  To: linux-kernel
  Cc: Harry Wentland, Fangzhi Zuo, Wayne Lin, Aurabindo Pillai,
	hersenxs.wu, Hamza Mahfooz, Leo Li, Rodrigo Siqueira,
	Alex Deucher, Christian König, Pan, Xinhui, David Airlie,
	Daniel Vetter, Lyude Paul, Mikita Lipski, Claudio Suarez,
	Bhawanpreet Lakha, Roman Li, Ian Chen, Colin Ian King,
	Nicholas Kazlauskas, Thomas Zimmermann, Jani Nikula, Imran Khan,
	Ville Syrjälä, Javier Martinez Canillas, Kees Cook,
	Imre Deak, David Zhang, amd-gfx, dri-devel

Currently, there is no way to identify if DSC pass-through can be
enabled and what aux DSC pass-through requests ought to be sent to. So,
add a variable to struct drm_dp_mst_port that keeps track of the
aforementioned information.

Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
---
v2: define DP_DSC_PASSTHROUGH_IS_SUPPORTED
---
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 +++-
 include/drm/display/drm_dp.h                  | 1 +
 include/drm/display/drm_dp_mst_helper.h       | 3 +++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 67b3b9697da7..71915afd9892 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5921,8 +5921,10 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port)
 		/* Enpoint decompression with DP-to-DP peer device */
 		if ((endpoint_dsc & DP_DSC_DECOMPRESSION_IS_SUPPORTED) &&
 		    (endpoint_fec & DP_FEC_CAPABLE) &&
-		    (upstream_dsc & 0x2) /* DSC passthrough */)
+		    (upstream_dsc & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) {
+			port->passthrough_aux = &immediate_upstream_port->aux;
 			return &port->aux;
+		}
 
 		/* Virtual DPCD decompression with DP-to-DP peer device */
 		return &immediate_upstream_port->aux;
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index 9e3aff7e68bb..4d0abe4c7ea9 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -239,6 +239,7 @@
 
 #define DP_DSC_SUPPORT                      0x060   /* DP 1.4 */
 # define DP_DSC_DECOMPRESSION_IS_SUPPORTED  (1 << 0)
+# define DP_DSC_PASSTHROUGH_IS_SUPPORTED    (1 << 1)
 
 #define DP_DSC_REV                          0x061
 # define DP_DSC_MAJOR_MASK                  (0xf << 0)
diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h
index 10adec068b7f..4a39c95f8afd 100644
--- a/include/drm/display/drm_dp_mst_helper.h
+++ b/include/drm/display/drm_dp_mst_helper.h
@@ -86,6 +86,8 @@ struct drm_dp_vcpi {
  * @next: link to next port on this branch device
  * @aux: i2c aux transport to talk to device connected to this port, protected
  * by &drm_dp_mst_topology_mgr.base.lock.
+ * @passthrough_aux: parent aux to which DSC pass-through requests should be
+ * sent, only set if DSC pass-through is possible.
  * @parent: branch device parent of this port
  * @vcpi: Virtual Channel Payload info for this port.
  * @connector: DRM connector this port is connected to. Protected by
@@ -140,6 +142,7 @@ struct drm_dp_mst_port {
 	 */
 	struct drm_dp_mst_branch *mstb;
 	struct drm_dp_aux aux; /* i2c bus for this port? */
+	struct drm_dp_aux *passthrough_aux;
 	struct drm_dp_mst_branch *parent;
 
 	struct drm_dp_vcpi vcpi;
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2022-08-11 14:00 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-05 21:13 [PATCH v2 1/3] drm/dp_mst: add passthrough_aux to struct drm_dp_mst_port Hamza Mahfooz
2022-08-05 21:13 ` Hamza Mahfooz
2022-08-05 21:13 ` Hamza Mahfooz
2022-08-05 21:13 ` [PATCH v2 2/3] drm/amd/display: consider DSC pass-through during mode validation Hamza Mahfooz
2022-08-05 21:13   ` Hamza Mahfooz
2022-08-05 21:13   ` Hamza Mahfooz
2022-08-11 11:02   ` Anders Roxell
2022-08-11 11:02     ` Anders Roxell
2022-08-11 11:02     ` Anders Roxell
2022-08-05 21:13 ` [PATCH v2 3/3] drm/amd/display: implement DSC pass-through support Hamza Mahfooz
2022-08-05 21:13   ` Hamza Mahfooz
2022-08-05 21:13   ` Hamza Mahfooz
2022-08-05 21:17 ` [PATCH v2 1/3] drm/dp_mst: add passthrough_aux to struct drm_dp_mst_port Lyude Paul
2022-08-05 21:17   ` Lyude Paul
2022-08-05 21:17   ` Lyude Paul
2022-08-09 15:15   ` Hamza Mahfooz
2022-08-09 15:15     ` Hamza Mahfooz
2022-08-09 15:15     ` Hamza Mahfooz
2022-08-09 22:01     ` Lyude Paul
2022-08-09 22:01       ` Lyude Paul
2022-08-09 22:01       ` Lyude Paul
2022-08-10 13:23       ` Hamza Mahfooz
2022-08-10 13:23         ` Hamza Mahfooz
2022-08-10 13:23         ` Hamza Mahfooz
2022-08-10 21:24         ` Lyude Paul
2022-08-10 21:24           ` Lyude Paul
2022-08-10 21:24           ` Lyude Paul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.