From: Ville Syrjälä Date: Fri, 10 Apr 2026 15:04:48 +0000 (+0300) Subject: drm/i915: Completely reject DPT BIOS FBs. X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=9af46eb338ca408cf72803483ca06b91e0f67746;p=thirdparty%2Fkernel%2Flinux.git drm/i915: Completely reject DPT BIOS FBs. 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ä Link: https://patch.msgid.link/20260410150449.9699-10-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula --- diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c index 55b6cdded126..e3d1b2d1669c 100644 --- a/drivers/gpu/drm/i915/display/intel_initial_plane.c +++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c @@ -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); } diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c index 00c863e378a1..5aef8123d8b8 100644 --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c @@ -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.