On 6/18/20 6:44 AM, Daniel Baluta wrote:
On 6/18/20 2:01 PM, Mark Brown wrote:
On Wed, Jun 17, 2020 at 09:02:32PM -0400, Sasha Levin wrote:
From: Daniel Baluta <daniel.baluta@xxxxxxx>
[ Upstream commit c26fde3b15ed41f5f452f1da727795f787833287 ]
This provides a better separation between runtime and PM sleep
callbacks.
Only do nothing if given runtime flag is set and calback is not set.
With the current implementation, if PM sleep callback is set but runtime
callback is not set then at runtime resume we reload the firmware even
if we do not support runtime resume callback.
This doesn't look like a bugfix, just an optimization?
Indeed can be seen as an optimization, but it does unexpected things
which can cause trouble
and weird behavior for people not familiar with the matter.
For example, as explained in the commit message if you only provide
System PM handler but not runtime PM handler, then the DSP will be resetted
even if this is not the intention.
I think it's a bug fix for Intel legacy platforms (Baytrail, Broadwell)
where runtime_pm isn't supported. However the additional fixes for
system suspend/resume were only provided for 5.8, so this patch in
isolation will not do much for those platforms. Put differently, even if
this patch is applied to 5.7 suspend/resume would still not work for
Baytrail/Broadwell.
Daniel, your call if you need this for i.MX?