drm/i915/icl: Gen11 render context size
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Thu, 11 Jan 2018 22:55:07 +0000 (14:55 -0800)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 19 Jan 2018 20:13:33 +0000 (18:13 -0200)
Gen11 removes the Resource Streamer, which frees up a big chunk of
the context image. BSpec indicates 12544 DWORDs (13 pages), plus
one page for PPHWSP.

Please notice that, when looking at the BSpec context image table,
the right filter has to be applied as some rows are excluded for
specific GENs. Also, some rows apply per-subslice (for the
calculation above, we have supposed I915_MAX_SUBSLICES = 8).

v2: Rebase.
v3: Use the right size as per the BSpec.
v4:
  - Rebased on top of the default context size (Rodrigo)
  - Clarify in the commit message where the subslice calculation
    comes from.
v5: s/12538/12544/ (Daniele)

BSpec: 18907

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Ben Widawsky <benjamin.widawsky@intel.com> (older version)
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1515711307-28979-2-git-send-email-oscar.mateo@intel.com
drivers/gpu/drm/i915/intel_engine_cs.c

index 3639af5bdc2372490c7f6672d7e621601df671bb..a1a67f689b3a24da8c15010287617044a6d5bc66 100644 (file)
@@ -42,6 +42,7 @@
 #define GEN8_LR_CONTEXT_RENDER_SIZE    (20 * PAGE_SIZE)
 #define GEN9_LR_CONTEXT_RENDER_SIZE    (22 * PAGE_SIZE)
 #define GEN10_LR_CONTEXT_RENDER_SIZE   (18 * PAGE_SIZE)
+#define GEN11_LR_CONTEXT_RENDER_SIZE   (14 * PAGE_SIZE)
 
 #define GEN8_LR_CONTEXT_OTHER_SIZE     ( 2 * PAGE_SIZE)
 
@@ -159,6 +160,8 @@ __intel_engine_context_size(struct drm_i915_private *dev_priv, u8 class)
                default:
                        MISSING_CASE(INTEL_GEN(dev_priv));
                        return DEFAULT_LR_CONTEXT_RENDER_SIZE;
+               case 11:
+                       return GEN11_LR_CONTEXT_RENDER_SIZE;
                case 10:
                        return GEN10_LR_CONTEXT_RENDER_SIZE;
                case 9: