1. 07 Feb, 2013 2 commits
    • Dave Airlie's avatar
      fbcon: don't lose the console font across generic->chip driver switch · ae128786
      Dave Airlie authored
      If grub2 loads efifb/vesafb, then when systemd starts it can set the console
      font on that framebuffer device, however when we then load the native KMS
      driver, the first thing it does is tear down the generic framebuffer driver.
      
      The thing is the generic code is doing the right thing, it frees the font
      because otherwise it would leak memory. However we can assume that if you
      are removing the generic firmware driver (vesa/efi/offb), that a new driver
      *should* be loading soon after, so we effectively leak the font.
      
      However the old code left a dangling pointer in vc->vc_font.data and we
      can now reuse that dangling pointer to load the font into the new
      driver, now that we aren't freeing it.
      
      Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=892340
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ae128786
    • Dave Airlie's avatar
      vgacon/vt: clear buffer attributes when we load a 512 character font (v2) · 2a248307
      Dave Airlie authored
      When we switch from 256->512 byte font rendering mode, it means the
      current contents of the screen is being reinterpreted. The bit that holds
      the high bit of the 9-bit font, may have been previously set, and thus
      the new font misrenders.
      
      The problem case we see is grub2 writes spaces with the bit set, so it
      ends up with data like 0x820, which gets reinterpreted into 0x120 char
      which the font translates into G with a circumflex. This flashes up on
      screen at boot and is quite ugly.
      
      A current side effect of this patch though is that any rendering on the
      screen changes color to a slightly darker color, but at least the screen
      no longer corrupts.
      
      v2: as suggested by hpa, always clear the attribute space, whether we
      are are going to or from 512 chars.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2a248307
  2. 05 Feb, 2013 17 commits
  3. 04 Feb, 2013 12 commits
  4. 03 Feb, 2013 1 commit
  5. 02 Feb, 2013 4 commits
  6. 01 Feb, 2013 4 commits