26 Jan, 2008

2 commits

  • I2C adapter drivers are supposed to handle retries on nack by themselves
    if they do, so there's no point in setting .retries if they don't.

    As this retry mechanism is going away (at least in its current form),
    clean this up now so that we don't get build failures later.

    Signed-off-by: Jean Delvare
    Acked-by: Mark A. Greer

    Jean Delvare
     
  • Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use
    get_online_cpus and put_online_cpus instead as it highlights the
    refcount semantics in these operations.

    The new API guarantees protection against the cpu-hotplug operation, but
    it doesn't guarantee serialized access to any of the local data
    structures. Hence the changes needs to be reviewed.

    In case of pseries_add_processor/pseries_remove_processor, use
    cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the
    cpu_present_map there.

    Signed-off-by: Gautham R Shenoy
    Signed-off-by: Ingo Molnar

    Gautham R Shenoy
     

25 Jan, 2008

5 commits


23 Jan, 2008

1 commit

  • Fix typo in arch/powerpc/boot/flatdevtree_env.h.
    There is no Documentation/networking/ixgbe.txt.

    README.cycladesZ is now in Documentation/.
    wavelan.p.h is now in drivers/net/wireless/.
    HFS.txt is now Documentation/filesystems/hfs.txt.
    OSS-files are now in sound/oss/.

    Signed-off-by: Johann Felix Soden
    Acked-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Johann Felix Soden
     

15 Jan, 2008

2 commits

  • 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
     
  • Commit 5d2efba64b231a1733c4048d1708d77e07f26426 changed our iommu code
    so that it always uses an iommu page size of 4kB. That means with our
    current code, drivers may do a dma_map_sg() of a 64kB page and obtain
    a dma_addr_t that is only 4k aligned.

    This works fine in most cases except for some infiniband HW it seems,
    where they tell the HW about the page size and it ignores the low bits
    of the DMA address.

    This works around it by making our IOMMU code enforce a PAGE_SIZE alignment
    for mappings of objects that are page aligned in the first place and whose
    size is larger or equal to a page.

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

    Benjamin Herrenschmidt
     

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
     

10 Jan, 2008

1 commit

  • The new network driver fec_mpc52xx will not work on efika because the
    firmware does not provide all required properties.
    http://www.powerdeveloper.org/asset/by-id/46 has a Forth script to
    create more properties. But only the phy stuff is required to get a
    working network.

    This should go into the kernel because its appearently
    impossible to boot the script via tftp and then load the real boot
    binary (yaboot or zimage).

    Signed-off-by: Olaf Hering
    Signed-off-by: Grant Likely
    Acked-by: Benjamin Herrenschmidt

    Olaf Hering
     

02 Jan, 2008

1 commit

  • Commit aed3a8c9bb1a8623a618232087c5ff62718e3b9a introduced a
    definition of notify_spus_active in .../cell/spu_syscalls.c, and
    another definition under #ifndef MODULE in .../cell/spufs/sched.c.
    The latter is not necessary and causes the build to fail when
    CONFIG_SPU_FS=y, so this removes it. It also removes the export
    of do_notify_spus_active, which is unnecessary.

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

    Paul Mackerras
     

28 Dec, 2007

2 commits

  • Fix a bug in the printing of the os-area magic numbers which assumed
    that magic numbers were zero terminated strings. The magic numbers
    are represented in memory as integers. If the os-area sections are
    not initialized correctly they could contained random data that would
    be printed to the display. Also unify the handling of header and db
    magic numbers and make both of type array of u8.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • 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

7 commits

  • Paul Mackerras
     
  • Currently it's impossible to build a ps3_defconfig which will reboot
    without modules installed. This makes it all too easy to find yourself
    with a PS3 that won't reboot.

    This is because the system manager driver, which provides the reboot
    mechanism, is only selectable if PS3_ADVANCED is set, else it defaults
    to m. In ps3_defconfig PS3_ADVANCED is not set, therefore the system
    manager is built as a module.

    It would be desirable IMHO for the defconfig to produce a kernel that
    boots and reboots, without needing modules to be installed.

    Signed-off-by: Michael Ellerman
    Acked-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • This patch fixes rounding bug in emulation for double float operating on PowerPC platform.

    When pack double float operand, it need to truncate the tail due to the limited precision.
    If the truncated part is not zero, the last bit of work bit (totally 3 bits) need to '|' 1.

    This patch is completed in _FP_FRAC_SRS_2(X,N,sz) (arch/powerpc/math-emu/op-2.h).
    Originally the code leftwards rotates the operand to just keep the truncated part,
    then check whether it is zero. However, the number it rotates is not correct when
    N is not smaller than _FP_W_TYPE_SIZE, and it will cause the work bit '|' 1 in the improper case.

    This patch fixes this issue.

    Signed-off-by: Liu Yu
    Signed-off-by: Kumar Gala

    Liu Yu
     
  • Printk was observed to hang during module unload due to a limited
    window of characters that may be sent to the hypervisor. The window
    only reexpands when we receive an ack from the HV and the spinlock here
    prevents us from ever processing that ack. This fixes it by dropping
    the lock before doing the printk, then looping back to the top to
    reacquire the lock.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • This was recently made configurable, and needs to be set for these boards.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • 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
     

10 Dec, 2007

1 commit

  • PowerMac and CHRP/BriQ platforms have quirks to switch some IDE
    controllers from legacy mode to fully native mode. Those quirks
    however will not work properly anymore due to a change to the
    generic code to better handle legacy IDE resources.

    This fixes it by moving those quirk to "early" quirks (so they
    run before resources are probed for the devices) and clearing
    all BARs after the conversion to force a reallocation of sane
    values.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

08 Dec, 2007

2 commits


07 Dec, 2007

2 commits


06 Dec, 2007

4 commits

  • This updates all the defconfigs in arch/powerpc/configs except iseries
    and ps3, which were updated by the preceding commits.

    This mostly takes the defaults, except that I turned on tickless idle
    and high-resolution timers for everything, and turned off instrumentation
    support and "Fair group CPU scheduler" for the smaller/embedded platforms.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Update ps3_defconfig.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • The notable changes here are the enabling of NO_HZ and HIGH_RES_TIMERS.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • 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
     

30 Nov, 2007

1 commit

  • Ordinarily the size of a pageblock is determined at compile-time based on the
    hugepage size. On PPC64, the hugepage size is determined at runtime based on
    what is supported by the machine. With legacy machines such as iSeries that
    do not support hugepages, HPAGE_SHIFT is 0. This results in pageblock_order
    being set to -PAGE_SHIFT and a crash results shortly afterwards.

    This patch adds a function to select a sensible value for pageblock order by
    default when HUGETLB_PAGE_SIZE_VARIABLE is set. It checks that HPAGE_SHIFT
    is a sensible value before using the hugepage size; if it is not MAX_ORDER-1
    is used.

    This is a fix for 2.6.24.

    Credit goes to Stephen Rothwell for identifying the bug and testing candidate
    patches. Additional credit goes to Andy Whitcroft for spotting a problem
    with respects to IA-64 before releasing. Additional credit to David Gibson
    for testing with the libhugetlbfs test suite.

    Signed-off-by: Mel Gorman
    Tested-by: Stephen Rothwell
    Cc: Benjamin Herrenschmidt
    Acked-by: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     

21 Nov, 2007

4 commits


20 Nov, 2007

3 commits