You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[TGL][DSM] pop noise happens at the beginning of recording when playback is triggered first #2054
Describe the bug
when testing DSM, there's a sharp pop noise at the beginning of recording, this issue only happens when playback is triggered first, delay for a few seconds then trigger capture, you will hear that pop noise. But this pop noise was not captured in the wav file. the waveform of 4 channels are pure, even at the beginning.
This could be Max98373 configuration issue, as there is no change of the data(channel L/R) transmitting from the ASoC SSP to the codec (no noise in the captured file proved this), @sathya-nujella can Dhara help to check this with Maxim engineer, I can't assign this to Dhara as she is not in the SOF group, so assigning it to you.
I am not able to assign to Dhara. Not sure what is the issue. When I search for her ID in assignee field.. it does not show up.
Can you please help why it is happening: this is her GH: https://github.com/RDharageswari
was able to capture the register dump when the issue happened.
exactly During the pop noise I see that the register 0x2024, has a value 0xd8 initially and changes to 0x98 later. Bit 6 & 7 corresponds to PCM_DATA_WIDTH[1:0] . [10 : 24-bit] & [11: 32 bit]. SSP1 on which the playback was ongoing was initially 32bit and when the capture started it changed to 24bit . Both pb & capture share the same I2S bus . this change can cause pop noise. Debugging WIP
This worked for me.
static int max98373_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai;
int j;
Activity
keyonjie commentedon Apr 28, 2020
This could be Max98373 configuration issue, as there is no change of the data(channel L/R) transmitting from the ASoC SSP to the codec (no noise in the captured file proved this), @sathya-nujella can Dhara help to check this with Maxim engineer, I can't assign this to Dhara as she is not in the SOF group, so assigning it to you.
sathya-nujella commentedon Apr 28, 2020
Sure @keyonjie.
I am not able to assign to Dhara. Not sure what is the issue. When I search for her ID in assignee field.. it does not show up.
Can you please help why it is happening: this is her GH: https://github.com/RDharageswari
keyonjie commentedon Apr 28, 2020
@sathya-nujella please ask Dhara to join the sof-developers team: https://github.com/orgs/thesofproject/people
@lgirdwood do we need invitation for that?
naveen-manohar commentedon Apr 28, 2020
Adding @RDharageswari
RDharageswari commentedon Apr 28, 2020
Thanks @naveen-manohar, i couldnt subscribe to the group.
RDharageswari commentedon Apr 29, 2020
was able to capture the register dump when the issue happened.
exactly During the pop noise I see that the register 0x2024, has a value 0xd8 initially and changes to 0x98 later. Bit 6 & 7 corresponds to PCM_DATA_WIDTH[1:0] . [10 : 24-bit] & [11: 32 bit]. SSP1 on which the playback was ongoing was initially 32bit and when the capture started it changed to 24bit . Both pb & capture share the same I2S bus . this change can cause pop noise. Debugging WIP
keyonjie commentedon Apr 29, 2020
good finding @RDharageswari .
maybe worth to try setting to 24/25 bit in below snippet for a quick try:
RDharageswari commentedon Apr 29, 2020
This worked for me.
static int max98373_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai;
int j;
return 0;
}
keyonjie commentedon Apr 29, 2020
um, seems the codec doesn't accept 25 bit slot_width, no sure if the unaligned with the FW(25 bit slot_width) side will introduce noise.
RDharageswari commentedon Jun 6, 2020
This patch fixes the issue:
ebdfc36
RDharageswari commentedon Jun 6, 2020
The above patch needs coreboot changes as well
https://review.coreboot.org/c/coreboot/+/41216/22/src/mainboard/google/volteer/variants/volteer/overridetree.cb#19