]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/fbdev: Select linear modifier explicitly
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 Oct 2025 14:57:32 +0000 (17:57 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Oct 2025 18:03:03 +0000 (21:03 +0300)
Currently we use the implicit modifier fb creation path for fbdev,
but as we never call set_tiling on the bo it will always end up as
linear anyway. The rest of the code (eg. stride alignment) also
assumes that we'll use linear. Just select the linear modifier
explicitly.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251003145734.7634-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_fbdev.c

index 3fbdf75415cc41e515c9618aa9a99744678ca620..51d3d87caf43a346788e914d693f0fe2a71e071b 100644 (file)
@@ -214,12 +214,14 @@ static void intel_fbdev_fill_mode_cmd(struct drm_fb_helper_surface_size *sizes,
        if (sizes->surface_bpp == 24)
                sizes->surface_bpp = 32;
 
+       mode_cmd->flags = DRM_MODE_FB_MODIFIERS;
        mode_cmd->width = sizes->surface_width;
        mode_cmd->height = sizes->surface_height;
 
        mode_cmd->pitches[0] = ALIGN(mode_cmd->width * DIV_ROUND_UP(sizes->surface_bpp, 8), 64);
        mode_cmd->pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
                                                           sizes->surface_depth);
+       mode_cmd->modifier[0] = DRM_FORMAT_MOD_LINEAR;
 }
 
 static struct intel_framebuffer *