[alsa-devel] [PATCH 4/5] ASoC: fsl_ssi: use flat regmap cache

Maciej S. Szmigiero mail at maciej.szmigiero.name
Wed Sep 28 02:04:25 CEST 2016


On 28.09.2016 01:29, Marek Vasut wrote:
> On 09/28/2016 01:23 AM, Maciej S. Szmigiero wrote:
>> On 26.09.2016 21:25, Marek Vasut wrote:
>>> On 09/26/2016 09:13 PM, Mark Brown wrote:
>> (..)
>>>> So, can we get a clear decision on this after testing?  The discussion
>>>> here and the discussion on IRC are a bit disjointed and I'd like to make
>>>> sure we end up with something that definitely works.
>>>>
>>> I think 1,2,3,4 are certainly harmless. I think even 5 is harmless (at
>>> least according to my testing on MX6Q and MX6SX, which is not the
>>> greatest sample), but can be safely reverted if there are concerns.
>>
>> I've tested current sound/for-next on UDOO board and was able to reproduce
>> a lockup on reloading fsl sound modules.
>> The exact test was playing 30 second sound file and reloading modules in
>> a loop.
>> The lockup would happen sometimes almost immediately and sometimes after
>> ~30 minutes of such testing.
>>
>> When I reverted commit 7de2763d9b325ee5e7e24ac513c93394406cfefa
>> (that is, number 5) it seems that it no longer locks up.
> 
> Do you have an explanation how would #5 cause this problem if it was
> supposed to fix it ? ;-) Can you share the backtrace ?

I think the reason why it locks up is similar to previous case that it
locked up in similar circumstances with hardcoded register defaults -
there is some inconsistency between register value in cache and actual
value in hardware which then gets (partially?) rewritten with cached
value.
But I don't know the exact problematic register.

It looks like the SoC just locks up after this error:
ac97-codec ac97-codec.0: ASoC: codec DAI prepare error: -22

>>> I also believe the following two patches should be backported for
>>> 4.7 (they were part of tag 'regmap-fix-v4.8-rc5' of
>>> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap):
>>>
>>> commit b2c7f5d9c939a37c1ce7f86a642de70e3033ee9e
>>> Author: Maarten ter Huurne <maarten at treewalker.org>
>>> Date:   Fri Jul 29 23:42:12 2016 +0200
>>>
>>>     regmap: cache: Fix num_reg_defaults computation from reg_defaults_raw
>>>
>>> commit 1bc8da4e143c0fd8807e061a66d91d5972601ab1
>>> Author: Lars-Peter Clausen <lars at metafoo.de>
>>> Date:   Thu Aug 4 17:22:16 2016 +0200
>>>
>>>     regmap: rbtree: Avoid overlapping nodes
>>>
>>
>> I can see that
>> "regmap: cache: Fix num_reg_defaults computation from reg_defaults_raw" is
>> present in the tree that I have tested.
> 
> And the rbtree patch is also present ?

Yes - I commented only on the first one since you said it would probably
fix the rbtree crash (which I understand is the one which
patch 5 was also trying to fix).

Maciej


More information about the Alsa-devel mailing list