]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915: Completely reject DPT BIOS FBs.
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 10 Apr 2026 15:04:48 +0000 (18:04 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 15 Apr 2026 09:38:28 +0000 (12:38 +0300)
Our BIOS FB handling can't deal with DPT, and instead everything
just assumes a direct GGTT mapping. Reject any BIOS FB using DPT.
Most likely this should never happen anyway.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260410150449.9699-10-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_initial_plane.c
drivers/gpu/drm/i915/display/skl_universal_plane.c

index 55b6cdded12664b11a64d266b65f71c3861dd53a..e3d1b2d1669c8c8869c1aaf9e994ed5798096e97 100644 (file)
@@ -92,6 +92,15 @@ intel_alloc_initial_plane_obj(struct intel_display *display,
                return NULL;
        }
 
+       /*
+        * Would need to preserve the DPT, its GGTT
+        * mapping, and the actual FB memory.
+        */
+       if (intel_fb_modifier_uses_dpt(display, fb->modifier)) {
+               drm_dbg_kms(display->drm, "DPT not supported for initial FB\n");
+               return NULL;
+       }
+
        return display->parent->initial_plane->alloc_obj(display->drm, plane_config);
 }
 
index 00c863e378a1ff33555e9af9a161eae282d230f6..5aef8123d8b8fef674963ae9283f31988dcd8f33 100644 (file)
@@ -3148,12 +3148,6 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
 
        fb->format = drm_get_format_info(display->drm, fourcc, fb->modifier);
 
-       if (!display->params.enable_dpt &&
-           intel_fb_modifier_uses_dpt(display, fb->modifier)) {
-               drm_dbg_kms(display->drm, "DPT disabled, skipping initial FB\n");
-               goto error;
-       }
-
        /*
         * DRM_MODE_ROTATE_ is counter clockwise to stay compatible with Xrandr
         * while i915 HW rotation is clockwise, that's why this swapping.