[alsa-devel] [RFC] ALSA: hda: Fix a headphone detection issue when using SOF

Takashi Iwai tiwai at suse.de
Wed Jun 26 08:51:18 CEST 2019


On Wed, 26 Jun 2019 08:38:24 +0200,
Rander Wang wrote:
> 
> To save power, the hda hdmi driver in ASoC invokes snd_hdac_ext_bus_link_put
> to disable CORB/RIRB buffers DMA if there is no user of bus and invokes
> snd_hdac_ext_bus_link_get to set up CORB/RIRB buffers when it is used.
> Unsolicited responses is disabled in snd_hdac_bus_stop_cmd_io called by
> snd_hdac_ext_bus_link_put , but it is not enabled in snd_hdac_bus_init_cmd_io
> called by snd_hdac_ext_bus_link_get. So for put-get sequence, Unsolicited
> responses is disabled and headphone can't be detected by hda codecs.
> 
> Now unsolicited responses is only enabled in snd_hdac_bus_reset_link
> which resets controller. The function is only called for setup of
> controller. This patch enables Unsolicited responses after RIRB is
> initialized in snd_hdac_bus_init_cmd_io which works together with
> snd_hdac_bus_reset_link to set up controller.
> 
> Tested legacy hda driver and SOF driver on intel whiskeylake.
> 
> Signed-off-by: Rander Wang <rander.wang at linux.intel.com>

Looks good to me.
  Reviewed-by: Takashi Iwai <tiwai at suse.de>


thanks,

Takashi


More information about the Alsa-devel mailing list