29 Jan, 2008

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits)
    [IPV6] ADDRLABEL: Fix double free on label deletion.
    [PPP]: Sparse warning fixes.
    [IPV4] fib_trie: remove unneeded NULL check
    [IPV4] fib_trie: More whitespace cleanup.
    [NET_SCHED]: Use nla_policy for attribute validation in ematches
    [NET_SCHED]: Use nla_policy for attribute validation in actions
    [NET_SCHED]: Use nla_policy for attribute validation in classifiers
    [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
    [NET_SCHED]: sch_api: introduce constant for rate table size
    [NET_SCHED]: Use typeful attribute parsing helpers
    [NET_SCHED]: Use typeful attribute construction helpers
    [NET_SCHED]: Use NLA_PUT_STRING for string dumping
    [NET_SCHED]: Use nla_nest_start/nla_nest_end
    [NET_SCHED]: Propagate nla_parse return value
    [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get
    [NET_SCHED]: act_api: use nlmsg_parse
    [NET_SCHED]: act_api: fix netlink API conversion bug
    [NET_SCHED]: sch_netem: use nla_parse_nested_compat
    [NET_SCHED]: sch_atm: fix format string warning
    [NETNS]: Add namespace for ICMP replying code.
    ...

    Linus Torvalds
     
  • This function is used by the ext4 multi block allocator patches.

    Also add generic_find_next_le_bit

    Signed-off-by: Aneesh Kumar K.V
    Cc:
    Signed-off-by: Andrew Morton

    Aneesh Kumar K.V
     
  • pasemi: DMA engine management library

    Introduce a DMA management library to manage the various DMA resources
    on the PA Semi SoCs. Since several drivers need to allocate these shared
    resources, provide some abstractions as well as allocation/free functions
    for channels, etc.

    Signed-off-by: Olof Johansson
    Signed-off-by: Jeff Garzik

    Olof Johansson
     
  • pasemi_mac: Move register definitions to include/asm-powerpc

    Move the common register formats and descriptor layouts from
    drivers/net/pasemi_mac.h to include/asm-poewrpc/pasemi_dma.h

    Previously only the ethernet driver was using them, but other drivers
    are coming up that will also use them, so it makes sense to share the
    constants.

    Signed-off-by: Olof Johansson
    Signed-off-by: Jeff Garzik

    Olof Johansson
     

26 Jan, 2008

1 commit

  • Remove stale ide.h "configuration options":

    * INITIAL_MULT_COUNT - always defined to 0

    * SUPPORT_SLOW_DATA_PORTS - unused

    * OK_TO_RESET_CONTROLLER - always defined to 1

    * DISABLE_IRQ_NOSYNC - always defined to 0

    Leave SUPPORT_VLB_SYNC (defined to 0 for CRIS and FRV, otherwise to 1)
    for now but disallow overriding it by .

    There should be no functionality changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

15 Jan, 2008

1 commit

  • Commit 473980a99316c0e788bca50996375a2815124ce1 added a call to clear
    the SLB shadow buffer before registering it. Unfortunately this means
    that we clear out the entries that slb_initialize has previously set in
    there. On POWER6, the hypervisor uses the SLB shadow buffer when doing
    partition switches, and that means that after the next partition switch,
    each non-boot CPU has no SLB entries to map the kernel text and data,
    which causes it to crash.

    This fixes it by reverting most of 473980a9 and instead clearing the
    3rd entry explicitly in slb_initialize. This fixes the problem that
    473980a9 was trying to solve, but without breaking POWER6.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

11 Jan, 2008

1 commit

  • Before we register the SLB shadow buffer, we need to invalidate the
    entries in the buffer, otherwise we can end up stale entries from when
    we previously offlined the CPU.

    This does this invalidate as well as unregistering the buffer with
    PHYP before we offline the cpu. Tested and fixes crashes seen on
    970MP (thanks to tonyb) and POWER5.

    Signed-off-by: Michael Neuling
    Signed-off-by: Paul Mackerras

    Michael Neuling
     

28 Dec, 2007

1 commit

  • This removes an OProfile dependency on the spufs module. This
    dependency was causing a problem for multiplatform systems that are
    built with support for Oprofile on Cell but try to load the oprofile
    module on a non-Cell system.

    Signed-off-by: Bob Nelson
    Signed-off-by: Arnd Bergmann
    Acked-by: Jeremy Kerr
    Signed-off-by: Paul Mackerras

    Bob Nelson
     

14 Dec, 2007

1 commit

  • Remove exports of __res and cpm_install_handler/cpm_free_handler. Remove
    cpm_install_handler/cpm_free_handler from the commproc.h as well. Both
    were used for ARCH=ppc and aren't defined for ARCH=powerpc.

    CC arch/powerpc/kernel/ppc_ksyms.o
    arch/powerpc/kernel/ppc_ksyms.c:180: error: '__res' undeclared here (not in a function)
    arch/powerpc/kernel/ppc_ksyms.c:180: warning: type defaults to 'int' in declaration of '__res'
    make[1]: *** [arch/powerpc/kernel/ppc_ksyms.o] Error 1
    make: *** [arch/powerpc/kernel] Error 2

    LD .tmp_vmlinux1
    arch/powerpc/kernel/built-in.o:(__ksymtab+0x198): undefined reference to `cpm_free_handler'
    arch/powerpc/kernel/built-in.o:(__ksymtab+0x1a0): undefined reference to `cpm_install_handler'
    make: *** [.tmp_vmlinux1] Error 1

    Signed-off-by: Jochen Friedrich
    Signed-off-by: Andrew Morton
    Signed-off-by: Vitaly Bordug
    Signed-off-by: Kumar Gala

    Jochen Friedrich
     

07 Dec, 2007

2 commits


06 Dec, 2007

1 commit

  • The commit fa13a5a1f25f671d084d8884be96fc48d9b68275 (sched: restore
    deterministic CPU accounting on powerpc), unconditionally calls
    update_process_tick() in system context. In the deterministic
    accounting case this is the correct thing to do. However, in the
    non-deterministic accounting case we need to not do this, since doing
    this results in the time accounted as hardware irq time being
    artificially elevated.

    Also this collapses 2 consecutive '#ifdef CONFIG_VIRT_CPU_ACCOUNTING'
    checks in time.h into one for neatness.

    Signed-off-by: Tony Breeds
    Signed-off-by: Paul Mackerras

    Tony Breeds
     

03 Dec, 2007

1 commit

  • This reverts commit a2b51812a4dc5db09ab4d4638d4d8ed456e2457e.

    It turns out that this change caused some machines to fail to come
    back up when being rebooted, and generated an error in the hypervisor
    error log on some machines. The platform architecture (PAPR) is a
    little unclear on exactly when the RTAS ibm,os-term function should be
    called. Until that is clarified I'm reverting this commit.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

20 Nov, 2007

3 commits

  • The rtas_os_term() routine was being called at the wrong time.
    The actual rtas call "os-term" will not ever return, and so
    calling it from the panic notifier is too early. Instead,
    call it from the machine_reset() call.

    This splits the rtas_os_term() routine into two: one part to capture
    the kernel panic message, invoked during the panic notifier, and
    another part that is invoked during machine_reset().

    Prior to this patch, the os-term call was never being made,
    because panic_timeout was always non-zero. Calling os-term
    helps keep the hypervisor happy! We have to keep the hypervisor
    happy to avoid service, dump and error reporting problems.

    Signed-off-by: Linas Vepstas
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • The current VDSO implementation is hardcoded to 128 byte cache blocks,
    which are only used on IBM's 64-bit processors.

    Convert it to get the cache block sizes out of vdso_data instead,
    similar to how the ppc64 in-kernel cache flush does it.

    Signed-off-by: Olof Johansson
    Signed-off-by: Paul Mackerras

    Olof Johansson
     
  • On platforms doing non-coherent DMA (4xx, 8xx, ...), it's important
    that the kmalloc minimum alignment is set to the cache line size, to
    avoid sharing cache lines between different objects, so that DMA to
    one of the objects doesn't corrupt the other.

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

    Benjamin Herrenschmidt
     

19 Nov, 2007

1 commit


13 Nov, 2007

2 commits


10 Nov, 2007

1 commit

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (37 commits)
    [POWERPC] EEH: Make sure warning message is printed
    [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC
    [POWERPC] windfarm: Fix windfarm thread freezer interaction
    [POWERPC] Fix si_addr value on low level hash failures
    [POWERPC] Refresh ppc64_defconfig and enable pasemi-related options
    [POWERPC] pasemi: Update defconfig
    [POWERPC] iSeries: Fix ref counting in vio setup
    [POWERPC] ] Fix memset size error
    [POWERPC] Fix link errors for allyesconfig
    [POWERPC] iSeries_init_IRQ non-PCI tidy
    [POWERPC] Change fallocate to match unistd.h on powerpc
    [POWERPC] EEH: Avoid crash on null device
    [POWERPC] EEH: Drivers that need reset trump others
    [POWERPC] EEH: Clean up comments
    [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
    [POWERPC] Fix switch_slb handling of 1T ESID values
    [POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined
    [POWERPC] Include udbg.h when using udbg_printf
    [POWERPC] Fix cache line vs. block size confusion
    [POWERPC] Fix sysctl table check failure on PowerMac
    ...

    Linus Torvalds
     

09 Nov, 2007

1 commit


08 Nov, 2007

3 commits

  • …/powerpc-4xx into merge

    Paul Mackerras
     
  • Fix the fallocate system call on powerpc to match its unistd.h.

    This implies none of these system calls are currently working with the
    unistd.h sys call values:
    fallocate
    signalfd
    timerfd
    eventfd
    sync_file_range2

    Signed-off-by: Patrick Mansfield
    Acked-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Patrick Mansfield
     
  • The decrementer in Book E and 4xx processors interrupts on the
    transition from 1 to 0, rather than on the 0 to -1 transition as on
    64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors. At the
    moment we subtract 1 from the count of how many decrementer ticks are
    required before the next interrupt before putting it into the
    decrementer, which is correct for server/classic processors, but could
    possibly cause the interrupt to happen too early on Book E and 4xx if
    the timebase/decrementer frequency is low.

    This fixes the problem by making set_dec subtract 1 from the count for
    server and classic processors, instead of having the callers subtract
    1. Since set_dec already had a bunch of ifdefs to handle different
    processor types, there is no net increase in ugliness. :)

    Note that calling set_dec(0) may not generate an interrupt on some
    processors. To make sure that decrementer_set_next_event always calls
    set_dec with an interval of at least 1 tick, we set min_delta_ns of
    the decrementer_clockevent to correspond to 2 ticks (2 rather than 1
    to compensate for truncations in the conversions between ticks and
    ns).

    This also removes a redundant call to set the decrementer to
    0x7fffffff - it was already set to that earlier in timer_interrupt.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

06 Nov, 2007

1 commit

  • Commit f2a0bd3753dad7ea4605ebd5435716b39e9f92bb defines the function
    with "void cpm_load_patch(cpm8xx_t *cp)" prtotype and is declared as
    "extern void cpm_load_patch(volatile immap_t *immr)" in the header file.

    Signed-off-by: Kamalesh Babulal
    Signed-off-by: Linus Torvalds

    Kamalesh Babulal
     

01 Nov, 2007

2 commits

  • The 44x family has an interesting "feature" which is a virtually
    tagged instruction cache (yuck !). So far, we haven't dealt with
    it properly, which means we've been mostly lucky or people didn't
    report the problems, unless people have been running custom patches
    in their distro...

    This is an attempt at fixing it properly. I chose to do it by
    setting a global flag whenever we change a PTE that was previously
    marked executable, and flush the entire instruction cache upon
    return to user space when that happens.

    This is a bit heavy handed, but it's hard to do more fine grained
    flushes as the icbi instruction, on those processor, for some very
    strange reasons (since the cache is virtually mapped) still requires
    a valid TLB entry for reading in the target address space, which
    isn't something I want to deal with.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Josh Boyer

    Benjamin Herrenschmidt
     
  • On 4xx CPUs, the current implementation of flush_tlb_page() uses
    a low level _tlbie() assembly function that only works for the
    current PID. Thus, invalidations caused by, for example, a COW
    fault triggered by get_user_pages() from a different context will
    not work properly, causing among other things, gdb breakpoints
    to fail.

    This patch adds a "pid" argument to _tlbie() on 4xx processors,
    and uses it to flush entries in the right context. FSL BookE
    also gets the argument but it seems they don't need it (their
    tlbivax form ignores the PID when invalidating according to the
    document I have).

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Kumar Gala
    Signed-off-by: Josh Boyer

    Benjamin Herrenschmidt
     

23 Oct, 2007

4 commits

  • Fix fallout from 18dabf473e15850c0dbc8ff13ac1e2806d542c15:

    In file included from include/linux/dma-mapping.h:52,
    from drivers/base/dma-mapping.c:10:
    include/asm/dma-mapping.h: In function 'dma_map_sg':
    include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
    include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
    include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
    include/asm/dma-mapping.h:289: error: 'struct scatterlist' has no member named 'page'
    include/asm/dma-mapping.h:290: error: 'struct scatterlist' has no member named 'page'
    include/asm/dma-mapping.h: In function 'dma_sync_sg_for_cpu':
    include/asm/dma-mapping.h:331: error: 'struct scatterlist' has no member named 'page'

    drivers/scsi/ps3rom.c: In function 'fetch_to_dev_buffer':
    drivers/scsi/ps3rom.c:150: error: 'struct scatterlist' has no member named 'page'

    Signed-off-by: Olof Johansson
    Signed-off-by: Jens Axboe

    Olof Johansson
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Enable restart support for lite5200 board
    [POWERPC] Add restart support for mpc52xx based platforms
    [POWERPC] Update device tree binding for mpc5200 gpt
    [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions
    [POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon.

    Linus Torvalds
     
  • Add a Kconfig entry which will toggle some sanity checks on the sg
    entry and tables.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Change the page member of the scatterlist structure to be an unsigned
    long, and encode more stuff in the lower bits:

    - Bits 0 and 1 zero: this is a normal sg entry. Next sg entry is located
    at sg + 1.
    - Bit 0 set: this is a chain entry, the next real entry is at ->page_link
    with the two low bits masked off.
    - Bit 1 set: this is the final entry in the sg entry. sg_next() will return
    NULL when passed such an entry.

    It's thus important that sg table users use the proper accessors to get
    and set the page member.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

22 Oct, 2007

3 commits


20 Oct, 2007

6 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (74 commits)
    fix do_sys_open() prototype
    sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake
    Documentation: Fix typo in SubmitChecklist.
    Typo: depricated -> deprecated
    Add missing profile=kvm option to Documentation/kernel-parameters.txt
    fix typo about TBI in e1000 comment
    proc.txt: Add /proc/stat field
    small documentation fixes
    Fix compiler warning in smount example program from sharedsubtree.txt
    docs/sysfs: add missing word to sysfs attribute explanation
    documentation/ext3: grammar fixes
    Documentation/java.txt: typo and grammar fixes
    Documentation/filesystems/vfs.txt: typo fix
    include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros
    trivial copy_data_pages() tidy up
    Fix typo in arch/x86/kernel/tsc_32.c
    file link fix for Pegasus USB net driver help
    remove unused return within void return function
    Typo fixes retrun -> return
    x86 hpet.h: remove broken links
    ...

    Linus Torvalds
     
  • The include/asm-powerpc/paca.h file has a prototype for a function that
    does not exist any more; its name is setup_boot_paca. This function was
    removed in commit 4ba99b97dadd35b9ce1438b2bc7c992a4a14a8b1, so its
    prototype should have been removed at that time too.

    Signed-off-by: Julio M. Merino Vidal
    Signed-off-by: Adrian Bunk

    Julio M. Merino Vidal
     
  • * Add hwif->ack_intr hook and use it instead of hwif->hw.ack_intr.

    * Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros.

    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Add CONFIG_IDE_ARCH_OBSOLETE_INIT to drivers/ide/Kconfig and use it instead
    of defining IDE_ARCH_OBSOLETE_INIT in .

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • From: Jean Delvare

    Signed-off-by: Jean Delvare
    Signed-off-by: Adrian Bunk

    Jean Delvare
     
  • forbid asm/bitops.h direct inclusion

    Because of compile errors that may occur after bit changes if asm/bitops.h is
    included directly without e.g. linux/kernel.h which includes linux/bitops.h,
    forbid direct inclusion of asm/bitops.h. Thanks to Adrian Bunk.

    Signed-off-by: Jiri Slaby
    Cc: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby