drm/i915/skl: Add Gen9 LRC size
authorMichael H. Nguyen <michael.h.nguyen@intel.com>
Thu, 13 Nov 2014 17:51:49 +0000 (17:51 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 14 Nov 2014 10:29:05 +0000 (11:29 +0100)
The LRC increased in size on gen9. Make sure we return the right
size in get_lr_context_size()

v2. Corrected the size, should be 22 pages. I unintentionally mailed out
a test patch w/ size equaling 23 pages.

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Michael H. Nguyen <michael.h.nguyen@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_lrc.c

index 2a1a7193342055da367d8f5d38d765c735917004..af0c18a0aefea63acc23fb9504d866bf2b393b47 100644 (file)
 #include <drm/i915_drm.h>
 #include "i915_drv.h"
 
+#define GEN9_LR_CONTEXT_RENDER_SIZE (22 * PAGE_SIZE)
 #define GEN8_LR_CONTEXT_RENDER_SIZE (20 * PAGE_SIZE)
 #define GEN8_LR_CONTEXT_OTHER_SIZE (2 * PAGE_SIZE)
 
@@ -1671,11 +1672,14 @@ static uint32_t get_lr_context_size(struct intel_engine_cs *ring)
 {
        int ret = 0;
 
-       WARN_ON(INTEL_INFO(ring->dev)->gen != 8);
+       WARN_ON(INTEL_INFO(ring->dev)->gen < 8);
 
        switch (ring->id) {
        case RCS:
-               ret = GEN8_LR_CONTEXT_RENDER_SIZE;
+               if (INTEL_INFO(ring->dev)->gen >= 9)
+                       ret = GEN9_LR_CONTEXT_RENDER_SIZE;
+               else
+                       ret = GEN8_LR_CONTEXT_RENDER_SIZE;
                break;
        case VCS:
        case BCS: