[PATCH 1/2] ASoC: rt5682: fix the random recording noise of headset
Keyon Jie
yang.jie at linux.intel.com
Wed Mar 18 04:31:06 CET 2020
On 3/18/20 11:06 AM, Albert Chen wrote:
> Dear Sir,
>
> Inline.
>
> Thanks,
> Albert
>
> -----Original Message-----
> From: Keyon Jie <yang.jie at linux.intel.com>
> Sent: Wednesday, March 18, 2020 10:32 AM
> To: Shuming [范書銘] <shumingf at realtek.com>; broonie at kernel.org; lgirdwood at gmail.com
> Cc: Oder Chiou <oder_chiou at realtek.com>; Jack Yu <jack.yu at realtek.com>; alsa-devel at alsa-project.org; lars at metafoo.de; Albert Chen <albertchen at realtek.com>; Derek [方德義] <derek.fang at realtek.com>; sathya.prakash.m.r at intel.com; Flove(HsinFu) <flove at realtek.com>
> Subject: Re: [PATCH 1/2] ASoC: rt5682: fix the random recording noise of headset
>
> On 3/17/20 3:33 PM, shumingf at realtek.com wrote:
>> From: Shuming Fan <shumingf at realtek.com>
>>
>> The cycle time of FIFO clock should increase 2 times to avoid the
>> random recording noise issue.
>> This setting could apply to all known situations in i2s mode.
>
> Thanks for fixing this Shuming.
>
> Just try to understand what has happened.
>
> Can you help share more details about it, e.g.
> 1. the recording noise happened on headset mic or dmic?
> <Albert> Headset Mic
> 2. will this change impact the microphone sampling clock, or the BCLK that of the I2S bclk pin?
> <Albert> No.
> 3. without this change, why the clk is wrong, some example?
> <Albert> Only adjust FIFO buffer setting.
Where is the FIFO buffer you mentioned located? Is it included in the
path "headset mic ADC--(loopback)-->ADC headphone"?
The issue was reported to Intel also, that's why I am querying this here.
From previous feedback, Shuming shared that the loopback path mentioned
above don't have this random noise issue.
Thanks,
~Keyon
>
> Thanks,
> ~Keyon
>
>>
>> Signed-off-by: Shuming Fan <shumingf at realtek.com>
>> ---
>> sound/soc/codecs/rt5682.c | 2 ++
>> sound/soc/codecs/rt5682.h | 2 ++
>> 2 files changed, 4 insertions(+)
>>
>> diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c
>> index 7ca02a5e52e9..023bc672274b 100644
>> --- a/sound/soc/codecs/rt5682.c
>> +++ b/sound/soc/codecs/rt5682.c
>> @@ -3643,6 +3643,8 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
>> RT5682_CP_CLK_HP_MASK, RT5682_CP_CLK_HP_300KHZ);
>> regmap_update_bits(rt5682->regmap, RT5682_HP_CHARGE_PUMP_1,
>> RT5682_PM_HP_MASK, RT5682_PM_HP_HV);
>> + regmap_update_bits(rt5682->regmap, RT5682_DMIC_CTRL_1,
>> + RT5682_FIFO_CLK_DIV_MASK, RT5682_FIFO_CLK_DIV_2);
>>
>> INIT_DELAYED_WORK(&rt5682->jack_detect_work,
>> rt5682_jack_detect_handler);
>> diff --git a/sound/soc/codecs/rt5682.h b/sound/soc/codecs/rt5682.h
>> index 43de6e802309..0baeece84ec4 100644
>> --- a/sound/soc/codecs/rt5682.h
>> +++ b/sound/soc/codecs/rt5682.h
>> @@ -657,6 +657,8 @@
>> #define RT5682_DMIC_1_EN_SFT 15
>> #define RT5682_DMIC_1_DIS (0x0 << 15)
>> #define RT5682_DMIC_1_EN (0x1 << 15)
>> +#define RT5682_FIFO_CLK_DIV_MASK (0x7 << 12)
>> +#define RT5682_FIFO_CLK_DIV_2 (0x1 << 12)
>> #define RT5682_DMIC_1_DP_MASK (0x3 << 4)
>> #define RT5682_DMIC_1_DP_SFT 4
>> #define RT5682_DMIC_1_DP_GPIO2 (0x0 << 4)
>>
>
> ------Please consider the environment before printing this e-mail.
>
More information about the Alsa-devel
mailing list