On 2/10/2020 5:52 PM, Jon Hunter wrote:
On 10/02/2020 11:15, Sameer Pujar wrote:
On 2/7/2020 11:52 PM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments
07.02.2020 14:26, Sameer Pujar пишет:
On 2/6/2020 10:45 PM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments
30.01.2020 13:33, Sameer Pujar пишет:
+static const struct dev_pm_ops tegra186_dspk_pm_ops = { + SET_RUNTIME_PM_OPS(tegra186_dspk_runtime_suspend, + tegra186_dspk_runtime_resume, NULL) + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, + pm_runtime_force_resume) +};
Could you please explain why drivers need the "late" system sleep?
It was done to ensure core drivers are suspended first and defer the codec driver suspend
Suspend order is opposite to the drivers registration order. If there is no real problem with that, then you should use the default suspend level. Please don't try to fix a non-existent problems.
No. This was done specifically to allow sound core to first stop any ongoing audio activity during normal suspend and ensure a safe suspend of AHUB devices by doing a LATE suspend.
What Dmitry is saying is that if the DSPK driver is registered after the sound core then we will not need to suspend in the late phase. The DSPK device should only be registered once the sound core is loaded, because otherwise we should fail to register it with the sound core. So I don't think we need this to be late afterall.
I was originally thinking if DMA is the main reason for using LATE suspend for audio drivers as well. I did a small sanity check and appears normal suspend is fine. I will update the drivers with normal suspend. If we come across any issue later, it can be addressed separately. Thanks Dmitry and Jon.
Jon