[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8d2f176-df63-f81b-e47a-73b1c436b612@linux.intel.com>
Date: Tue, 28 Sep 2021 13:15:31 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Ryan Lee <RyanS.Lee@...imintegrated.com>,
Mark Brown <broonie@...nel.org>
Cc: "guennadi.liakhovetski@...ux.intel.com"
<guennadi.liakhovetski@...ux.intel.com>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"ryan.lee.maxim@...il.com" <ryan.lee.maxim@...il.com>,
"tiwai@...e.com" <tiwai@...e.com>,
"lgirdwood@...il.com" <lgirdwood@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"sathya.prakash.m.r@...el.com" <sathya.prakash.m.r@...el.com>,
"yung-chuan.liao@...ux.intel.com" <yung-chuan.liao@...ux.intel.com>
Subject: Re: [EXTERNAL] Re: [PATCH] ASoC: max98373: Mark cache dirty before
entering sleep
>>>> Instead of changing the suspend sequence, can we please try to modify
>>>> the max98373_io_init() routine to unconditionally flag the cache as
>>>> dirty, maybe this points to a problem with the management of the
>>>> max98373->first_hw_init flag.
>>>
>>> A quick survey of other drivers suggests that this pattern should be
>>> factored out into some helpers as it looks like there's several ways
>>> of implementing it that look very similar but not quite the same...
>>
>> No disagreement here, we tried really hard to enforce a common pattern for
>> suspend-resume, but i just noticed that the maxim amp driver is different on
>> suspend (resume is consistent with the rest).
>
> OK. I believe it was similar before. But it looks like 'regcache_mark_dirty' is being
> disappeared on suspend function.
Not sure what you are trying to say?
> static int __maybe_unused rt5682_dev_suspend(struct device *dev)
> {
> struct rt5682_priv *rt5682 = dev_get_drvdata(dev);
>
> if (!rt5682->hw_init)
> return 0;
>
> cancel_delayed_work_sync(&rt5682->jack_detect_work);
>
> regcache_cache_only(rt5682->regmap, true);
> regcache_mark_dirty(rt5682->regmap);
>
> return 0;
> }
That last line is also not needed. If you look at rt5682-sdw.c, you'll
see a regcache_mark_dirty() when the device is re-initialized.
But now I am starting to wonder if this is due to Chrome kernel
differences and possibly a missing backport patch? I no longer believe
in coincidences, these two devices are ONLY used in Chromebooks so far...
Powered by blists - more mailing lists