03 Jan, 2012

3 commits

  • When using a >8bpp framebuffer, offb advertises truecolor, not directcolor,
    and doesn't touch the color map even if it has a corresponding access method
    for the real hardware.

    Thus it needs to set the pseudo-palette with all 3 components of the color,
    like other truecolor framebuffers, not with copies of the color index like
    a directcolor framebuffer would do.

    This went unnoticed for a long time because it's pretty hard to get offb
    to kick in with anything but 8bpp (old BootX under MacOS will do that and
    qemu does it).

    Signed-off-by: Benjamin Herrenschmidt
    CC: stable@kernel.org

    Benjamin Herrenschmidt
     
  • We rename the mach64 hack to "simple" since that's also applicable
    to anything using VGA-style DAC IO ports (set to 8-bit DAC) and we
    use it for qemu vga.

    Note that this is keyed on a device-tree "compatible" property that
    is currently only set by an upcoming version of SLOF when using the
    qemu "pseries" platform. This is on purpose as other qemu ppc platforms
    using OpenBIOS aren't properly setting the DAC to 8-bit at the time of
    the writing of this patch.

    We can fix OpenBIOS later to do that and add the required property, in
    which case it will be matched by this change.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • We used to try to request 8 times more vram than needed, which would
    fail if the card has a too small BAR (observed with qemu & kvm).

    Signed-off-by: Benjamin Herrenschmidt
    CC: stable@kernel.org

    Benjamin Herrenschmidt
     

01 Aug, 2010

1 commit

  • This patch moves the declaration of of_get_address(), of_get_pci_address(),
    and of_pci_address_to_resource() out of arch code and into the common
    linux/of_address header file.

    This patch also fixes some of the asm/prom.h ordering issues. It still
    includes some header files that it ideally shouldn't be, but at least the
    ordering is consistent now so that of_* overrides work.

    Signed-off-by: Grant Likely

    Grant Likely
     

18 May, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

09 Dec, 2009

1 commit


17 Jun, 2009

2 commits


22 Jul, 2008

1 commit

  • The offb driver already has a collection of hacks to be able to set
    the palette on various chips. This adds support for r5xx/r6xx radeons.

    This is needed as offb is the only console solution on these currently
    and the firmware in some cases sets a really bad color palette. This
    fixes using some Radeon X16xx on the Powerstation for example.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     

28 Apr, 2008

1 commit


18 Jul, 2007

1 commit


07 May, 2007

1 commit


02 May, 2007

1 commit


09 Dec, 2006

1 commit


01 Nov, 2006

1 commit

  • This patch fixes a few issues in offb:

    - A test was inverted causing the palette hack to never work
    (no device node was passed down to the init function)

    - Some cards seem to have their assigned-addresses property in a random
    order, thus we need to try using of_get_pci_address() first, which will
    fail if it's not a PCI device, and fallback to of_get_address() in that
    case. of_get_pci_address() properly parsees assigned-addresses to test
    the BAR number and thus will get it right whatever the order is.

    - Some cards (like GXT4500) provide a linebytes of 0xffffffff in the
    device-tree which does no good. This patch handles that by using the
    screen width when that happens. (Also fixes btext.c while at it).

    - Add detection of the GXT4500 in addition to the GXT2000 for the
    palette hacks (we use the same hack, palette is linear in register space
    at offset 0x6000).

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

01 Aug, 2006

1 commit


31 Jul, 2006

1 commit


25 Jul, 2006

1 commit

  • There were still some issues with offb when BootX doesn't provide a
    proper display node, this fixes them. This also re-instates the
    palette hacks that were disabled a couple of kernel versions ago when
    I converted to the new OF parsing, and shuffles some functions around
    to avoid prototypes.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

11 Jul, 2006

1 commit

  • MAX_NR_CONSOLES, fg_console, want_console and last_console are more of a
    function of the VT layer than the TTY one. Moving these to vt.h and vt_kern.h
    allows all of the framebuffer and VT console drivers to remove their
    dependency on tty.h.

    [akpm@osdl.org: fix alpha build]
    Signed-off-by: Jon Smirl
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jon Smirl
     

07 Jul, 2006

1 commit

  • There were still some issues with offb when BootX doesn't provide a
    proper display node, this fixes them. This also re-instates the
    palette hacks that were disabled a couple of kernel versions ago when
    I converted to the new OF parsing, and shuffles some functions around
    to avoid prototypes.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

03 Jul, 2006

1 commit


01 Jul, 2006

1 commit


09 Jan, 2006

1 commit

  • The pre-parsed addrs/n_addrs fields in struct device_node are finally
    gone. Remove the dodgy heuristics that did that parsing at boot and
    remove the fields themselves since we now have a good replacement with
    the new OF parsing code. This patch also fixes a bunch of drivers to use
    the new code instead, so that at least pmac32, pseries, iseries and g5
    defconfigs build.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

18 Nov, 2005

1 commit


17 Nov, 2005

1 commit


07 Nov, 2005

1 commit

  • According to Jon Smirl, filling in the field fb_cursor with soft_cursor for
    drivers that do not support hardware cursors is redundant. The soft_cursor
    function is usable by all drivers because it is just a wrapper around
    fb_imageblit. And because soft_cursor is an fbcon-specific hook, the file is
    moved to the console directory.

    Thus, drivers that do not support hardware cursors can leave the fb_cursor
    field blank. For drivers that do, they can fill up this field with their own
    version.

    The end result is a smaller code size. And if the framebuffer console is not
    loaded, module/kernel size is also reduced because the soft_cursor module will
    also not be loaded.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     

09 Sep, 2005

1 commit

  • This patch pulls the PCI-related junk out of struct device_node and
    puts it in a separate structure, struct pci_dn. The device_node now
    just has a void * pointer in it, which points to a struct pci_dn for
    nodes that represent PCI devices. It could potentially be used in
    future for device-specific data for other sorts of devices, such as
    virtual I/O devices.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds