[Intel-gfx] [PATCH 3/5] drm/i915: Add basic immutable zpos properties for all planes
Ville Syrjala
ville.syrjala at linux.intel.com
Tue May 29 18:28:02 UTC 2018
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Add an immutable zpos property for all planes. The normal order
is (bottom to top): primary,sprite(s),cursor.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 10 ++++++++--
drivers/gpu/drm/i915/intel_sprite.c | 5 ++++-
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8d4c9e249c44..bc3de1b5bb89 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13447,7 +13447,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
unsigned int supported_rotations;
unsigned int num_formats;
const uint64_t *modifiers;
- int ret;
+ int ret, zpos;
primary = kzalloc(sizeof(*primary), GFP_KERNEL);
if (!primary) {
@@ -13591,6 +13591,9 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
DRM_COLOR_YCBCR_BT709,
DRM_COLOR_YCBCR_LIMITED_RANGE);
+ zpos = 0;
+ drm_plane_create_zpos_immutable_property(&primary->base, zpos);
+
drm_plane_helper_add(&primary->base, &intel_plane_helper_funcs);
return primary;
@@ -13608,7 +13611,7 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv,
{
struct intel_plane *cursor = NULL;
struct intel_plane_state *state = NULL;
- int ret;
+ int ret, zpos;
cursor = kzalloc(sizeof(*cursor), GFP_KERNEL);
if (!cursor) {
@@ -13665,6 +13668,9 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv,
DRM_MODE_ROTATE_0 |
DRM_MODE_ROTATE_180);
+ zpos = INTEL_INFO(dev_priv)->num_sprites[pipe] + 1;
+ drm_plane_create_zpos_immutable_property(&cursor->base, zpos);
+
if (INTEL_GEN(dev_priv) >= 9)
state->scaler_id = -1;
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index f6be9b1b9c3a..a6f4524adff4 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1421,7 +1421,7 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
const uint64_t *modifiers;
unsigned int supported_rotations;
int num_plane_formats;
- int ret;
+ int ret, zpos;
intel_plane = kzalloc(sizeof(*intel_plane), GFP_KERNEL);
if (!intel_plane) {
@@ -1552,6 +1552,9 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
DRM_COLOR_YCBCR_BT709,
DRM_COLOR_YCBCR_LIMITED_RANGE);
+ zpos = plane + 1;
+ drm_plane_create_zpos_immutable_property(&intel_plane->base, zpos);
+
drm_plane_helper_add(&intel_plane->base, &intel_plane_helper_funcs);
return intel_plane;
--
2.16.1
More information about the Intel-gfx
mailing list