On Wed, 23 Apr 2014, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > On Wed, Apr 23, 2014 at 08:54:31AM +0100, Chris Wilson wrote: >> If the inherited BIOS framebuffer is smaller than the mode selected for >> fbdev, then if we continue to use it then we cause display corruption as >> we do not setup the panel fitter to upscale. >> >> Regression from commit d978ef14456a38034f6c0e94a794129501f89200 >> Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> >> Date: Fri Mar 7 08:57:51 2014 -0800 >> >> drm/i915: Wrap the preallocated BIOS framebuffer and preserve for KMS fbcon v12 >> >> v2: Add a debug message to track the discard of the BIOS fb. >> v3: Ville pointed out the difference between ref/unref >> >> Reported-by: Knut Petersen <Knut_Petersen@xxxxxxxxxxx> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77767 >> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> >> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> >> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Pushed to -fixes, thanks for the patch and review. BR, Jani. > >> --- >> drivers/gpu/drm/i915/intel_fbdev.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c >> index b16116db6c37..fbe7941f88c8 100644 >> --- a/drivers/gpu/drm/i915/intel_fbdev.c >> +++ b/drivers/gpu/drm/i915/intel_fbdev.c >> @@ -133,6 +133,16 @@ static int intelfb_create(struct drm_fb_helper *helper, >> >> mutex_lock(&dev->struct_mutex); >> >> + if (intel_fb && >> + (sizes->fb_width > intel_fb->base.width || >> + sizes->fb_height > intel_fb->base.height)) { >> + DRM_DEBUG_KMS("BIOS fb too small (%dx%d), we require (%dx%d)," >> + " releasing it\n", >> + intel_fb->base.width, intel_fb->base.height, >> + sizes->fb_width, sizes->fb_height); >> + drm_framebuffer_unreference(&intel_fb->base); >> + intel_fb = ifbdev->fb = NULL; >> + } >> if (!intel_fb || WARN_ON(!intel_fb->obj)) { >> DRM_DEBUG_KMS("no BIOS fb, allocating a new one\n"); >> ret = intelfb_alloc(helper, sizes); >> -- >> 1.9.2 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx