Thread (49 messages) 49 messages, 6 authors, 2024-08-27

Re: [PATCH v3 16/17] platform/chrome: cros_ec_typec: Support DP muxing

From: Tzung-Bi Shih <tzungbi@kernel.org>
Date: 2024-08-22 14:37:14
Also in: chrome-platform, dri-devel, linux-acpi, linux-patches, linux-usb, lkml

On Mon, Aug 19, 2024 at 03:38:30PM -0700, Stephen Boyd wrote:
quoted hunk ↗ jump to hunk
@@ -671,6 +674,20 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
 	if (port->mux_flags == resp.flags && port->role == pd_ctrl->role)
 		return 0;
 
+	dp_enabled = resp.flags & USB_PD_MUX_DP_ENABLED;
+	hpd_asserted = resp.flags & USB_PD_MUX_HPD_LVL;
+	/*
+	 * Assume the first port to have HPD asserted is the one muxed to DP
+	 * (i.e. active_port). When there's only one port this delays setting
+	 * the active_port until HPD is asserted, but before that the
+	 * drm_connector looks disconnected so active_port doesn't need to be
+	 * set.
+	 */
+	if (dp_bridge && hpd_asserted && !dp_bridge->active_port)
+		dp_bridge->active_port = port;
+
+	is_active_port = !dp_bridge || dp_bridge->active_port == port;
Why `!dp_bridge`?  When will `dp_bridge` be NULL?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help