Re: [alsa-devel] Intel Baytrail Linux Audio
On 3 Jul 2015 4:43 pm, Nicolas George george@nsup.org wrote:
Le quintidi 15 messidor, an CCXXIII, Antonio Ospite a écrit :
snd-soc-sst-bytcr-rt5640 will be loaded automatically if you use snd-intel-sst-acpi instead of snd-soc-sst-acpi, you can blacklist the latter using a file in /etc/modprobe.d (look up the details), or just remove snd-soc-sst-acpi.ko from the installation dir as a dirty hack.
Indeed. I always loaded snd-soc-sst-acpi before snd-intel-sst-acpi, so I could not observe it gives a different result.
In my tests I used the code from mainline linux.
Ok. That is what I am doing too.
Note that different drivers expect different firmwares, you cannot mix them:
snd-soc-sst-acpi -> fw_sst_0f28.bin-48kHz_i2s_master snd-intel-sst-acpi -> fw_sst_0f28.bin snd-intel-sst-acpi -> fw_sst_0f28_ssp0.bin (renamed to fw_sst_0f28.bin)
Ok. I re-ran the tests like that.
After loading snd-intel-sst-acpi, the kernel says:
[ 35.160330] intel_sst_acpi 80860F28:00: LPE base: 0x90a00000 size:0x200000 [ 35.160339] intel_sst_acpi 80860F28:00: IRAM base: 0x90ac0000 [ 35.160372] intel_sst_acpi 80860F28:00: DRAM base: 0x90b00000 [ 35.160384] intel_sst_acpi 80860F28:00: SHIM base: 0x90b40000 [ 35.160395] intel_sst_acpi 80860F28:00: Mailbox base: 0x90b44000 [ 35.160405] intel_sst_acpi 80860F28:00: DDR base: 0x20000000 [ 35.161373] intel_sst_acpi 80860F28:00: Got drv data max stream 25
After loading snd-soc-sst-bytcr-rt5640 it says:
[ 69.130424] bytt100_rt5640 bytt100_rt5640: snd-soc-dummy-dai <-> media-cpu-dai mapping ok [ 69.130482] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok [ 69.130536] bytt100_rt5640 bytt100_rt5640: rt5640-aif1 <-> ssp2-port mapping ok [ 69.130650] bytt100_rt5640 bytt100_rt5640: Connecting non-supply widget to supply widget is not supported (Int Mic -> LDO2) [ 69.130657] bytt100_rt5640 bytt100_rt5640: ASoC: no dapm match for Int Mic --> (null) --> LDO2 [ 69.130663] bytt100_rt5640 bytt100_rt5640: ASoC: Failed to add route Int Mic -> direct -> LDO2 [ 69.165392] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 0 doesn't have DAPM widget!!! [ 69.165427] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 1 doesn't have DAPM widget!!! [ 69.165460] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 2 doesn't have DAPM widget!!! [ 69.165494] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 3 doesn't have DAPM widget!!! [ 69.165521] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_0 doesn't have DAPM widget!!! [ 69.165551] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_1 doesn't have DAPM widget!!! [ 69.165583] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_0 doesn't have DAPM widget!!! [ 69.165618] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_1 doesn't have DAPM widget!!!
The sound card appears, but then if I try to play something:
aplay -D hw:0 -c 2 -r 48000 -f S16_LE /dev/urandom aplay: set_params:1297: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 48000 PERIOD_TIME: 125000 PERIOD_SIZE: 6000 PERIOD_BYTES: 24000 PERIODS: 4 BUFFER_TIME: 500000 BUFFER_SIZE: 24000 BUFFER_BYTES: 96000 TICK_TIME: 0
[ 95.164749] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
This is dpcm enabled driver
So please route the FE to BE and it should work...
Vinod
The messages are exactly the same with both firmwares (fw_sst_0f28.bin and fw_sst_0f28_ssp0.bin).
Maybe I forgot to load another module?
Side note: snd-intel-sst-acpi and snd-soc-rt5640 both have usage count 1 without dependent modules, that requires a reboot between each test.
Thanks for your help, it helped me make progress even if it still is not success.
Regards,
-- Nicolas George
On Fri, 3 Jul 2015 12:10:42 +0000 "Koul, Vinod" vinod.koul@intel.com wrote:
On 3 Jul 2015 4:43 pm, Nicolas George george@nsup.org wrote:
[...]
[ 95.164749] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
This is dpcm enabled driver
So please route the FE to BE and it should work...
Nicolas, this can be done by using the commands from here: http://mailman.alsa-project.org/pipermail/alsa-devel/2015-June/094080.html
In particular: amixer -c0 sset 'codec_out0 mix 0 pcm0_in' on amixer -c0 sset 'media0_out mix 0 media1_in' on
Ciao, Antonio
P.S. Vinod, please check your email client, it looks like sometimes there is no In-Reply-To header in messages from you and the threading of messages gets broken.
Le quintidi 15 messidor, an CCXXIII, Antonio Ospite a écrit :
"Koul, Vinod" vinod.koul@intel.com wrote:
This is dpcm enabled driver So please route the FE to BE and it should work...
Nicolas, this can be done by using the commands from here: http://mailman.alsa-project.org/pipermail/alsa-devel/2015-June/094080.html
In particular: amixer -c0 sset 'codec_out0 mix 0 pcm0_in' on amixer -c0 sset 'media0_out mix 0 media1_in' on
Thanks for the explanations, that saved me a lot of time.
It changed the result a bit. Now, aplay fails, but it takes one or two seconds before starting ("Playing raw data...") and again one or two seconds before failing ("Unable to install hw params:..."). In the meantime, the kernel printed this:
[ 1059.391088] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3 [ 1059.391114] intel_sst_acpi 80860F28:00: fw returned err -16 [ 1059.391147] sst-mfld-platform sst-mfld-platform: Enter: enable=1 port_name=ssp2-port [ 1060.393182] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3 [ 1060.393208] intel_sst_acpi 80860F28:00: fw returned err -16 [ 1060.395179] intel_sst_acpi 80860F28:00: Alloc for str 1 pipe 0x90 [ 1061.394976] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3 [ 1061.395006] intel_sst_acpi 80860F28:00: FW alloc failed ret -16 [ 1061.395023] intel_sst_acpi 80860F28:00: sst_get_stream returned err -5 [ 1061.395040] sst-mfld-platform sst-mfld-platform: ASoC: cpu DAI prepare error: -5 [ 1061.395056] Baytrail Audio Port: ASoC: prepare FE Baytrail Audio Port failed [ 1061.397441] sst-mfld-platform sst-mfld-platform: Enter: enable=0 port_name=ssp2-port [ 1062.396808] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3 [ 1062.396834] intel_sst_acpi 80860F28:00: fw returned err -16 [ 1063.398598] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3 [ 1063.398624] intel_sst_acpi 80860F28:00: fw returned err -16 [ 1063.398672] intel_sst_acpi 80860F28:00: free stream returned err -19
I have attached the full output of amixer in case it is useful. I am shooting in the dark here. Is there a documentation to understand what all these settings do?
Regards,
participants (3)
-
Antonio Ospite
-
Koul, Vinod
-
Nicolas George