Message ID | 1447944288-28499-1-git-send-email-han.lu@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Nov 19, 2015 at 10:44:48PM +0800, han.lu@intel.com wrote: > From: "Lu, Han" <han.lu@intel.com> > > For SKL we added a commit 632f3ab95fe2 ("drm/i915/audio: add codec wakeup > override enabled/disable callback"), 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 did not change from SKL to BXT, we need to > apply the workaround to BXT also. > > v2: add explanation > > Signed-off-by: Lu, Han <han.lu@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)) if (INTEL_INFO(dev)->gen < 9) return; for future-proofing? At least make it an IS_GEN9 check instead of listening all of them in a long list. -Daniel > return; > > /* > -- > 2.5.0 >
On Thu, 19 Nov 2015, Daniel Vetter <daniel@ffwll.ch> wrote: > On Thu, Nov 19, 2015 at 10:44:48PM +0800, han.lu@intel.com wrote: >> From: "Lu, Han" <han.lu@intel.com> >> >> For SKL we added a commit 632f3ab95fe2 ("drm/i915/audio: add codec wakeup >> override enabled/disable callback"), 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 did not change from SKL to BXT, we need to >> apply the workaround to BXT also. >> >> v2: add explanation >> >> Signed-off-by: Lu, Han <han.lu@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)) > > if (INTEL_INFO(dev)->gen < 9) > return; > > for future-proofing? At least make it an IS_GEN9 check instead of > listening all of them in a long list. http://mid.gmane.org/87a8qacq5w.fsf@intel.com ... > -Daniel > >> return; >> >> /* >> -- >> 2.5.0 >>
On 11/20/2015 12:01 AM, Jani Nikula wrote: > On Thu, 19 Nov 2015, Daniel Vetter <daniel@ffwll.ch> wrote: >> On Thu, Nov 19, 2015 at 10:44:48PM +0800, han.lu@intel.com wrote: >>> From: "Lu, Han" <han.lu@intel.com> >>> >>> For SKL we added a commit 632f3ab95fe2 ("drm/i915/audio: add codec wakeup >>> override enabled/disable callback"), 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 did not change from SKL to BXT, we need to >>> apply the workaround to BXT also. >>> >>> v2: add explanation >>> >>> Signed-off-by: Lu, Han <han.lu@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)) >> if (INTEL_INFO(dev)->gen < 9) >> return; >> >> for future-proofing? At least make it an IS_GEN9 check instead of >> listening all of them in a long list. > http://mid.gmane.org/87a8qacq5w.fsf@intel.com ... Yes, that's right. Thanks. I'll send next revision. Regards, Han Lu > >> -Daniel >> >>> return; >>> >>> /* >>> -- >>> 2.5.0 >>>
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)) return; /*