[alsa-devel] [PATCH 1/1] drm/i915/audio: apply SKL codec wake up patch to BXT

Lu, Han han.lu at intel.com
Thu Nov 19 15:28:40 CET 2015


> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Thursday, November 19, 2015 6:29 PM
> To: Nikula, Jani
> Cc: Lu, Han; daniel.vetter at ffwll.ch; intel-gfx at lists.freedesktop.org;
> libin.yang at linux.intel.com; mengdong.lin at linux.intel.com;
> han.lu at linux.intel.com; alsa-devel at alsa-project.org
> Subject: Re: [PATCH 1/1] drm/i915/audio: apply SKL codec wake up patch to
> BXT
> 
> On Thu, 19 Nov 2015 10:09:01 +0100,
> Jani Nikula wrote:
> >
> > On Thu, 19 Nov 2015, Jani Nikula <jani.nikula at intel.com> wrote:
> > > On Thu, 19 Nov 2015, han.lu at intel.com wrote:
> > >> From: "Lu, Han" <han.lu at intel.com>
> > >>
> > >> Signed-off-by: Lu, Han <han.lu at intel.com>
> > >>
> > >> diff --git a/drivers/gpu/drm/i915/intel_audio.c
> > >> b/drivers/gpu/drm/i915/intel_audio.c
> > >> index 63d4706..8310bf3 100644
> > >> --- a/drivers/gpu/drm/i915/intel_audio.c
> > >> +++ b/drivers/gpu/drm/i915/intel_audio.c
> > >> @@ -591,7 +591,8 @@ static void
> i915_audio_component_codec_wake_override(struct device *dev,
> > >>  	struct drm_i915_private *dev_priv = dev_to_i915(dev);
> > >>  	u32 tmp;
> > >>
> > >> -	if (!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv))
> > >> +	if (!IS_SKYLAKE(dev_priv) && !IS_BROXTON(dev_priv) &&
> > >> +			!IS_KABYLAKE(dev_priv))
> > >
> > > How about if (INTEL_INFO(dev_priv)->gen < 9)?
> >
> > Oh, and I guess we also wonder why this is only relevant for the
> > latest platforms?
> 
> My understanding is that it's a workaround specific to HSW/BDW.
> It's issued only during the audio controller initialization and at the resume.
> But I never know why it's needed, it's a black magic :)
> 
> 
> Takashi

Sorry, I should have made it more clear.
For SKL we added a patch (commit 632f3ab95fe2ffebf09969a57ab21), in order
to enable codec wakeup override signal, to allow re-enumeration of the
controller on SKL after resume from low power state.
In SKL, HDMI/DP codec and PCH HD Audio Controller are in different power
wells, so it's necessary to reset display audio codecs when power well on,
otherwise display audio codecs will disappear when resume from low power
state.
Reset steps when power on:
    enable codec wakeup -> azx_init_chip() -> disable codec wakeup
Since the power well design didn't change from SKL to BXT, we need to apply
the workaround to BXT also.
I'll re-submit the patch with these info added on.

Regards,
Han Lu


More information about the Alsa-devel mailing list