1. 07 Feb, 2013 4 commits
    • Dave Airlie's avatar
      drm/udl: make usage as a console safer · bcb39af4
      Dave Airlie authored
      Okay you don't really want to use udl devices as your console, but if
      you are unlucky enough to do so, you run into a lot of schedule while atomic
      due to printk being called from all sorts of funky places. So check if we
      are in an atomic context, and queue the damage for later, the next printk
      should cause it to appear. This isn't ideal, but it is simple, and seems to
      work okay in my testing here.
      
      (dirty area idea came from xenfb)
      
      fixes a bunch of sleeping while atomic issues running fbcon on udl devices.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bcb39af4
    • Dave Airlie's avatar
      drm/usb: bind driver to correct device · 9f23de52
      Dave Airlie authored
      While looking at plymouth on udl I noticed that plymouth was trying
      to use its fb plugin not its drm one, it was trying to drmOpen a driver called
      usb not udl, noticed that we actually had out driver pointing at the wrong
      device.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      9f23de52
    • 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 2 commits