Commit 6711bd73 authored by Maarten Lankhorst's avatar Maarten Lankhorst

drm/i915/gen11: Enable 6 sprites on gen11

Gen11 supports 7 planes + 1 cursor on each pipe. Bump
I915_MAX_PLANES to 8, and set num_sprites correctly.
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
[mlankhorst: Move the skl/bxt comment to the BXT branch. (Matt)]
Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181018115134.9061-3-maarten.lankhorst@linux.intel.com
parent 24719e94
...@@ -752,18 +752,22 @@ void intel_device_info_runtime_init(struct intel_device_info *info) ...@@ -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)); BUILD_BUG_ON(I915_NUM_ENGINES > BITS_PER_TYPE(intel_ring_mask_t));
/* if (IS_GEN11(dev_priv))
* Skylake and Broxton currently don't expose the topmost plane as its for_each_pipe(dev_priv, pipe)
* use is exclusive with the legacy cursor and we only want to expose info->num_sprites[pipe] = 6;
* one of those, not both. Until we can safely expose the topmost plane else if (IS_GEN10(dev_priv) || IS_GEMINILAKE(dev_priv))
* 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))
for_each_pipe(dev_priv, pipe) for_each_pipe(dev_priv, pipe)
info->num_sprites[pipe] = 3; info->num_sprites[pipe] = 3;
else if (IS_BROXTON(dev_priv)) { 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_A] = 2;
info->num_sprites[PIPE_B] = 2; info->num_sprites[PIPE_B] = 2;
info->num_sprites[PIPE_C] = 1; info->num_sprites[PIPE_C] = 1;
......
...@@ -122,6 +122,9 @@ enum plane_id { ...@@ -122,6 +122,9 @@ enum plane_id {
PLANE_SPRITE0, PLANE_SPRITE0,
PLANE_SPRITE1, PLANE_SPRITE1,
PLANE_SPRITE2, PLANE_SPRITE2,
PLANE_SPRITE3,
PLANE_SPRITE4,
PLANE_SPRITE5,
PLANE_CURSOR, PLANE_CURSOR,
I915_MAX_PLANES, I915_MAX_PLANES,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment