[alsa-devel] Intel Baytrail Linux Audio

Tyler Yeomans tyeo098 at gmail.com
Wed Jul 8 16:30:41 CEST 2015


Vinod,

I have attached the dmesg that occurs after I play the sound test. 
(dynamic debug and FE-BE was set via SSH terminal)

Antonio,

While it is true that I had not played any sound when I had collected 
the interrupts from previous mail, after doing the test for Vinod above 
I again collected the interrupt count, unfortunately as you can see it 
is the same...

root at mykro:~# cat /proc/interrupts | grep intel
    7:          0          0          0          0   IO-APIC 
28-fasteoi   intel_sst_driver

Additionally, you were correct about the sorting of interrupts, as my 
dissembled DSDT table shows:
(from Device(LPEA) section)
       Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                 {
                     0x0000001D,
                 }
                 Interrupt (ResourceConsumer, Level, ActiveLow, 
Exclusive, ,, )
                 {
                     0x00000018,
                 }
                 Interrupt (ResourceConsumer, Level, ActiveLow, 
Exclusive, ,, )
                 {
                     0x00000019,
                 }
                 Interrupt (ResourceConsumer, Level, ActiveLow, 
Exclusive, ,, )
                 {
                     0x0000001A,
                 }
                 Interrupt (ResourceConsumer, Level, ActiveLow, 
Exclusive, ,, )
                 {
                     0x0000001B,
                 }
                 Interrupt (ResourceConsumer, Level, ActiveLow, 
Exclusive, ,, )
                 {
                     0x0000001C,
                 }

For now I can research into overriding the DSDT so the interrupts are in 
order.

Thanks-

Tyler

On 07/08/2015 04:23 AM, Antonio Ospite wrote:
> On Wed, 8 Jul 2015 09:06:04 +0530
> Vinod Koul <vinod.koul at intel.com> wrote:
>
>> On Tue, Jul 07, 2015 at 05:06:18PM -0400, Tyler Yeomans wrote:
> [...]
>>> Additionally, the interrupts report as follows... none:
>>> $ cat /proc/interrupts | grep sst
>>>     7:          0          0          0          0   IO-APIC
>>> 28-fasteoi   intel_sst_driver
>> So this makes me suspect interrupts, we should have seen something here
>>
> Tyler, maybe it's trivial but I will spell it out anyway: before any
> interrupt gets fired, something needs to be played (e.g. speaker-test).
>
>> Liam, do you know how whats different in BYT devices from interrupts. I
>> recall Jarkko saying some issues with the way interrupts are exposed..?
>>
> The details are here:
> https://bugzilla.kernel.org/show_bug.cgi?id=86581
>
> A summary is below:
>
> Some devices declare interrupts in their DSDT in an order different from
> what the mainline linux driver expects, in particular the DSP-host
> interrupt is sometimes declared first while the driver expects it at
> index 5.
>
> To check that, dump the DSDT table (look up the details), and look for
> "Device (LPEA)", then check the order of the "Interrupt" definitions.
>
> Some devices define 0x0000001D as the first one, and this does not work
> with the the mainline driver which expects the interrupts sorted
> numerically (i.e. 0x0000001D is the sixth one starting from 0x00000018
> and after 0x0000001C).
>
> The problem can be fixed in two ways:
>    - Override your DSDT with one which reorders the interrupts
>      (that's what I did).
>    - Apply https://bugzilla.kernel.org/attachment.cgi?id=155341 to the
>      driver to use the "right" index as per the original device DSDT.
>      NOTE: the file paths changed in recent kernels so you may need to
>      apply the change manually.
>
> A final note, you also need to set the right codec controls to get
> audio; setting the FE-BE path is necessary to make playback "work" but
> it may not be enough to actually get sound, so make sure you run the
> full script Vinod provided in
> http://mailman.alsa-project.org/pipermail/alsa-devel/2015-June/094080.html
>
> Ciao,
>     Antonio
>

-------------- next part --------------
[63363.677513] [drm:fw_domains_get [i915]] *ERROR* render: timed out waiting for forcewake ack request.
[63664.170402] sst-mfld-platform sst-mfld-platform: rx slot - slot 0 map = 0x1
[63664.170434] sst-mfld-platform sst-mfld-platform: rx slot - slot 1 map = 0x2
[63664.170462] sst-mfld-platform sst-mfld-platform: rx slot - slot 2 map = 0x4
[63664.170498] sst-mfld-platform sst-mfld-platform: rx slot - slot 3 map = 0x8
[63664.170667] sst-mfld-platform sst-mfld-platform: tx channel - codec_out0_0 map = 0x1
[63664.170697] sst-mfld-platform sst-mfld-platform: tx channel - codec_out0_1 map = 0x2
[63664.170727] sst-mfld-platform sst-mfld-platform: tx channel - codec_out1_0 map = 0x4
[63664.170763] sst-mfld-platform sst-mfld-platform: tx channel - codec_out1_1 map = 0x8
[63665.622301] sst-mfld-platform sst-mfld-platform: rx slot - slot 0 map = 0x1
[63665.622329] sst-mfld-platform sst-mfld-platform: rx slot - slot 1 map = 0x2
[63665.622354] sst-mfld-platform sst-mfld-platform: rx slot - slot 2 map = 0x4
[63665.622385] sst-mfld-platform sst-mfld-platform: rx slot - slot 3 map = 0x8
[63665.622531] sst-mfld-platform sst-mfld-platform: tx channel - codec_out0_0 map = 0x1
[63665.622558] sst-mfld-platform sst-mfld-platform: tx channel - codec_out0_1 map = 0x2
[63665.622584] sst-mfld-platform sst-mfld-platform: tx channel - codec_out1_0 map = 0x4
[63665.622615] sst-mfld-platform sst-mfld-platform: tx channel - codec_out1_1 map = 0x8
[63718.847709] sst-mfld-platform sst-mfld-platform: enable=1, usage=0
[63718.847808] writing to lpe: 00000000: 01 01 01 01 00 00 08 00 ff ff ff ff 55 00 00 00  ............U...
[63719.798810] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3
[63719.798820] intel_sst_acpi 80860F28:00: fw returned err -16
[63719.798830] sst-mfld-platform sst-mfld-platform: Enter: enable=1 port_name=ssp2-port
[63719.798835] sst-mfld-platform sst-mfld-platform: ssp_id: 3
[63719.798840] writing to lpe: 00000000: 01 01 01 01 00 00 1a 00 ff ff ff ff 75 00 12 00  ............u...
[63719.798844] writing to lpe: 00000010: 03 00 03 00 18 09 0f ff 0f ff 03 00 01 01 01 00  ................
[63719.798847] writing to lpe: 00000020: 00 00                                            ..
[63720.734175] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3
[63720.734184] intel_sst_acpi 80860F28:00: fw returned err -16
[63720.735173] intel_sst_acpi 80860F28:00: Alloc for str 1 pipe 0x90
[63721.654965] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3
[63721.654975] intel_sst_acpi 80860F28:00: FW alloc failed ret -16
[63721.654980] intel_sst_acpi 80860F28:00: sst_get_stream returned err -5
[63721.654986] sst-mfld-platform sst-mfld-platform: ASoC: cpu DAI prepare error: -5
[63721.654991]  Baytrail Audio Port: ASoC: prepare FE Baytrail Audio Port failed
[63721.655476] sst-mfld-platform sst-mfld-platform: enter, dai-name=media-cpu-dai dir=0
[63721.655484] sst-mfld-platform sst-mfld-platform: Stream name=Headset Playback
[63721.655616] sst-mfld-platform sst-mfld-platform: enter, dai-name=media-cpu-dai dir=0
[63721.655621] sst-mfld-platform sst-mfld-platform: Stream name=Headset Playback
[63721.656267]  Baytrail Audio Port: sst_platform_pcm_trigger called
[63721.656275]  Baytrail Audio Port: sst: Trigger Start
[63721.656281]  SSP2-Codec: sst_platform_pcm_trigger called
[63721.656296]  Baytrail Audio Port: sst: error code = -22
[63721.656306] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656340]  Baytrail Audio Port: sst: error code = -22
[63721.656347] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656581]  Baytrail Audio Port: sst: error code = -22
[63721.656589] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656611]  Baytrail Audio Port: sst: error code = -22
[63721.656618] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656635]  Baytrail Audio Port: sst: error code = -22
[63721.656642] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656674]  Baytrail Audio Port: sst: error code = -22
[63721.656682] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656771]  Baytrail Audio Port: sst: error code = -22
[63721.656779] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.656797]  Baytrail Audio Port: sst: error code = -22
[63721.656804] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.657829]  Baytrail Audio Port: sst: error code = -22
[63721.657841] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63721.657869]  Baytrail Audio Port: sst: error code = -22
[63721.657930]  Baytrail Audio Port: sst: error code = -22
[63721.657952]  Baytrail Audio Port: sst: error code = -22
[63721.658112]  Baytrail Audio Port: sst: error code = -22
[63721.658134]  Baytrail Audio Port: sst: error code = -22
[63721.658191]  Baytrail Audio Port: sst: error code = -22
[63721.658204]  Baytrail Audio Port: sst: error code = -22
[63721.658378]  Baytrail Audio Port: sst: error code = -22
[63721.658398]  Baytrail Audio Port: sst: error code = -22
[63721.658493]  Baytrail Audio Port: sst: error code = -22
[63721.658508]  Baytrail Audio Port: sst: error code = -22
[63721.658570]  Baytrail Audio Port: sst: error code = -22
[63721.658583]  Baytrail Audio Port: sst: error code = -22
[63721.663963]  Baytrail Audio Port: sst: error code = -22
[63721.663994]  Baytrail Audio Port: sst: error code = -22
[63721.664040]  Baytrail Audio Port: sst: error code = -22
[63721.664062]  Baytrail Audio Port: sst: error code = -22
[63721.672666]  Baytrail Audio Port: sst: error code = -22
[63721.672696]  Baytrail Audio Port: sst: error code = -22
[63721.672711]  Baytrail Audio Port: sst: error code = -22
[63721.672747]  Baytrail Audio Port: sst: error code = -22
[63721.672762]  Baytrail Audio Port: sst: error code = -22
[63721.672799]  Baytrail Audio Port: sst: error code = -22
[63721.672817]  Baytrail Audio Port: sst: error code = -22
[63721.672826]  Baytrail Audio Port: sst: error code = -22
[63721.672845]  Baytrail Audio Port: sst: error code = -22
[63721.674200]  Baytrail Audio Port: sst: error code = -22
[63721.674221]  Baytrail Audio Port: sst: error code = -22
[63721.675333]  Baytrail Audio Port: sst: error code = -22
[63721.675368]  Baytrail Audio Port: sst: error code = -22
[63721.675432]  Baytrail Audio Port: sst: error code = -22
[63721.675456]  Baytrail Audio Port: sst: error code = -22
[63721.675643]  Baytrail Audio Port: sst: error code = -22
[63721.675657]  Baytrail Audio Port: sst: error code = -22
[63721.675707]  Baytrail Audio Port: sst: error code = -22
[63721.675719]  Baytrail Audio Port: sst: error code = -22
[63721.675822]  Baytrail Audio Port: sst: error code = -22
[63721.675840]  Baytrail Audio Port: sst: error code = -22
[63742.035348]  Baytrail Audio Port: sst: error code = -22
[63742.035359] snd_pcm_update_hw_ptr0: 38 callbacks suppressed
[63742.035367] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035455]  Baytrail Audio Port: sst: error code = -22
[63742.035462] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035469]  Baytrail Audio Port: sst: error code = -22
[63742.035474] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035488]  Baytrail Audio Port: sst: error code = -22
[63742.035494] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035728]  Baytrail Audio Port: sst: error code = -22
[63742.035739] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035754]  Baytrail Audio Port: sst: error code = -22
[63742.035759] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035873]  Baytrail Audio Port: sst: error code = -22
[63742.035882] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.035894]  Baytrail Audio Port: sst: error code = -22
[63742.035900] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.036812]  Baytrail Audio Port: sst: error code = -22
[63742.036825] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.036843]  Baytrail Audio Port: sst: error code = -22
[63742.036849] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63742.037341]  Baytrail Audio Port: sst: error code = -22
[63742.037368]  Baytrail Audio Port: sst: error code = -22
[63742.037711]  Baytrail Audio Port: sst: error code = -22
[63742.037729]  Baytrail Audio Port: sst: error code = -22
[63742.037790]  Baytrail Audio Port: sst: error code = -22
[63742.037802]  Baytrail Audio Port: sst: error code = -22
[63742.039975]  Baytrail Audio Port: sst: error code = -22
[63742.040000]  Baytrail Audio Port: sst: error code = -22
[63742.040079]  Baytrail Audio Port: sst: error code = -22
[63742.040093]  Baytrail Audio Port: sst: error code = -22
[63744.061152]  Baytrail Audio Port: sst: error code = -22
[63744.061163] snd_pcm_update_hw_ptr0: 10 callbacks suppressed
[63744.061170] bytt100_rt5640 bytt100_rt5640: BUG: , pos = -22, buffer size = 203830, period size = 1199
[63744.061189]  Baytrail Audio Port: sst_platform_pcm_trigger called
[63744.061193]  Baytrail Audio Port: sst: in stop
[63744.061199]  SSP2-Codec: sst_platform_pcm_trigger called
[63744.061329] sst-mfld-platform sst-mfld-platform: Enter: enable=0 port_name=ssp2-port
[63744.061335] sst-mfld-platform sst-mfld-platform: ssp_id: 3
[63744.061341] writing to lpe: 00000000: 01 01 01 01 00 00 1a 00 ff ff ff ff 75 00 12 00  ............u...
[63744.061345] writing to lpe: 00000010: 03 00 00 00 18 09 0f ff 0f ff 03 00 01 01 01 00  ................
[63744.061348] writing to lpe: 00000020: 00 00                                            ..
[63744.419622] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3
[63744.419632] intel_sst_acpi 80860F28:00: fw returned err -16
[63744.419641] sst-mfld-platform sst-mfld-platform: enable=0, usage=1
[63744.419647] writing to lpe: 00000000: 01 01 01 01 00 00 08 00 ff ff ff ff 0e 00 00 00  ................
[63744.761892] intel_sst_acpi 80860F28:00: Wait timed-out condition:0x0, msg_id:0x1 fw_state 0x3
[63744.761902] intel_sst_acpi 80860F28:00: fw returned err -16
[63744.761921] sst-mfld-platform sst-mfld-platform: enter, dai-name=media-cpu-dai dir=0
[63744.761927] sst-mfld-platform sst-mfld-platform: Stream name=Headset Playback
[63744.761934] intel_sst_acpi 80860F28:00: free stream returned err -19


More information about the Alsa-devel mailing list