drm/i915/gen11: Enable 6 sprites on gen11
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Thu, 18 Oct 2018 11:51:28 +0000 (13:51 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 24 Oct 2018 08:28:44 +0000 (10:28 +0200)
Gen11 supports 7 planes + 1 cursor on each pipe. Bump
I915_MAX_PLANES to 8, and set num_sprites correctly.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
[mlankhorst: Move the skl/bxt comment to the BXT branch. (Matt)]
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181018115134.9061-3-maarten.lankhorst@linux.intel.com
drivers/gpu/drm/i915/intel_device_info.c
drivers/gpu/drm/i915/intel_display.h

index 03df4e3..6d9ea54 100644 (file)
@@ -752,18 +752,22 @@ void intel_device_info_runtime_init(struct intel_device_info *info)
 
        BUILD_BUG_ON(I915_NUM_ENGINES > BITS_PER_TYPE(intel_ring_mask_t));
 
-       /*
-        * Skylake and Broxton currently don't expose the topmost plane as its
-        * use is exclusive with the legacy cursor and we only want to expose
-        * one of those, not both. Until we can safely expose the topmost plane
-        * as a DRM_PLANE_TYPE_CURSOR with all the features exposed/supported,
-        * we don't expose the topmost plane at all to prevent ABI breakage
-        * down the line.
-        */
-       if (IS_GEN10(dev_priv) || IS_GEMINILAKE(dev_priv))
+       if (IS_GEN11(dev_priv))
+               for_each_pipe(dev_priv, pipe)
+                       info->num_sprites[pipe] = 6;
+       else if (IS_GEN10(dev_priv) || IS_GEMINILAKE(dev_priv))
                for_each_pipe(dev_priv, pipe)
                        info->num_sprites[pipe] = 3;
        else if (IS_BROXTON(dev_priv)) {
+               /*
+                * Skylake and Broxton currently don't expose the topmost plane as its
+                * use is exclusive with the legacy cursor and we only want to expose
+                * one of those, not both. Until we can safely expose the topmost plane
+                * as a DRM_PLANE_TYPE_CURSOR with all the features exposed/supported,
+                * we don't expose the topmost plane at all to prevent ABI breakage
+                * down the line.
+                */
+
                info->num_sprites[PIPE_A] = 2;
                info->num_sprites[PIPE_B] = 2;
                info->num_sprites[PIPE_C] = 1;
index 5408713..5d50dec 100644 (file)
@@ -122,6 +122,9 @@ enum plane_id {
        PLANE_SPRITE0,
        PLANE_SPRITE1,
        PLANE_SPRITE2,
+       PLANE_SPRITE3,
+       PLANE_SPRITE4,
+       PLANE_SPRITE5,
        PLANE_CURSOR,
 
        I915_MAX_PLANES,