On Tue, Jun 27, 2023 at 02:12:45PM -0400, Adrien Thierry wrote: > Writing another email to not muddy the waters in the previous email. > > I discovered that the femto PHY PM count doesn't seem to be right. Even > when the dwc3 core runtime suspends and calls > phy_pm_runtime_put_sync(dwc->usb2_generic_phy) [1], the count equals 1 > after that and the PHY is not runtime suspended. > > This is because on boot, the count is incremented twice because > phy_power_on() is called twice: > > First: > phy_power_on+0x120/0x184 > dwc3_core_init+0x68c/0xda4 > dwc3_probe+0xc84/0x1304 > > Second: > phy_power_on+0x120/0x184 > usb_phy_roothub_power_on+0x48/0xa0 > usb_add_hcd+0x94/0x604 > xhci_plat_probe+0x4bc/0x6e4 > xhci_generic_plat_probe+0xa0/0x104 > > That makes the femto PHY runtime PM impossible to test at the moment. I'm > not sure if this should be fixed on the dwc3 side or the xhci side, but > this should probably be a topic for another patch series. > Thanks for digging into this, I had forgotten about this discussion. Unfortunately I'm confused about the (lack of?) outcome: https://lore.kernel.org/linux-arm-msm/1648103831-12347-4-git-send-email-quic_c_sanm@xxxxxxxxxxx/ Regards, Bjorn > Best, > > Adrien > > [1] https://elixir.bootlin.com/linux/latest/source/drivers/usb/dwc3/core.c#L2005 >