]> Gentwo Git Trees - linux/.git/commitdiff
drm/i915: Populate fb->format accurately in BIOS FB readout
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Nov 2025 18:11:20 +0000 (20:11 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 12 Nov 2025 20:58:46 +0000 (22:58 +0200)
Use drm_get_format_info() instead of drm_format_info() to populate
fb->format during the BIOS FB readout. The difference being that
drm_get_format_info() knows about compressed formats whereas
drm_format_info() doesn't.

This doesn't actually matter in practice since the BIOS FB should
never be compressed, but no reason we shouldn't use the more accurate
function here anyway.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251107181126.5743-4-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/i9xx_plane.c
drivers/gpu/drm/i915/display/skl_universal_plane.c

index b962d9f78b2cbe0ddd3158167c072670c34e2419..559207b23dc3af9b896ffa3913a9ef8648b0d474 100644 (file)
@@ -1203,7 +1203,8 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
 
        pixel_format = val & DISP_FORMAT_MASK;
        fourcc = i9xx_format_to_fourcc(pixel_format);
-       fb->format = drm_format_info(fourcc);
+
+       fb->format = drm_get_format_info(display->drm, fourcc, fb->modifier);
 
        if (display->platform.haswell || display->platform.broadwell) {
                offset = intel_de_read(display,
index 0823ab38d1b7bfa1bf3d61698d1de9d8bd478151..7b17d1024502a0e3649459c643ddcbba94ddab23 100644 (file)
@@ -3083,7 +3083,6 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
 
        fourcc = skl_format_to_fourcc(pixel_format,
                                      val & PLANE_CTL_ORDER_RGBX, alpha);
-       fb->format = drm_format_info(fourcc);
 
        tiling = val & PLANE_CTL_TILED_MASK;
        switch (tiling) {
@@ -3136,6 +3135,8 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
                goto error;
        }
 
+       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");