[alsa-devel] ASoC: pxa: possible regressions
Daniel Mack
daniel at zonque.org
Mon Aug 13 07:54:41 CEST 2018
Hi Petr,
On Wednesday, August 08, 2018 11:07 AM, Petr Cvek wrote:
> Dne 8.8.2018 v 07:38 Daniel Mack napsal(a):
> I was planning to send patches before I've found regressions in the
> current -next.
>
> I think I've had the first working version somewhere around 3.13, but I
> was updating versions only sporadically and fixing audio had low
> priority (higher priority got iwmmxt compiler, platform init source
> code, charger, USB, MMC and IrDA). Some versions until now worked, some
> didn't.
>
> The last version I've used and where the sound worked was
> 4.14.0-rc7-next from somewhere around 3rd November 2017. The patch for
> sound subsystem should be the same as the current one.
That's strange, because as I said, the SSP rework went in in 4.0, so
without my regression fix (737e370a57e4e8 "ASoC: pxa-ssp: allow more
flexible setup order"), I doubt SSP had worked for you.
>>> 3) setup fails
>>>
>>> Recent changes in ASoC PXA DMA are causing a fail of a condition in
>>> pxa_ssp_hw_params():
>>>
>>> if ((sscr0 & SSCR0_MOD) && !ttsa) {
>>
>> What are the values of sscr0 and ttsa in your case? Can you cross-check
>> that with a kernel that doesn't have my recent changes?
>>
>
> -> full values in the attached log (the flag is set in the switch case
> and ttsa is zeroed)
>
> On 4.14 (not sure, if it is the correct SSP controller)
Hmm, why shouldn't it be the correct one? And do you hear sound with
that 4.14 setup?
>
> Idle:
>
> SSCR0:
> # devmem 0x41000000 32
> 0x4000003F <- 31 bit is SSCR0_MOD
> SSCR1:
> # devmem 0x41000004 32
> 0x00C01D80
> SSTSA:
> # devmem 0x41000030 32
> 0x00000000 <- is "ttsa" variable
> SSRSA:
> # devmem 0x41000034 32
> 0x00000000
> SSTSS:
> # devmem 0x41000038 32
> 0x00000000
>
> Playing noise:
>
> SSCR0:
> # devmem 0x41000000 32
> 0x400000BF <- 31 bit is SSCR0_MOD
> SSCR1:
> # devmem 0x41000004 32
> 0x00E01D80
> SSTSA:
> # devmem 0x41000030 32
> 0x00000000 <- is "ttsa" variable
> SSRSA:
> # devmem 0x41000034 32
> 0x00000000
> SSTSS:
> # devmem 0x41000038 32
> 0x00000000
>
> .. so the time slots are correctly disabled.
The idea was to compare a working against a non-working setup to spot
the differences in the register settings.
If recent mainline versions have worked for you (modulo some minor
modifications), I think one good way forward could be to bisect the
problems and make the platform work for 4.18 again. Then, see if any of
the recent ASoC/DMA related PXA patches break it again.
Sorry for the trouble, but without hardware, these things are hard to
reproduce on my side.
Let me know if I can help further, but not that my resources are a bit
limited in the next weeks.
Thanks,
Daniel
More information about the Alsa-devel
mailing list