2023-12-08 12:57:07

by Johan Hovold

[permalink] [raw]
Subject: [PATCH] soc: qcom: pmic_glink: disable UCSI on sc8280xp

Enabling UCSI on sc8280xp and the Lenovo ThinkPad X13s in particular
results in a number of errors and timeouts during boot:

[ 9.012421] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-95)
[ 14.047379] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
[ 14.050708] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
[ 20.192382] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
[ 20.192542] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)

Disable UCSI on sc8280xp until this has been resolved.

Fixes: 4db09e7b967b ("soc: qcom: pmic_glink: enable UCSI by default)
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Johan Hovold <[email protected]>
---
drivers/soc/qcom/pmic_glink.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/pmic_glink.c b/drivers/soc/qcom/pmic_glink.c
index 71d8901a9389..511aa40842a1 100644
--- a/drivers/soc/qcom/pmic_glink.c
+++ b/drivers/soc/qcom/pmic_glink.c
@@ -342,6 +342,7 @@ static const unsigned long pmic_glink_sm8450_client_mask = BIT(PMIC_GLINK_CLIENT

static const struct of_device_id pmic_glink_of_match[] = {
{ .compatible = "qcom,sc8180x-pmic-glink", .data = &pmic_glink_sc8180x_client_mask },
+ { .compatible = "qcom,sc8280xp-pmic-glink", .data = &pmic_glink_sc8180x_client_mask },
{ .compatible = "qcom,pmic-glink", .data = &pmic_glink_sm8450_client_mask },
{}
};
--
2.41.0


2023-12-08 16:34:25

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] soc: qcom: pmic_glink: disable UCSI on sc8280xp

On Fri, 8 Dec 2023 at 14:56, Johan Hovold <[email protected]> wrote:
>
> Enabling UCSI on sc8280xp and the Lenovo ThinkPad X13s in particular
> results in a number of errors and timeouts during boot:
>
> [ 9.012421] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-95)
> [ 14.047379] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> [ 14.050708] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
> [ 20.192382] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> [ 20.192542] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
>
> Disable UCSI on sc8280xp until this has been resolved.

Reviewed-by: Dmitry Baryshkov <[email protected]>

Johan, if you can capture message traces in
pmic_glink_ucsi_locked_write() / pmic_glink_ucsi_read() /
pmic_glink_ucsi_callback(), this would help me understand what is
causing the issue.

>
> Fixes: 4db09e7b967b ("soc: qcom: pmic_glink: enable UCSI by default)
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Johan Hovold <[email protected]>
> ---
> drivers/soc/qcom/pmic_glink.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/soc/qcom/pmic_glink.c b/drivers/soc/qcom/pmic_glink.c
> index 71d8901a9389..511aa40842a1 100644
> --- a/drivers/soc/qcom/pmic_glink.c
> +++ b/drivers/soc/qcom/pmic_glink.c
> @@ -342,6 +342,7 @@ static const unsigned long pmic_glink_sm8450_client_mask = BIT(PMIC_GLINK_CLIENT
>
> static const struct of_device_id pmic_glink_of_match[] = {
> { .compatible = "qcom,sc8180x-pmic-glink", .data = &pmic_glink_sc8180x_client_mask },
> + { .compatible = "qcom,sc8280xp-pmic-glink", .data = &pmic_glink_sc8180x_client_mask },
> { .compatible = "qcom,pmic-glink", .data = &pmic_glink_sm8450_client_mask },
> {}
> };
> --
> 2.41.0
>


--
With best wishes
Dmitry

2023-12-11 16:07:16

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] soc: qcom: pmic_glink: disable UCSI on sc8280xp

On Fri, Dec 08, 2023 at 06:34:00PM +0200, Dmitry Baryshkov wrote:
> On Fri, 8 Dec 2023 at 14:56, Johan Hovold <[email protected]> wrote:
> >
> > Enabling UCSI on sc8280xp and the Lenovo ThinkPad X13s in particular
> > results in a number of errors and timeouts during boot:
> >
> > [ 9.012421] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-95)
> > [ 14.047379] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> > [ 14.050708] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
> > [ 20.192382] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> > [ 20.192542] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
> >
> > Disable UCSI on sc8280xp until this has been resolved.

> Johan, if you can capture message traces in
> pmic_glink_ucsi_locked_write() / pmic_glink_ucsi_read() /
> pmic_glink_ucsi_callback(), this would help me understand what is
> causing the issue.

I don't have time to dig into this at the moment, and its probably
easiest for everyone if you just try this on your own X13s.

Johan

2023-12-17 17:24:57

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] soc: qcom: pmic_glink: disable UCSI on sc8280xp


On Fri, 08 Dec 2023 13:57:30 +0100, Johan Hovold wrote:
> Enabling UCSI on sc8280xp and the Lenovo ThinkPad X13s in particular
> results in a number of errors and timeouts during boot:
>
> [ 9.012421] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-95)
> [ 14.047379] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> [ 14.050708] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
> [ 20.192382] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
> [ 20.192542] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
>
> [...]

Applied, thanks!

[1/1] soc: qcom: pmic_glink: disable UCSI on sc8280xp
commit: 3581cb91543967ee1a57849116e26036f6240e6d

Best regards,
--
Bjorn Andersson <[email protected]>