]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 5 Sep 2013 17:40:52 +0000 (20:40 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 6 Sep 2013 21:27:03 +0000 (23:27 +0200)
commit6e06d463fd0a2e0049b86cbbd6d89a81919d46d3
tree9b217d89a73fed7d314edef15005a5eda525e00d
parent67887cd564f45e0657028867868a6f897cd43bac
drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done

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 11585f6b3db7705e0764a7c6e37c00ff5fa9ae97
 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: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h