Move the modifier checks into common code to deduplicate.

Signed-off-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_initial_plane.c | 14 ++++++++++++++
 drivers/gpu/drm/i915/i915_initial_plane.c          | 13 -------------
 drivers/gpu/drm/xe/display/xe_initial_plane.c      | 13 -------------
 3 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c 
b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index cbfcc52f180f..e45d2f4e80ad 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: MIT
 /* Copyright © 2025 Intel Corporation */
 
+#include <drm/drm_print.h>
 #include <drm/intel/display_parent_interface.h>
 
 #include "intel_display_core.h"
@@ -47,6 +48,19 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
                              struct intel_initial_plane_config *plane_config)
 {
        struct intel_display *display = to_intel_display(crtc);
+       struct intel_framebuffer *fb = plane_config->fb;
+
+       switch (fb->base.modifier) {
+       case DRM_FORMAT_MOD_LINEAR:
+       case I915_FORMAT_MOD_X_TILED:
+       case I915_FORMAT_MOD_Y_TILED:
+       case I915_FORMAT_MOD_4_TILED:
+               break;
+       default:
+               drm_dbg_kms(display->drm, "Unsupported modifier for initial FB: 
0x%llx\n",
+                           fb->base.modifier);
+               return NULL;
+       }
 
        return display->parent->initial_plane->alloc_obj(&crtc->base, 
plane_config);
 }
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c 
b/drivers/gpu/drm/i915/i915_initial_plane.c
index 0117f9e115d1..5f7dfe7c6d42 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -240,19 +240,6 @@ i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
        struct drm_framebuffer *fb = &plane_config->fb->base;
        struct i915_vma *vma;
 
-       switch (fb->modifier) {
-       case DRM_FORMAT_MOD_LINEAR:
-       case I915_FORMAT_MOD_X_TILED:
-       case I915_FORMAT_MOD_Y_TILED:
-       case I915_FORMAT_MOD_4_TILED:
-               break;
-       default:
-               drm_dbg(display->drm,
-                       "Unsupported modifier for initial FB: 0x%llx\n",
-                       fb->modifier);
-               return NULL;
-       }
-
        vma = initial_plane_vma(display, plane_config);
        if (!vma)
                return NULL;
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c 
b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 2ce0f78cd7b1..e819175d5946 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -134,19 +134,6 @@ xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
        struct drm_framebuffer *fb = &plane_config->fb->base;
        struct xe_bo *bo;
 
-       switch (fb->modifier) {
-       case DRM_FORMAT_MOD_LINEAR:
-       case I915_FORMAT_MOD_X_TILED:
-       case I915_FORMAT_MOD_Y_TILED:
-       case I915_FORMAT_MOD_4_TILED:
-               break;
-       default:
-               drm_dbg_kms(&xe->drm,
-                           "Unsupported modifier for initial FB: 0x%llx\n",
-                           fb->modifier);
-               return NULL;
-       }
-
        mode_cmd.pixel_format = fb->format->format;
        mode_cmd.width = fb->width;
        mode_cmd.height = fb->height;
-- 
2.47.3

Reply via email to