From: Ville Syrjälä <[email protected]>

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ä <[email protected]>
---
 drivers/gpu/drm/i915/display/i9xx_plane.c          | 3 ++-
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c 
b/drivers/gpu/drm/i915/display/i9xx_plane.c
index b962d9f78b2c..559207b23dc3 100644
--- a/drivers/gpu/drm/i915/display/i9xx_plane.c
+++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
@@ -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,
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c 
b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 0823ab38d1b7..7b17d1024502 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -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");
-- 
2.49.1

Reply via email to