On ti, 2016-04-26 at 12:03 +0300, Imre Deak wrote: > On ti, 2016-04-26 at 11:11 +0300, Mika Kuoppala wrote: > > Imre Deak <imre.deak@xxxxxxxxx> writes: > > > > > [ text/plain ] > > > No need for hard-coding the register value, the corresponding > > > fields are > > > defined properly in BSpec. > > > > > > No functional change. > > > > > > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > > > --- > > > drivers/gpu/drm/i915/i915_reg.h | 3 ++- > > > drivers/gpu/drm/i915/intel_pm.c | 3 ++- > > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h > > > b/drivers/gpu/drm/i915/i915_reg.h > > > index c21b71c..0cb2e17 100644 > > > --- a/drivers/gpu/drm/i915/i915_reg.h > > > +++ b/drivers/gpu/drm/i915/i915_reg.h > > > @@ -6073,7 +6073,8 @@ enum skl_disp_power_wells { > > > #define VLV_B0_WA_L3SQCREG1_VALUE 0x00D30000 > > > > > > #define GEN8_L3SQCREG1 _MMIO(0xB100 > > > ) > > > -#define BDW_WA_L3SQCREG1_DEFAULT 0x784000 > > > +#define L3_GENERAL_PRIO_CREDITS(x) (((x) >> 1) << > > > 19) > > > +#define L3_HIGH_PRIO_CREDITS(x) (((x) >> 1) << 14) > > > > > > > The values listed for CHV it seems that the macros would produce > > one less than intended. For example chv 34 -> 0b10010 > > Yes, Ville noticed this too. I assumed the same formula as used on the > other platforms (BDW, SKL, BXT) and haven't noticed the difference wrt. > CHV. > > According to Ville's tests using the formula in the spec (and setting > the new credits 30, 2) leads to a hang. So my suspicion is that it's a Sorry, I meant setting the new credits 38, 2. > bug in the spec, I will file a change request there. > > --Imre > > > > > -Mika > > > > > > > #define GEN7_L3CNTLREG1 _MMIO(0xB01 > > > C) > > > #define GEN7_WA_FOR_GEN7_L3_CONTROL 0x3C47 > > > FF8C > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c > > > b/drivers/gpu/drm/i915/intel_pm.c > > > index a6fd4dd..a9b7626 100644 > > > --- a/drivers/gpu/drm/i915/intel_pm.c > > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > > @@ -6710,7 +6710,8 @@ static void > > > broadwell_init_clock_gating(struct drm_device *dev) > > > */ > > > misccpctl = I915_READ(GEN7_MISCCPCTL); > > > I915_WRITE(GEN7_MISCCPCTL, misccpctl & > > > ~GEN7_DOP_CLOCK_GATE_ENABLE); > > > - I915_WRITE(GEN8_L3SQCREG1, BDW_WA_L3SQCREG1_DEFAULT); > > > + I915_WRITE(GEN8_L3SQCREG1, L3_GENERAL_PRIO_CREDITS(30) | > > > + L3_HIGH_PRIO_CREDITS(2)); > > > /* > > > * Wait at least 100 clocks before re-enabling clock > > > gating. See > > > * the definition of L3SQCREG1 in BSpec. > _______________________________________________ > 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