diff options
Diffstat (limited to 'drivers/gpu/drm/i915/gt/intel_mocs.c')
| -rw-r--r-- | drivers/gpu/drm/i915/gt/intel_mocs.c | 19 | 
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c index b8f56e62158e..4f74706967fd 100644 --- a/drivers/gpu/drm/i915/gt/intel_mocs.c +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c @@ -131,7 +131,19 @@ static const struct drm_i915_mocs_entry skl_mocs_table[] = {  	GEN9_MOCS_ENTRIES,  	MOCS_ENTRY(I915_MOCS_CACHED,  		   LE_3_WB | LE_TC_2_LLC_ELLC | LE_LRUM(3), -		   L3_3_WB) +		   L3_3_WB), + +	/* +	 * mocs:63 +	 * - used by the L3 for all of its evictions. +	 *   Thus it is expected to allow LLC cacheability to enable coherent +	 *   flows to be maintained. +	 * - used to force L3 uncachable cycles. +	 *   Thus it is expected to make the surface L3 uncacheable. +	 */ +	MOCS_ENTRY(63, +		   LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), +		   L3_1_UC)  };  /* NOTE: the LE_TGT_CACHE is not used on Broxton */ @@ -243,8 +255,9 @@ static const struct drm_i915_mocs_entry tgl_mocs_table[] = {  	 * only, __init_mocs_table() take care to program unused index with  	 * this entry.  	 */ -	MOCS_ENTRY(1, LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), -		   L3_3_WB), +	MOCS_ENTRY(I915_MOCS_PTE, +		   LE_0_PAGETABLE | LE_TC_0_PAGETABLE, +		   L3_1_UC),  	GEN11_MOCS_ENTRIES,  	/* Implicitly enable L1 - HDC:L1 + L3 + LLC */  |