[Intel-gfx] [PATCH - v3] drm/i915: Discard large BIOS framebuffers causing display corruption.

Ashish Arora ashisharora.linux at outlook.com
Tue Jan 11 07:55:22 UTC 2022


From: Ashish Arora <ashisharora.linux at outlook.com>

On certain 4k panels and Macs, the BIOS framebuffer is larger than what
panel requires causing display corruption. Introduce a check for the same.


Signed-off-by: Ashish Arora <ashisharora.linux at outlook.com>
Reviewed-by: Aun-Ali Zaidi <admin at kodeit.net>
---
V2 :- Use != instead of < and >
V3 :- Mention Macs (Thanks to Orlando)
 drivers/gpu/drm/i915/display/intel_fbdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
index 842c04e63..16b1c82b2 100644
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -181,10 +181,10 @@ static int intelfb_create(struct drm_fb_helper *helper,
 	int ret;
 
 	if (intel_fb &&
-	    (sizes->fb_width > intel_fb->base.width ||
-	     sizes->fb_height > intel_fb->base.height)) {
+	    (sizes->fb_width != intel_fb->base.width ||
+	     sizes->fb_height != intel_fb->base.height)) {
 		drm_dbg_kms(&dev_priv->drm,
-			    "BIOS fb too small (%dx%d), we require (%dx%d),"
+			    "BIOS fb not valid (%dx%d), we require (%dx%d),"
 			    " releasing it\n",
 			    intel_fb->base.width, intel_fb->base.height,
 			    sizes->fb_width, sizes->fb_height);
-- 
2.25.1




More information about the Intel-gfx mailing list