Re: [PATCH 08/10] drm/i915: Reject X/Y tiled BIOS FB if we don't have fenced regions

Jani Nikula
2026-04-10T15:56:58Z

On Fri, 10 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> 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ä <ville.syrjala@linux.intel.com>

I'll mostly take your word for it.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
> drivers/gpu/drm/i915/display/intel_initial_plane.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
> index 5a5adf738d4a..55b6cdded126 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);

--
Jani Nikula, Intel