Re: [PATCH v3 5/6] phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE
From: Konrad Dybcio <hidden>
Date: 2025-05-27 22:22:07
Also in:
linux-arm-msm, linux-devicetree, lkml
On 5/27/25 11:55 PM, Dmitry Baryshkov wrote:
On Tue, May 27, 2025 at 10:40:07PM +0200, Konrad Dybcio wrote:quoted
From: Neil Armstrong <neil.armstrong@linaro.org> Register a typec mux in order to change the PHY mode on the Type-C mux events depending on the mode and the svid when in Altmode setup. The DisplayPort phy should be left enabled if is still powered on by the DRM DisplayPort controller, so bail out until the DisplayPort PHY is not powered off. The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states will be set in between of USB-Only, Combo and DisplayPort Only so this will leave enough time to the DRM DisplayPort controller to turn of the DisplayPort PHY. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> [konrad: renaming, rewording, bug fixes] Signed-off-by: Konrad Dybcio <redacted> ---
[...]
quoted
+ } else { + /* Fall back to USB3+DP mode if we're not sure it's strictly USB3-only */Why? if the SID is not DP, then there can't be a DP stream.quoted
+ if (state->mode == TYPEC_MODE_USB3 || state->mode == TYPEC_STATE_USB) + new_mode = QMPPHY_MODE_USB3_ONLY; + else + new_mode = QMPPHY_MODE_USB3DP;
To be honest I don't really know.. Neil chose to do that, but I don't think there's a strict requirement.. Should we default to 4ln-USB3? [...]
Consider the following scenario: connect DP dongle, use modetest to setup DP stream, disconnect dongle, connect USB3 device. What would be the actual state of the PHY? Modetest is still running, so DP stream is not going to be shut down from the driver. I think we might need a generic notifier from the PHY to the user, telling that the PHY is going away (or just that the PHY is changing the state). Then it would be usable by both the DP and USB drivers to let them know that they should toggle the state.
If modetest won't stop running even though there was a DP unplug (and therefore presumably a destruction of the display), I don't think things are designed very well Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy