[PATCH v2 00/11] phy: qcom-qmp: more fixes and cleanups

Johan Hovold
2022-09-16T10:43:23Z

Here's the next set of QMP PHY cleanups including some non-critical
fixes of tiny memory leaks on probe deferral (I didn't add a stable tag
for any of them on purpose).

Note that the UFS PHY driver does not use the pcs_misc region either
currently, but I decided to leave the register mapping code in as,
unlike for msm8996, the bindings do include this region.

These apply on top of the previous clean up series, which has been
reviewed by Dmitry and is ready to be merged (apart from possibly a tiny
fixup of the last patch):

https://lore.kernel.org/all/20220907110728.19092-1-johan+linaro@kernel.org/

As mentioned in the individual commit messages, the memleak fixes
switches to using exclusive mappings for the device registers. When
reviewing the mainline devicetree I found four instances of incorrect
serdes region sizes which I've now fixed up. I don't think we need to
add workarounds for booting older malformed dtbs in this case, at least
not until someone complains.

As I also reported in a reply to v1:

https://lore.kernel.org/lkml/YyRJuCnuUE+bF7RP@hovoldconsulting.com/

we do however have two USB PHY bindings that currently rely on
overlapping regions which would require some more work to be fixed up.

Specifically, the USB PHY driver uses two separate PCS regions but the
binding treats them as one and the driver ends up mapping everything in
between. This sort of works on all platforms but two where the TX and RX
regions lie in between.

The binding and driver should probably be fixed up to define this
PCS_USB region explicitly, but that work is left for another day.

Meanwhile, I've implemented a workaround that fall back to using
non-exclusive mappings for these platforms.

Johan

Changes in v2
- fallback to non-exclusive mappings for the two USB bindings that
currently rely on it (patch 6/11)

Johan Hovold (11):
phy: qcom-qmp-pcie: add pcs_misc sanity check
phy: qcom-qmp-pcie: fix memleak on probe deferral
phy: qcom-qmp-pcie-msm8996: fix memleak on probe deferral
phy: qcom-qmp-combo: fix memleak on probe deferral
phy: qcom-qmp-ufs: fix memleak on probe deferral
phy: qcom-qmp-usb: fix memleak on probe deferral
phy: qcom-qmp-pcie-msm8996: drop unused pcs_misc handling
phy: qcom-qmp-pcie: drop unused legacy DT workaround
phy: qcom-qmp-combo: drop unused legacy DT workaround
phy: qcom-qmp-ufs: drop legacy DT workaround
phy: qcom-qmp-usb: drop legacy DT workaround

drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 53 +++++-------
.../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 33 +++-----
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 59 ++++++--------
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 53 +++++-------
drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 80 +++++++++++--------
5 files changed, 117 insertions(+), 161 deletions(-)

--
2.35.1