[PATCH] ASoC: SOF: Intel: hda: unsolicited RIRB response

Takashi Iwai tiwai at suse.de
Thu Jun 11 19:59:26 CEST 2020


On Thu, 11 Jun 2020 19:09:08 +0200,
Lu, Brent wrote:
> 
> > Hi Brent,
> > 
> > Thanks for the patch. Is this fix for a specific issue you're seeing?
> > If so, could you please give us some details about it?
> > 
> > Thanks,
> > Ranjani
> 
> Hi Ranjani,
> 
> It's reported to happen on GLK Chromebook 'Fleex' that sometimes it
> cannot output the audio stream to external display. The kernel is
> Chrome v4.14 branch. Following is the reproduce step provided by
> ODM but I could reproduce it simply running aplay or cras_test_client
> so I think it's not about the cable plug/unplug handling.
> 
> What steps will reproduce the problem?
> 1.      Play YouTube video on Chromebook and connect it to external monitor with Type C to DP dongle
> 2.      Press monitor power button to turn off the monitor
> 3.      Press monitor power button again to turn on the monitor
> 4.      Continue to play YouTube video and check audio playback
> 5.      No sound comes out from built-in speaker of external monitor when turn on external monitor
> 
> I added debug messages to print the RIRBWP register and realize that
> response could come between the read of RIRBWP in the
> snd_hdac_bus_update_rirb() function and the interrupt clear in the
> hda_dsp_stream_interrupt() function. The response is not handled but
> the interrupt is already cleared. It will cause timeout unless more
> responses coming to RIRB.

Now I noticed that the legacy driver already addressed it recently via
commit 6d011d5057ff
    ALSA: hda: Clear RIRB status before reading WP

We should have checked SOF at the same time, too...


thanks,

Takashi


More information about the Alsa-devel mailing list