Hi all,
On a custom built am335x based board with CS4271 codec, I am observing the audible pop/click sound during playback start and playback stop (using aplay). The pop sound is observed with kernel 4.0 as well as on kernel 4.4. I have not tried the recent kernels but since there is no change in the CS4271 codec driver, I am assuming the problem can be reproduced in the latest kernel as well.
I have experimented a bit with conditional "soft reset" (enable_soft_reset flag) which is added in driver and which seems to have little influence in pop sound. My experiment is like following:
1) Start the board with "soft reset" enabled in CS4271 driver 2) Play sine wave tone for 5 seconds using aplay --> The pop sound is present during starting and stopping of the playback 3) Play the silence file (no audio data - filled with zero) using aplay --> The pop sound is present only during starting of the playback 4) Play the silence file again using aplay --> The pop sound is present only during starting of the playback
Now disable the "soft reset" in driver and
1) Play sine wave tone for 5 seconds using aplay --> The pop sound is present during starting and stopping of the playback 2) Play the silence file using aplay --> The pop sound is present only during starting of the playback 3) Play the silence file again using aplay --> The pop sound is gone 4) Play the silence file successively multiple times --> The pop sound not observed 5) Now play the sine wave tone again --> The pop sound is present during startup and stop. 6) Now play the silent file again --> The pop sound is present during startup, and no pop sound during stop.
The driver handles the muting and unmuting of DAC in mute_stream DAI callback which looks okay to me. So I have added delays in mute_stream callback after "unmute" of DACs and noticed that unmuting of DAC is not causing the pop noise, but it is heard as soon as the audio data starts flowing (after .trigger() ?).
I could also not figure out what problem the "soft reset" is addressing and how it is influencing the pop noise in successive silence file playback.
Any help in further debugging would be greatly appreciated.
Thanks, Vishal