Re: ASoC: amd: acp-pdm: full-scale burst on every DMIC capture start
Robin Everaars <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
> Could you please try attached patch?
Thanks. I checked the bound driver before building it and found an error in my
original report: I named acp-pdm.c, but that is not the path used by this
machine.
The PX13 is bound as follows:
/sys/bus/platform/devices/acp_ps_pdm_dma.0/driver/module
-> /sys/module/snd_ps_pdm_dma
snd_ps_pdm_dma:
sound/soc/amd/ps/snd-ps-pdm-dma.ko.xz
platform alias acp_ps_pdm_dma
The attached patch changes sound/soc/amd/acp/acp-pdm.c, which builds
snd-acp-pdm. That module is installed but does not own this PCM, so applying the
patch as-is would not exercise the reported hardware.
The corresponding start sequence is acp63_start_pdm_dma() in
sound/soc/amd/ps/ps-pdm-dma.c. It also enables the PDM clock, decimator and DMA
without a settling interval. I can port the 300 ms delay and FIFO flush there
and test it, but I would prefer to test the exact shape you want upstream. Would
you send an equivalent patch for snd-ps-pdm-dma,
or would you like me to prepare
the test diff?
One detail may also need handling in both versions. PAUSE_PUSH currently takes
the stop path and disables PDM. After moving PDM_ENABLE to prepare(),
PAUSE_RELEASE arms only the DMA, and ALSA does not necessarily call prepare()
between those commands. Should PAUSE_PUSH leave the decimator running, or
should PAUSE_RELEASE use a separate non-sleeping re-enable path?
Sorry for pointing the original report at the wrong driver. The measurements
and PCM are unchanged; only my source attribution was wrong.
publickey - [email protected] - 0x8B6BA132.asc
(application/pgp-keys, 889 B)
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: https://gopenpgp.org Version: GopenPGP 2.10.0 xjMEah8lZRYJKwYBBAHaRw8BAQdAaRkzve49rBEJMKJH746RXHY+2fT77oxROi5d 8JpL+67NKXJvYmluZXZlcmFhcnNAcG0ubWUgPHJvYmluZXZlcmFhcnNAcG0ubWU+ wsARBBMWCgCDBYJqHyVlAwsJBwkQHcV/a8sGGopFFAAAAAAAHAAgc2FsdEBub3Rh dGlvbnMub3BlbnBncGpzLm9yZx6V5qS89w7CDYSIsc5NxuPJI1rgoEyY/v8dbP3H qkoNAxUKCAQWAAIBAhkBApsDAh4BFiEEi2uhMrb2XujFnFjLHcV/a8sGGooAAAZs AP9zIKWwubClFEs0J6jpQHTKXFTq+99MRkfDKqITbumQzQD/R2OazTp4oCJO2bOD NFliVAm8yXP6A+586zR2YKt0RAbOOARqHyVlEgorBgEEAZdVAQUBAQdA3p5F7b5O FsWKrSWEmEHia/oe7no/+Z1W0OPffYrDPy8DAQgHwr4EGBYKAHAFgmofJWUJEB3F f2vLBhqKRRQAAAAAABwAIHNhbHRAbm90YXRpb25zLm9wZW5wZ3Bqcy5vcmevUdR+ V+3UgvIVjqDLFOWyyGp5h4JXAPfYZsD//RHgvQKbDBYhBItroTK29l7oxZxYyx3F f2vLBhqKAABoFgEA8e4eSLSaLmv8/e2W1L9/VKAbj2Z7JES6KApi9BZ6nQgBANhZ FhMFzsyzu2YYtaB8SYtVthJJ6/eIQTT6UdQEIYsF =YKhM -----END PGP PUBLIC KEY BLOCK-----
signature.asc
(application/pgp-signature, 322 B)
-----BEGIN PGP SIGNATURE----- Version: ProtonMail wqsEARYIAF0Fgmp7FqMJEB3Ff2vLBhqKNRQAAAAAABwAEHNhbHRAbm90YXRp b25zLm9wZW5wZ3Bqcy5vcmfR/pKPBjtmEJAto47zNopPFiEEi2uhMrb2XujF nFjLHcV/a8sGGooAAAx0AQD6dNfHdzgKahl84GmLfVxtGgu/iaHciLlbtGJb m2WcTAEA/e1bSv7CbAWOQxiXAKFXOMZJI9xO1CDLWxZzY//4TQ0= =ONiH -----END PGP SIGNATURE-----