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ä <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>
This commit is contained in:
Ville Syrjälä 2026-04-10 18:04:48 +03:00
parent a05eda6f64
commit 9af46eb338
2 changed files with 9 additions and 6 deletions

View 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);
}

View 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.