[alsa-devel] [PATCH v2] ALSA: hda - Enable runtime PM only for discrete GPU

Takashi Iwai tiwai at suse.de
Thu Sep 13 15:35:36 CEST 2018


On Thu, 13 Sep 2018 15:27:16 +0200,
Jian-Hong Pan wrote:
> 
> 2018-09-13 14:56 GMT+08:00 Takashi Iwai <tiwai at suse.de>:
> > The recent change of vga_switcheroo allowed the runtime PM for
> > HD-audio on AMD GPUs, but this also resulted in a regression.  When
> > the HD-audio controller driver gets runtime-suspended, HD-audio link
> > is turned off, and the hotplug notification is ignored.  This leads to
> > the inconsistent audio state (the connection isn't notified and ELD is
> > ignored).
> >
> > The best fix would be to implement the proper ELD notification via the
> > audio component, but it's still not ready.  As a quick workaround,
> > this patch adds the check of runtime_idle and allows the runtime
> > suspend only when the vga_switcheroo is bound with discrete GPU.
> > That is, a system with a single GPU and APU would be again without
> > runtime PM to keep the HD-audio link for the hotplug notification and
> > ELD read out.
> >
> > Also, the codec->auto_runtime_pm flag is set only for the discrete GPU
> > at the time GPU gets bound via vga_switcheroo (i.e. only dGPU is
> > forcibly runtime-PM enabled), so that APU can still get the ELD
> > notification.
> >
> > For identifying which GPU is bound, a new vga_switcheroo client
> > callback, gpu_bound, is implemented.  The vga_switcheroo simply calls
> > this when GPU is bound, and tells whether it's dGPU or APU.
> 
> Tested-by: Jian-Hong Pan <jian-hong at endlessm.com>

Thanks.  I should put you also as the original reporter.

Lukas, could you check the vga_switcheroo change whether it's
acceptable?


Takashi


More information about the Alsa-devel mailing list