Message ID | 1398067454-7581-3-git-send-email-deepak.s@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Apr 21, 2014 at 01:34:06PM +0530, deepak.s@linux.intel.com wrote: For backporters, putting drm/i915/bdw would be helpful. > From: Deepak S <deepak.s@linux.intel.com> > > In BDW, Apart from unmasking up/down threshold interrupts. we need > to umask bit 32 of PM_INTRMASK to route interrupts to target via Display > Interface. > > v2: Add (1<<31) mask (Ville) > > Signed-off-by: Deepak S <deepak.s@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_pm.c | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index c2dd436..b951d61 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -5105,6 +5105,7 @@ enum punit_power_well { > #define GEN6_RC6p_THRESHOLD 0xA0BC > #define GEN6_RC6pp_THRESHOLD 0xA0C0 > #define GEN6_PMINTRMSK 0xA168 > +#define GEN8_PMINTR_REDIRECT_TO_NON_DISP (1<<31) > > #define GEN6_PMISR 0x44020 > #define GEN6_PMIMR 0x44024 /* rps_lock */ > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 3dccee6..f3c5bce 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -3066,6 +3066,8 @@ static u32 gen6_rps_pm_mask(struct drm_i915_private *dev_priv, u8 val) > if (INTEL_INFO(dev_priv->dev)->gen <= 7 && !IS_HASWELL(dev_priv->dev)) > mask |= GEN6_PM_RP_UP_EI_EXPIRED; > > + mask |= GEN8_PMINTR_REDIRECT_TO_NON_DISP; > + > return ~mask; > } if (IS_BROADWELL(dev)), or gen>= 8 mask |= GEN8_PMINTR_REDIRECT_TO_NON_DISP; I didn't read if CHV actually needs it, or not. With that fixed: Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index c2dd436..b951d61 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -5105,6 +5105,7 @@ enum punit_power_well { #define GEN6_RC6p_THRESHOLD 0xA0BC #define GEN6_RC6pp_THRESHOLD 0xA0C0 #define GEN6_PMINTRMSK 0xA168 +#define GEN8_PMINTR_REDIRECT_TO_NON_DISP (1<<31) #define GEN6_PMISR 0x44020 #define GEN6_PMIMR 0x44024 /* rps_lock */ diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 3dccee6..f3c5bce 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3066,6 +3066,8 @@ static u32 gen6_rps_pm_mask(struct drm_i915_private *dev_priv, u8 val) if (INTEL_INFO(dev_priv->dev)->gen <= 7 && !IS_HASWELL(dev_priv->dev)) mask |= GEN6_PM_RP_UP_EI_EXPIRED; + mask |= GEN8_PMINTR_REDIRECT_TO_NON_DISP; + return ~mask; }