• Ville Syrjälä's avatar
    drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done · 6e1b4fda
    Ville Syrjälä authored
    When transitioning away from vgacon the system tries to save the
    current contents of the VGA memory, so that it can be cleanly handed
    off to fbcon (or whatever comes afterwards).
    
    The recent change
    
     commit 81b5c7bc
     Author: Alex Williamson <alex.williamson@redhat.com>
     Date:   Wed Aug 28 09:39:08 2013 -0600
    
        i915: Update VGA arbiter support for newer devices
    
    caused i915 to disable VGA memory decode for the IGD when i915 is
    initializing. Unfortunately that happens before the vgacon->fbcon
    handoff so vgacon_save_screen() will read out all ones from the
    VGA memory.
    
    After the handoff fbcon will inherit the bogus state from vgacon,
    and pre-fills the fb with matching contents. The end result is
    a white rectangle in the top left corner of the screen, the size
    of which matches the now inactive VGA console.
    
    To remedy the situation delay the disabling of VGA memory until
    the vgacon->fbcon handoff has happened.
    
    Also rename i915_enable_vga to i915_enable_vga_mem to make
    the relationship between these functions clearer.
    
    Cc: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    6e1b4fda
intel_drv.h 27.8 KB