Re: [PATCH 27/27] drm/i915/gen9: Add WaFbcHighMemBwCorruptionAvoidance

Mika Kuoppala
2016-06-08T14:32:42Z

Ville Syrjälä <ville.syrjala@linux.intel.com> writes:

> [ text/plain ]
> On Tue, Jun 07, 2016 at 05:19:19PM +0300, Mika Kuoppala wrote:
>> Add this fbc related workaround for all gen9
>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>

All patches pushed to dinq. Ty all for review.

-Mika

>> ---
>> drivers/gpu/drm/i915/i915_reg.h | 1 +
>> drivers/gpu/drm/i915/intel_pm.c | 4 ++++
>> 2 files changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index f6a140b2c77c..81d1896f158c 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_STATUS _MMIO(0x43210)
>> #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)
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
>> index 1464d7ba69d4..658a75659657 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -75,6 +75,10 @@ static void gen9_init_clock_gating(struct drm_device *dev)
>> I915_WRITE(DISP_ARB_CTL, I915_READ(DISP_ARB_CTL) |
>> DISP_FBC_WM_DIS |
>> DISP_FBC_MEMORY_WAKE);
>> +
>> + /* WaFbcHighMemBwCorruptionAvoidance:skl,bxt,kbl */
>> + I915_WRITE(ILK_DPFC_CHICKEN, I915_READ(ILK_DPFC_CHICKEN) |
>> + ILK_DPFC_DISABLE_DUMMY0);
>> }
>>
>> static void bxt_init_clock_gating(struct drm_device *dev)
>> --
>> 2.7.4
>
> --
> Ville Syrjälä
> Intel OTC