• Dave Airlie's avatar
    fbdev: add support for handoff from firmware to hw framebuffers · 4410f391
    Dave Airlie authored
    With KMS we have ran into an issue where we really want the KMS fb driver
    to be the one running the console, so panics etc can be shown by switching
    out of X etc.
    
    However with vesafb/efifb built-in, we end up with those on fb0 and the
    KMS fb driver on fb1, driving the same piece of hw, so this adds an fb
    info flag to denote a firmware fbdev, and adds a new aperture base/size
    range which can be compared when the hw drivers are installed to see if
    there is a conflict with a firmware driver, and if there is the firmware
    driver is unregistered and the hw driver takes over.
    
    It uses new aperture_base/size members instead of comparing on the fix
    smem_start/length, as smem_start/length might for example only cover the
    first 1MB of the PCI aperture, and we could allocate the kms fb from 8MB
    into the aperture, thus they would never overlap.
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Acked-by: default avatarPeter Jones <pjones@redhat.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4410f391
efifb.c 12.5 KB