diff mbox series

drm/i915/icl, tgl: whitelist COMMON_SLICE_CHICKEN3 register

Message ID 20210205003310.282664-1-sagar.ghuge@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/icl, tgl: whitelist COMMON_SLICE_CHICKEN3 register | expand

Commit Message

Sagar Ghuge Feb. 5, 2021, 12:33 a.m. UTC
Adding this register to whitelist will allow UMD to toggle State Cache
Perf fix disable chicken bit.

   "If this bit is enabled, RCC uses BTP+BTI as address tag in its state
   cache instead of BTI only"

which will lead to dropping unnecessary render target flushes and stall
on scoreboard.

Bspec: 11333
Bspec: 45829

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Chris Wilson Feb. 5, 2021, 1:33 p.m. UTC | #1
Quoting Sagar Ghuge (2021-02-05 00:33:10)
> Adding this register to whitelist will allow UMD to toggle State Cache
> Perf fix disable chicken bit.
> 
>    "If this bit is enabled, RCC uses BTP+BTI as address tag in its state
>    cache instead of BTI only"
> 
> which will lead to dropping unnecessary render target flushes and stall
> on scoreboard.

The rest of the register looks safe to expose, and it passes our sanity
checks that the register is local to the context and should not affect
others.

> Bspec: 11333
> Bspec: 45829
> 
> Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>

The only missing piece of the puzzle that Joonas will require is a
Link: to a reviewed userspace patch/MR to confirm the uABI.
-Chris
Sagar Ghuge Feb. 5, 2021, 6:48 p.m. UTC | #2
On 2/5/21 5:33 AM, Chris Wilson wrote:
> Quoting Sagar Ghuge (2021-02-05 00:33:10)
>> Adding this register to whitelist will allow UMD to toggle State Cache
>> Perf fix disable chicken bit.
>>
>>    "If this bit is enabled, RCC uses BTP+BTI as address tag in its state
>>    cache instead of BTI only"
>>
>> which will lead to dropping unnecessary render target flushes and stall
>> on scoreboard.
> 
> The rest of the register looks safe to expose, and it passes our sanity
> checks that the register is local to the context and should not affect
> others.
> 
>> Bspec: 11333
>> Bspec: 45829
>>
>> Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
> 
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
Thank you!

> The only missing piece of the puzzle that Joonas will require is a
> Link: to a reviewed userspace patch/MR to confirm the uABI.
Link to MR:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8766
> -Chris
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 53f7838bd3c4..318302475c28 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -1473,6 +1473,9 @@  static void icl_whitelist_build(struct intel_engine_cs *engine)
 		/* WaEnableStateCacheRedirectToCS:icl */
 		whitelist_reg(w, GEN9_SLICE_COMMON_ECO_CHICKEN1);
 
+		/* WaAllowToDisableStateCachePerfFixFromUMD:icl */
+		whitelist_reg(w, GEN11_COMMON_SLICE_CHICKEN3);
+
 		/*
 		 * WaAllowPMDepthAndInvocationCountAccessFromUMD:icl
 		 *
@@ -1533,6 +1536,9 @@  static void tgl_whitelist_build(struct intel_engine_cs *engine)
 		/* Wa_1808121037:tgl */
 		whitelist_reg(w, GEN7_COMMON_SLICE_CHICKEN1);
 
+		/* WaAllowToDisableStateCachePerfFixFromUMD:tgl */
+		whitelist_reg(w, GEN11_COMMON_SLICE_CHICKEN3);
+
 		/* Wa_1806527549:tgl */
 		whitelist_reg(w, HIZ_CHICKEN);
 		break;