On Mon, Feb 18, 2019 at 10:52:50PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Move the w/a to disable IPC on SKL closer to the actual code > that implements IPS. Otherwise I just end up confused as to > what is excluding SKL from considerations. > > IMO this makes more sense anyway since the hw does have the > feature, we're just not supposed to use it. > > And this also makes us actually disable IPC in case eg. the > BIOS enabled it when it shouldn't have. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> iirc your argument had convinced me, but I forgot to state that back, sorry... Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_pci.c | 2 -- > drivers/gpu/drm/i915/intel_pm.c | 19 ++++++++++++++----- > 2 files changed, 14 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index c4d6b8da9b03..eaa69c83b8b2 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -505,8 +505,6 @@ static const struct intel_device_info intel_cherryview_info = { > > #define SKL_PLATFORM \ > GEN9_FEATURES, \ > - /* Display WA #0477 WaDisableIPC: skl */ \ > - .display.has_ipc = 0, \ > PLATFORM(INTEL_SKYLAKE) > > static const struct intel_device_info intel_skylake_gt1_info = { > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 2bd1a47a134a..e177f229a2ca 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -6333,16 +6333,25 @@ void intel_enable_ipc(struct drm_i915_private *dev_priv) > I915_WRITE(DISP_ARB_CTL2, val); > } > > +static bool intel_can_enable_ipc(struct drm_i915_private *dev_priv) > +{ > + /* Display WA #0477 WaDisableIPC: skl */ > + if (IS_SKYLAKE(dev_priv)) > + return false; > + > + /* Display WA #1141: SKL:all KBL:all CFL */ > + if (IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) > + return dev_priv->dram_info.symmetric_memory; > + > + return true; > +} > + > void intel_init_ipc(struct drm_i915_private *dev_priv) > { > if (!HAS_IPC(dev_priv)) > return; > > - /* Display WA #1141: SKL:all KBL:all CFL */ > - if (IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) > - dev_priv->ipc_enabled = dev_priv->dram_info.symmetric_memory; > - else > - dev_priv->ipc_enabled = true; > + dev_priv->ipc_enabled = intel_can_enable_ipc(dev_priv); > > intel_enable_ipc(dev_priv); > } > -- > 2.19.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx