On Fri, May 27, 2016 at 05:27:03PM +0300, Mika Kuoppala wrote: > Bspec states that we need to set nuke on modify all to prevent > screen corruption with fbc on skl and kbl. > > v2: proper workaround name > > References: HSD#2227109, HSDES#1404569388 > Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_pm.c | 8 ++++++++ > 2 files changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 2f3a3960f5f7..e08f29685b25 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -2209,6 +2209,7 @@ enum skl_disp_power_wells { > #define ILK_DPFC_FENCE_YOFF _MMIO(0x43218) > #define ILK_DPFC_CHICKEN _MMIO(0x43224) > #define ILK_DPFC_DISABLE_DUMMY0 (1<<8) > +#define ILK_DPFC_NUKE_ON_ANY_MODIFICATION (1<<23) > #define ILK_FBC_RT_BASE _MMIO(0x2128) > #define ILK_FBC_RT_VALID (1<<0) > #define SNB_FBC_FRONT_BUFFER (1<<1) > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 6d9cf487ea40..d4cbae4f3ce7 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -6887,6 +6887,10 @@ static void kabylake_init_clock_gating(struct drm_device *dev) > if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0)) > I915_WRITE(GEN6_UCGCTL1, I915_READ(GEN6_UCGCTL1) | > GEN6_GAMUNIT_CLOCK_GATE_DISABLE); > + > + /* WaFbcNukeOnHostModify:kbl */ > + I915_WRITE(ILK_DPFC_CHICKEN, I915_READ(ILK_DPFC_CHICKEN) | > + ILK_DPFC_NUKE_ON_ANY_MODIFICATION); > } > > static void skylake_init_clock_gating(struct drm_device *dev) > @@ -6898,6 +6902,10 @@ static void skylake_init_clock_gating(struct drm_device *dev) > /* WAC6entrylatency:skl */ > I915_WRITE(FBC_LLC_READ_CTRL, I915_READ(FBC_LLC_READ_CTRL) | > FBC_LLC_FULLY_OPEN); > + > + /* WaFbcNukeOnHostModify:skl */ > + I915_WRITE(ILK_DPFC_CHICKEN, I915_READ(ILK_DPFC_CHICKEN) | > + ILK_DPFC_NUKE_ON_ANY_MODIFICATION); > } > > static void broadwell_init_clock_gating(struct drm_device *dev) > -- > 2.5.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx