Re: digital microphone on google chromebook code name banon

From: Chris Gorman
Date: Tue Feb 18 2020 - 22:31:19 EST


Hello All,

I have been doing some more research into my problem microphone and
came up with some kernel error messages. The dmesg output from my
machine follows with a few bits cut out. Everything below after
19.828677 shows an error. I am particularly interested in 723.334601
and 723.334661 which show up during running aplay. It seems that
there is something wrong with my intel_sst_acpi driver? It
initializes, but then errors due to wait timeouts. The last two error
messages 1867.44593 and 1867.446002, are from an arecord.
Interestingly no further wait timeout messages occur after the record
attempt. I will try git bisect tomorrow to see if I can isolate when
the error messages start showing up. I don't believe they existed in
5.5-rc6, but I will find out. If anyone has ideas on how to fix
either my error messages or my dmic, please let me know. I am not on
the mailing list due to the high volume of messages, so if you respond
please cc me directly. Thanks for your time.

Chris

[ 1.050358] rt5645 i2c-10EC5650:00: Detected Google Chrome platform
---snip---
[ 1.477956] intel_sst_acpi 808622A8:00: LPE base: 0xd1000000 size:0x200000
[ 1.477962] intel_sst_acpi 808622A8:00: IRAM base: 0xd10c0000
[ 1.477994] intel_sst_acpi 808622A8:00: DRAM base: 0xd1100000
[ 1.478010] intel_sst_acpi 808622A8:00: SHIM base: 0xd1140000
[ 1.478023] intel_sst_acpi 808622A8:00: Mailbox base: 0xd1144000
[ 1.478034] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
[ 1.478544] intel_sst_acpi 808622A8:00: Got drv data max stream 25
[ 1.478938] cht-bsw-rt5645 cht-bsw-rt5645: quirk PMC_PLT_CLK_0 enabled
[ 1.484286] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <->
media-cpu-dai mapping ok
[ 1.484364] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <->
deepbuffer-cpu-dai mapping ok
[ 1.485720] cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif1 <->
ssp2-port mapping ok
---snip---
[ 19.828677] intel_sst_acpi 808622A8:00: FW Version 01.0b.02.02
---errors from here on---
[ 31.278276] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 31.278287] intel_sst_acpi 808622A8:00: fw returned err -16
[ 31.278299] sst-mfld-platform sst-mfld-platform: ASoC: PRE_PMD:
pcm0_in event failed: -16
[ 32.300753] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 32.300761] intel_sst_acpi 808622A8:00: fw returned err -16
[ 32.300770] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
media0_out event failed: -16
[ 33.324565] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 33.324593] intel_sst_acpi 808622A8:00: fw returned err -16
[ 33.324623] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
codec_out0 mix 0 event failed: -16
[ 34.347757] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 34.347766] intel_sst_acpi 808622A8:00: fw returned err -16
[ 34.347779] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
media0_out mix 0 event failed: -16
[ 723.334601] intel_sst_acpi 808622A8:00: FW sent error response 0x40015
[ 723.334661] intel_sst_acpi 808622A8:00: FW sent error response 0x40006
[ 768.479671] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 768.479702] intel_sst_acpi 808622A8:00: fw returned err -16
[ 768.479739] sst-mfld-platform sst-mfld-platform: ASoC: PRE_PMD:
pcm0_in event failed: -16
[ 769.503586] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 769.503614] intel_sst_acpi 808622A8:00: fw returned err -16
[ 769.503643] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
media0_out event failed: -16
[ 770.527829] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 770.527837] intel_sst_acpi 808622A8:00: fw returned err -16
[ 770.527846] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
codec_out0 mix 0 event failed: -16
[ 771.552544] intel_sst_acpi 808622A8:00: Wait timed-out
condition:0x0, msg_id:0x1 fw_state 0x3
[ 771.552575] intel_sst_acpi 808622A8:00: fw returned err -16
[ 771.552613] sst-mfld-platform sst-mfld-platform: ASoC: POST_PMD:
media0_out mix 0 event failed: -16
---snip---
[ 1867.445943] intel_sst_acpi 808622A8:00: FW sent error response 0x40015
[ 1867.446002] intel_sst_acpi 808622A8:00: FW sent error response 0x40006

On Fri, Feb 14, 2020 at 2:26 PM Chris Gorman <chrisjohgorman@xxxxxxxxx> wrote:
>
> Hello All,
>
> I have a problem with my laptop recording via the digital microphone.
> I did try to explain the problem on
> https://bugzilla.kernel.org/show_bug.cgi?id=95681, but I have heard no
> response on the issue, so I am bugging the mailing list in hopes that
> someone will have a magic fix for me. ;)
>
> My laptop is a google chromebook, braswell, banon. It is of the intel
> strago family. When I try to record all I get is white noise. I can
> reduce the level of noise via alsamixer, but I have to reduce all the
> capture levels to 5 or lower.
>
> I reached out to Sam McNally (thank you sam) from chromium regarding
> his patch to cht_bsw_rt5645.c
> adebb11139029ddf1fba6f796c4a476f17eacddc. He was quite nice and
> helpful. According to Sam, the banon chromebooks dmic works with
> their chromeos 4.9 and chromeos 5.4 kernels. Unfortunately the dmic
> still failed on my system when I tried the chromeos 5.4 kernel.
> Perhaps the problem is my new coreboot 4.11 bios, whereas chrome uses
> an older bios? I don't know.
>
> Sam also pointed me to checking /sys/kernel/debug/clk/clk_summary.
> While recording I get..
>
> pmc_plt_clk_0 0 0 0 19200000
> 0 0 50000
>
> and while playing everything's fine and I get...
>
> pmc_plt_clk_0 1 1 0 19200000
> 0 0 50000
>
> This is clearly the problem. I don't know how to get the clock
> working with the capture function though.
>
> My kernel configs are ...
>
> SOUND = y
> SND = y
> SND_SOC = y
> SND_SOC_INTEL_MACH = y
> SND_SST_ATOM_HIFI2_PLATFORM = y
> SND_SST_ATOM_HIFI2_PLATFORM_ACPI = y
> I2C = y
> ACPI = y
> X86_INTEL_LPSS = y
> SND_SOC_ACPI = y
> SND_SOC_INTEL_CHT_BSW_RT5645_MACH = y
> SND_SOC_RT5645 = y
> SND_SOC_DMIC = y
>
> and I am running linux 5.5.0. I welcome patches and suggestions, but
> have not subscribed to the mailing list because of the volume of
> emails, so please cc me with any response.
>
> Thanks in advance.
>
> Chris Gorman