Fix several issues discovered while debugging UCSI implementation on Qualcomm platforms (ucsi_glink). With these patches I was able to get a working Type-C port managament implementation. Tested on SC8280XP (Lenovo X13s laptop), SM8350-HDK. Lightly tested on SC8180X Primus devices. Depends: [1], [2], [3] [1] https://lore.kernel.org/all/20240315171836.343830-2-jthies@xxxxxxxxxx/ [2] https://lore.kernel.org/linux-usb/20240320073927.1641788-1-lk@xxxxxxx/ [3] https://lore.kernel.org/linux-usb/20240327224554.1772525-1-lk@xxxxxxx/ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- Changes in v2: - Added a quirk to delay GET_PDOS / PD registration on Qualcomm platforms (Johan) - Enabled UCSI on sc8180x after running the tests on the hardware - Dropped the ACK_CC patches, replaced by dependency on Christian's series - Link to v1: https://lore.kernel.org/r/20240313-qcom-ucsi-fixes-v1-0-74d90cb48a00@xxxxxxxxxx --- Dmitry Baryshkov (11): usb: typec: ucsi: allow non-partner GET_PDOS for Qualcomm devices usb: typec: ucsi: limit the UCSI_NO_PARTNER_PDOS even further usb: typec: ucsi: properly register partner's PD device usb: typec: ucsi: always register a link to USB PD device usb: typec: ucsi: simplify partner's PD caps registration usb: typec: ucsi: extract code to read PD caps usb: typec: ucsi: support delaying GET_PDOS for device usb: typec: ucsi_glink: rework quirks implementation usb: typec: ucsi_glink: enable the UCSI_DELAY_DEVICE_PDOS quirk soc: qcom: pmic_glink: reenable UCSI on sc8280xp soc: qcom: pmic_glink: enable UCSI on sc8180x drivers/soc/qcom/pmic_glink.c | 5 -- drivers/usb/typec/ucsi/ucsi.c | 139 ++++++++++++++++-------------------- drivers/usb/typec/ucsi/ucsi.h | 1 + drivers/usb/typec/ucsi/ucsi_glink.c | 17 +++-- 4 files changed, 74 insertions(+), 88 deletions(-) --- base-commit: 845042eeeaca808537b4dd6e1de3f19a0d747fa1 change-id: 20240312-qcom-ucsi-fixes-6578d236b60b Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>