summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Hovold <johan+linaro@kernel.org>2025-03-26 15:49:44 +0300
committerBjorn Andersson <andersson@kernel.org>2025-05-07 19:39:33 +0300
commit4d7ee0e277d4558ef025a5c4d6e1c7a8c8a1e68d (patch)
tree42d2ed91b60f33d4765cf8687fc78bd881a2f83f
parent56c8edc6eeaa16f777b1c030aad12e2e8da92104 (diff)
downloadlinux-4d7ee0e277d4558ef025a5c4d6e1c7a8c8a1e68d.tar.xz
soc: qcom: pmic_glink: enable UCSI on sc8280xp
Commit ad3dd9592b2a ("soc: qcom: pmic_glink: disable UCSI on sc8280xp") disabled UCSI shortly after it had been enabled to fix a regression that was observed on the Lenovo ThinkPad X13s. Specifically, disconnecting an external display would trigger a system error and hypervisor reset but no one cared enough to track down the bug at the time. The same issue was recently observed on X Elite machines, and commit f47eba045e6c ("usb: typec: ucsi: Set orientation as none when connector is unplugged") worked around the underlying issue by setting the connector orientation to 'none' on disconnect events to avoid having the PHY driver crash the machine in one orientation. Enable UCSI support also on sc8280xp now that the DisplayPort disconnect crashes are gone. Cc: Abel Vesa <abel.vesa@linaro.org> Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Abel Vesa <abel.vesa@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250326124944.6338-1-johan+linaro@kernel.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--drivers/soc/qcom/pmic_glink.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/soc/qcom/pmic_glink.c b/drivers/soc/qcom/pmic_glink.c
index cde19cdfd3c7..0a6d325b195c 100644
--- a/drivers/soc/qcom/pmic_glink.c
+++ b/drivers/soc/qcom/pmic_glink.c
@@ -371,15 +371,11 @@ static void pmic_glink_remove(struct platform_device *pdev)
__pmic_glink = NULL;
}
-static const unsigned long pmic_glink_sc8280xp_client_mask = BIT(PMIC_GLINK_CLIENT_BATT) |
- BIT(PMIC_GLINK_CLIENT_ALTMODE);
-
static const unsigned long pmic_glink_sm8450_client_mask = BIT(PMIC_GLINK_CLIENT_BATT) |
BIT(PMIC_GLINK_CLIENT_ALTMODE) |
BIT(PMIC_GLINK_CLIENT_UCSI);
static const struct of_device_id pmic_glink_of_match[] = {
- { .compatible = "qcom,sc8280xp-pmic-glink", .data = &pmic_glink_sc8280xp_client_mask },
{ .compatible = "qcom,pmic-glink", .data = &pmic_glink_sm8450_client_mask },
{}
};