On Monday, 19 April 2021, 00:02:09 BST, Kuninori Morimoto kuninori.morimoto.gx@renesas.com wrote:
Hi
I am trying to find the cause of a rather unusual regression between kernel v5.4 and v5.5, for an out-of-tree driver on the raspberrypi.
I think out-of-tree code needs update. We merged snd_pcm_ops into component between v5.4 - v5.5
e2cb4a14541dba3587bb78e0f62da27a0e1ad399 ("ASoC: soc-core: merge snd_pcm_ops member to component driver")
And all drivers which used it was updated. For example,
1fddf424b3c49a475ca7c23662f515b53f884172 ("ASoC: mediatek: remove snd_pcm_ops")
And snd_pcm_ops is no longer used on ALSA SoC
e9067bb502787869dabe385727baff233024097b ("ASoC: soc-component: remove snd_pcm_ops from component driver")
If your out-of-tree is using it, and not yet updated, some issue can be happen, I think.
Thanks for the reply. It appears I made a mistake in my earlier posting - my 'git diff' of what files matter was correct, but the commit listing / authors with git log was missing some * and were way too small. The actual number of possible commits is rather in the 100+ and involving about 20+ authors. That said, thanks to your suggestions, I have found one error - and a problematic area in the current out-of-tree driver code:
it was not setting .non_legacy_dai_naming - this was a 4.16 change . The similar hardware but working sibling device has one single ADC codec, while the broken device has two such ADC codec plus a 3rd DAC codec; I see that this flag started to matter in v5.6 for codec2codec links . I don't know if this qualifies as a codec 2 codec link - it is running two 4-mic ADC in parallel to read from 6 mics...
Anyway, I tried putting that flag in, but it has not fix problem with 5.10, so I am back to trimming the difference between v5.4 and v5.5 slowly.
At the moment I think I need to look at the v4.16 series involving .non_legacy_dai_naming again; while trimming the difference between v5.4 and v5.5 slowly.
(the out-of-tree driver is not my code - I am just the owner of one such device... the vendor is not very responsive, so I have been doing most of the porting since 4.19...)
Thanks a lot.
Hin-Tak