From: Ville Syrjälä Date: Fri, 10 Apr 2026 15:04:47 +0000 (+0300) Subject: drm/i915: Reject X/Y tiled BIOS FB if we don't have fenced regions X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=a05eda6f64f88c215d75e68e904d2d9cef3b87db;p=thirdparty%2Fkernel%2Flinux.git drm/i915: Reject X/Y tiled BIOS FB if we don't have fenced regions The CPU always needs linear view into the BIOS FB, and for X/Y tiled buffers that is achieved by the use of a fenced region. If the underlying driver doesn't support fenced regions then we can't keep the X/Y tiled BIOS FB. i915 has fenced regions, xe does not. Probably not a big deal since I don't think we've seen tiled BIOS FBs outside of some MacBooks. See eg. commit d9a515867bdb ("drm/i915/gen9+: Fix initial readout for Y tiled framebuffers"). Signed-off-by: Ville Syrjälä Link: https://patch.msgid.link/20260410150449.9699-9-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 5a5adf738d4a9..55b6cdded1266 100644 --- a/drivers/gpu/drm/i915/display/intel_initial_plane.c +++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c @@ -79,9 +79,13 @@ intel_alloc_initial_plane_obj(struct intel_display *display, switch (fb->modifier) { case DRM_FORMAT_MOD_LINEAR: + break; case I915_FORMAT_MOD_X_TILED: case I915_FORMAT_MOD_Y_TILED: - break; + /* fenced region needed for linear CPU access to tiled FB */ + if (intel_parent_has_fenced_regions(display)) + break; + fallthrough; default: drm_dbg_kms(display->drm, "Unsupported modifier for initial FB: 0x%llx\n", fb->modifier);