03 Mar, 2010

5 commits

  • This makes the COH 901 318 respect the scatter offset field by using
    the sg_phys() rather than the sg_dma_address() so we get a pointer
    to the actual data we want to send rather than the beginning of the
    buffer. Also initialize the lli:s a bit more thoroughly.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     
  • This makes the COH 901 318 configure channel direction (to or from
    device) dynamically, instead of being passed in from the platform
    data. This was necessary in order to get the MMC/SD-card channel
    bidirectional (all other channels on the U300 were either RX or
    TX but this one was both). This also sets memcpy() alignent to
    even 2^2 (32bit) boundaries, which makes the memcpy() stress tests
    start working.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     
  • This removes the pointless irq counting for the COH 901 318, as
    it turns out the hardware will only ever fire one IRQ for a linked
    list anyway. In the process also a missing spinlock was introduced.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     
  • This centralize some spread-out initialization of descriptors into
    one function and cleans up the error paths.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     
  • This cleans up the some debug code that was not working in the
    COH 901 318 driver, adds some helpful comments and rearrange the
    code a bit.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     

11 Feb, 2010

2 commits

  • cohd_fin has already been verified not to be NULL, so the argument to
    BUG_ON cannot be true.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r@
    expression *x;
    expression e;
    identifier l;
    @@

    if (x == NULL || ...) {
    ... when forall
    return ...; }
    ... when != goto l;
    when != x = e
    when != &x
    *x == NULL
    //

    Signed-off-by: Julia Lawall
    Acked-by: Linus Walleij
    Signed-off-by: Dan Williams

    Julia Lawall
     
  • If submitting new buffer failed, a wrong descriptor gets completed and it
    doesn't check, if a callback is at all defined, which can lead to an Oops. Fix
    these bugs and make ipu_update_channel_buffer() void, because it never fails.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Dan Williams

    Guennadi Liakhovetski
     

06 Feb, 2010

1 commit


03 Feb, 2010

2 commits


30 Jan, 2010

8 commits

  • Linus Torvalds
     
  • asic3 also needs tmio_core or otherwise will fail to build.

    Signed-off-by: Dmitry Artamonow
    Signed-off-by: Samuel Ortiz

    Dmitry Artamonow
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: update multi-touch protocol documentation
    Input: add the ABS_MT_PRESSURE event
    Input: winbond-cir - remove dmesg spam
    Input: lifebook - add another Lifebook DMI signature
    Input: ad7879 - support auxiliary GPIOs via gpiolib

    Linus Torvalds
     
  • After memory pressure has forced it to dip into the reserves, 2.6.32's
    5f8dcc21211a3d4e3a7a5ca366b469fb88117f61 "page-allocator: split per-cpu
    list into one-list-per-migrate-type" has been returning MIGRATE_RESERVE
    pages to the MIGRATE_MOVABLE free_list: in some sense depleting reserves.

    Fix that in the most straightforward way (which, considering the overheads
    of alternative approaches, is Mel's preference): the right migratetype is
    already in page_private(page), but free_pcppages_bulk() wasn't using it.

    How did this bug show up? As a 20% slowdown in my tmpfs loop kbuild
    swapping tests, on PowerMac G5 with SLUB allocator. Bisecting to that
    commit was easy, but explaining the magnitude of the slowdown not easy.

    The same effect appears, but much less markedly, with SLAB, and even
    less markedly on other machines (the PowerMac divides into fewer zones
    than x86, I think that may be a factor). We guess that lumpy reclaim
    of short-lived high-order pages is implicated in some way, and probably
    this bug has been tickling a poor decision somewhere in page reclaim.

    But instrumentation hasn't told me much, I've run out of time and
    imagination to determine exactly what's going on, and shouldn't hold up
    the fix any longer: it's valid, and might even fix other misbehaviours.

    Signed-off-by: Hugh Dickins
    Acked-by: Mel Gorman
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: check total number of devices when removing missing
    Btrfs: check return value of open_bdev_exclusive properly
    Btrfs: do not mark the chunk as readonly if in degraded mode
    Btrfs: run orphan cleanup on default fs root
    Btrfs: fix a memory leak in btrfs_init_acl
    Btrfs: Use correct values when updating inode i_size on fallocate
    Btrfs: remove tree_search() in extent_map.c
    Btrfs: Add mount -o compress-force

    Linus Torvalds
     
  • Here are the sparc bits to remove TIF_ABI_PENDING now that
    set_personality() is called at the appropriate place in exec.

    Signed-off-by: David S. Miller
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    David Miller
     
  • Now that the previous commit made it possible to do the personality
    setting at the point of no return, we do just that for ELF binaries.
    And suddenly all the reasons for that insane TIF_ABI_PENDING bit go
    away, and we can just make SET_PERSONALITY() just do the obvious thing
    for a 32-bit compat process.

    Everything becomes much more straightforward this way.

    Signed-off-by: H. Peter Anvin
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    H. Peter Anvin
     
  • 'flush_old_exec()' is the point of no return when doing an execve(), and
    it is pretty badly misnamed. It doesn't just flush the old executable
    environment, it also starts up the new one.

    Which is very inconvenient for things like setting up the new
    personality, because we want the new personality to affect the starting
    of the new environment, but at the same time we do _not_ want the new
    personality to take effect if flushing the old one fails.

    As a result, the x86-64 '32-bit' personality is actually done using this
    insane "I'm going to change the ABI, but I haven't done it yet" bit
    (TIF_ABI_PENDING), with SET_PERSONALITY() not actually setting the
    personality, but just the "pending" bit, so that "flush_thread()" can do
    the actual personality magic.

    This patch in no way changes any of that insanity, but it does split the
    'flush_old_exec()' function up into a preparatory part that can fail
    (still called flush_old_exec()), and a new part that will actually set
    up the new exec environment (setup_new_exec()). All callers are changed
    to trivially comply with the new world order.

    Signed-off-by: H. Peter Anvin
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

29 Jan, 2010

20 commits


28 Jan, 2010

2 commits

  • There are many many ways one can capitalize "Lifebook B Series"...

    Signed-off-by: Jon Dodgson
    Signed-off-by: Dmitry Torokhov

    Jon Dodgson
     
  • The MIPS processor is limited to 64 external interrupt sources. Using a
    greater number without IRQ sharing requires reading platform-specific
    registers. On such platforms, reading the IntCtl register to determine
    which interrupt corresponds to a timer interrupt will not work.

    On MIPSR2 systems there is a solution - the TI bit in the Cause register,
    specifically indicates that a timer interrupt has occured. This patch uses
    that bit to detect interrupts for MIPSR2 processors, which may be expected
    to work regardless of how the timer interrupt may be routed in the hardware.

    Signed-off-by: David VomLehn (dvomlehn@cisco.com)
    To: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/804/
    Signed-off-by: Ralf Baechle

    David VomLehn