mbox series

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

Message ID 20220916102340.11520-1-johan+linaro@kernel.org
Headers show
Series phy: qcom-qmp: more fixes and cleanups | expand

Message

Johan Hovold Sept. 16, 2022, 10:23 a.m. UTC
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(-)

Comments

Vinod Koul Sept. 20, 2022, 6:01 a.m. UTC | #1
On 16-09-22, 12:23, Johan Hovold wrote:
> 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.

Applied, thanks