From: Ville Syrjälä <ville.syrj...@linux.intel.com>

We're currently not providing the possible_crtcs mask to
drm_universal_plane_init() for primary/cursor planes. While that does
work on account of drm_crtc_init_with_planes() filling those up
for us, it's inconsisten with what we're doing for sprite planes.

Let's just always pass the possible_crtcs bitmask to
drm_universal_plane_init(). This does assume that crtc->index
== pipe. But we're already making that assumption elsewhere so
it doesn't seem like a very big sin here.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++----
 drivers/gpu/drm/i915/intel_sprite.c  |  2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index f28c0bef89d1..132640258491 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13263,6 +13263,7 @@ intel_primary_plane_create(struct drm_i915_private 
*dev_priv, enum pipe pipe)
        struct intel_plane_state *state = NULL;
        const uint32_t *intel_primary_formats;
        unsigned int supported_rotations;
+       unsigned int possible_crtcs;
        unsigned int num_formats;
        const uint64_t *modifiers;
        int ret;
@@ -13345,23 +13346,25 @@ intel_primary_plane_create(struct drm_i915_private 
*dev_priv, enum pipe pipe)
                primary->get_hw_state = i9xx_plane_get_hw_state;
        }
 
+       possible_crtcs = BIT(pipe);
+
        if (INTEL_GEN(dev_priv) >= 9)
                ret = drm_universal_plane_init(&dev_priv->drm, &primary->base,
-                                              0, &intel_plane_funcs,
+                                              possible_crtcs, 
&intel_plane_funcs,
                                               intel_primary_formats, 
num_formats,
                                               modifiers,
                                               DRM_PLANE_TYPE_PRIMARY,
                                               "plane 1%c", pipe_name(pipe));
        else if (INTEL_GEN(dev_priv) >= 5 || IS_G4X(dev_priv))
                ret = drm_universal_plane_init(&dev_priv->drm, &primary->base,
-                                              0, &intel_plane_funcs,
+                                              possible_crtcs, 
&intel_plane_funcs,
                                               intel_primary_formats, 
num_formats,
                                               modifiers,
                                               DRM_PLANE_TYPE_PRIMARY,
                                               "primary %c", pipe_name(pipe));
        else
                ret = drm_universal_plane_init(&dev_priv->drm, &primary->base,
-                                              0, &intel_plane_funcs,
+                                              possible_crtcs, 
&intel_plane_funcs,
                                               intel_primary_formats, 
num_formats,
                                               modifiers,
                                               DRM_PLANE_TYPE_PRIMARY,
@@ -13421,6 +13424,7 @@ intel_cursor_plane_create(struct drm_i915_private 
*dev_priv,
 {
        struct intel_plane *cursor = NULL;
        struct intel_plane_state *state = NULL;
+       unsigned int possible_crtcs;
        int ret;
 
        cursor = kzalloc(sizeof(*cursor), GFP_KERNEL);
@@ -13462,8 +13466,10 @@ intel_cursor_plane_create(struct drm_i915_private 
*dev_priv,
        if (IS_I845G(dev_priv) || IS_I865G(dev_priv) || HAS_CUR_FBC(dev_priv))
                cursor->cursor.size = ~0;
 
+       possible_crtcs = BIT(pipe);
+
        ret = drm_universal_plane_init(&dev_priv->drm, &cursor->base,
-                                      0, &intel_cursor_plane_funcs,
+                                      possible_crtcs, 
&intel_cursor_plane_funcs,
                                       intel_cursor_formats,
                                       ARRAY_SIZE(intel_cursor_formats),
                                       cursor_format_modifiers,
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index d9954e440396..73e39083429f 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1512,7 +1512,7 @@ intel_sprite_plane_create(struct drm_i915_private 
*dev_priv,
        intel_plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, intel_plane->id);
        intel_plane->check_plane = intel_check_sprite_plane;
 
-       possible_crtcs = (1 << pipe);
+       possible_crtcs = BIT(pipe);
 
        if (INTEL_GEN(dev_priv) >= 9)
                ret = drm_universal_plane_init(&dev_priv->drm, 
&intel_plane->base,
-- 
2.16.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to