[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z1v3ve3M3s8cmGhA@hovoldconsulting.com>
Date: Fri, 13 Dec 2024 10:00:45 +0100
From: Johan Hovold <johan@...nel.org>
To: Abel Vesa <abel.vesa@...aro.org>
Cc: Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org, stable@...r.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>
Subject: Re: [PATCH v2] usb: typec: ucsi: Set orientation as none when
connector is unplugged
On Thu, Dec 12, 2024 at 07:37:43PM +0200, Abel Vesa wrote:
> The current implementation of the ucsi glink client connector_status()
> callback is only relying on the state of the gpio. This means that even
> when the cable is unplugged, the orientation propagated to the switches
> along the graph is "orientation normal", instead of "orientation none",
> which would be the correct one in this case.
>
> One of the Qualcomm DP-USB PHY combo drivers, which needs to be aware of
> the orientation change, is relying on the "orientation none" to skip
> the reinitialization of the entire PHY. Since the ucsi glink client
> advertises "orientation normal" even when the cable is unplugged, the
> mentioned PHY is taken down and reinitialized when in fact it should be
> left as-is. This triggers a crash within the displayport controller driver
> in turn, which brings the whole system down on some Qualcomm platforms.
> Propagating "orientation none" from the ucsi glink client on the
> connector_status() callback hides the problem of the mentioned PHY driver
> away for now. But the "orientation none" is nonetheless the correct one
> to be used in this case.
>
> So propagate the "orientation none" instead when the connector status
> flags says cable is disconnected.
>
> Fixes: 76716fd5bf09 ("usb: typec: ucsi: glink: move GPIO reading into connector_status callback")
> Cc: stable@...r.kernel.org # 6.10
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
> Signed-off-by: Abel Vesa <abel.vesa@...aro.org>
> ---
> Changes in v2:
> - Re-worded the commit message to explain a bit more what is happening.
> - Added Fixes tag and CC'ed stable.
> - Dropped the RFC prefix.
> - Used the new UCSI_CONSTAT macro which did not exist when v1 was sent.
> - Link to v1: https://lore.kernel.org/r/20241017-usb-typec-ucsi-glink-add-orientation-none-v1-1-0fdc7e49a7e7@linaro.org
Thanks for the update.
Reviewed-by: Johan Hovold <johan+linaro@...nel.org>
Tested-by: Johan Hovold <johan+linaro@...nel.org>
Johan
Powered by blists - more mailing lists