[regression] mhi: ath11k resume fails on some devices
Manivannan Sadhasivam
manivannan.sadhasivam at linaro.org
Thu Sep 16 10:19:27 PDT 2021
On Thu, Sep 16, 2021 at 07:42:02PM +0300, Kalle Valo wrote:
> Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org> writes:
>
> > On Thu, Sep 16, 2021 at 01:18:22PM +0200, Loic Poulain wrote:
> >> Le jeu. 16 sept. 2021 à 13:12, Manivannan Sadhasivam <
> >> manivannan.sadhasivam at linaro.org> a écrit :
> >>
> >
> > [...]
> >
> >> > If things seems to work fine without that patch, then it implies that
> >> > setting M0
> >> > state works during resume. I think we should just revert that patch.
> >> >
> >> > Loic, did that patch fix any issue for you or it was a cosmetic fix only?
> >>
> >>
> >> It fixes sdx modem resuming issue, without that we don’t know modem needs
> >> to be reinitialized.
> >>
> >
> > Okay. Then in that case, the recovery mechanism has to be added to the ath11k
> > MHI controller.
>
> What does that mean in practise, do you have any pointers or examples? I
> have no clue what you are proposing :)
>
Take a look at the mhi_pci_recovery_work() function below:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/bus/mhi/pci_generic.c#n610
You need to implement something similar that basically powers up the MHI
endpoint (QCA6390) in case pm_resume() fails. At minimum, you need to call
below functions:
# Check if the device is powered on. If yes, then power it down to bring it back
mhi_power_down()
mhi_unprepare_after_power_down()
# Power up the device
mhi_prepare_for_power_up()
mhi_sync_power_up()
This implies that the WLAN device has been powered off during suspend, so the
resume fails and we are bringing the device back to working state.
> > If that's too much of work for Kalle, then I'll look into it. But I might get
> > time only after Plumbers.
>
> I'm busy, as always, so not sure when I'm able to do it either. I think
> we should seriously consider reverting 020d3b26c07a and adding it back
> after ath11k is able to handle this new situation.
>
Since Loic said that reverting would cause his modem (SDX device) to fail during
resume, this is not possible.
Thanks,
Mani
> --
> https://patchwork.kernel.org/project/linux-wireless/list/
>
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list