From 155bb242ee7f4e177386fbdec565db6d4a173d5e Mon Sep 17 00:00:00 2001 From: Aun-Ali Zaidi Date: Wed, 16 Sep 2020 18:31:10 -0500 Subject: [PATCH] drm/i915/fbdev: Discard BIOS framebuffers exceeding hardware supported size On certain devices with high-DPI panels, the BIOS supplied framebuffer is larger than what is physically supported by the panel, resulting in overscan. A previous check introduced with edd586fe ("drm/i915: Discard BIOS framebuffers too small to accommodate chosen mode"), handles the lower bound case. We extend that check to include the upper bound case. Signed-off-by: Aun-Ali Zaidi --- drivers/gpu/drm/i915/display/intel_fbdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c index bd39eb6a21b8..1949526cbe20 100644 --- a/drivers/gpu/drm/i915/display/intel_fbdev.c +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c @@ -181,10 +181,12 @@ 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) || + (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 invalid size (%dx%d), we require (%dx%d)," " releasing it\n", intel_fb->base.width, intel_fb->base.height, sizes->fb_width, sizes->fb_height); -- 2.28.0