24 Sep, 2006

1 commit


21 Sep, 2006

1 commit


20 Sep, 2006

3 commits


13 Sep, 2006

1 commit

  • This changes the writeX family of functions to have a sync instruction
    before the MMIO store rather than after, because the generally expected
    behaviour is that the device receiving the MMIO store can be guaranteed
    to see the effects of any preceding writes to normal memory.

    To preserve ordering between writeX and readX, and to preserve ordering
    between preceding stores and the readX, the readX family of functions
    have had an sync added before the load.

    Although writeX followed by spin_unlock is not officially guaranteed
    to keep the writeX inside the spin-locked region unless an mmiowb()
    is used, there are currently drivers that depend on the previous
    behaviour on powerpc, which was that the mmiowb wasn't actually required.
    Therefore we have a per-cpu flag that is set by writeX, cleared by
    __raw_spin_lock and mmiowb, and tested by __raw_spin_unlock. If it is
    set, __raw_spin_unlock does a sync and clears it.

    This changes both 32-bit and 64-bit readX/writeX. 32-bit already has a
    sync in __raw_spin_unlock (since lwsync doesn't exist on 32-bit), and thus
    doesn't need the per-cpu flag.

    Tested on G5 (PPC970) and POWER5.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

20 Aug, 2006

1 commit

  • This contains board-specific portion to respect driver changes (for 8272ads ,
    885ads and 866ads). Altered platform_data structures as well as initial setup
    routines relevant to fs_enet.

    Changes to the mpc8560ads ppc/ code are also introduced, but mainly as
    reference, since the entire board support is going to appear in arch/powerpc.

    Signed-off-by: Vitaly Bordug
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Vitaly Bordug
     

15 Jul, 2006

1 commit

  • set_wmb should not be used in the kernel because it just confuses the
    code more and has no benefit. Since it is not currently used in the
    kernel this patch removes it so that new code does not include it.

    All archs define set_wmb(var, value) to do { var = value; wmb(); }
    while(0) except ia64 and sparc which use a mb() instead. But this is
    still moot since it is not used anyway.

    Hasn't been tested on any archs but x86 and x86_64 (and only compiled
    tested)

    Signed-off-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Steven Rostedt
     

03 Jul, 2006

1 commit


01 Jul, 2006

1 commit


30 Jun, 2006

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6: (22 commits)
    [PATCH] devfs: Remove it from the feature_removal.txt file
    [PATCH] devfs: Last little devfs cleanups throughout the kernel tree.
    [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV
    [PATCH] devfs: Remove the tty_driver devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the line_driver devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the videodevice devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the gendisk devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the miscdevice devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree
    [PATCH] devfs: Remove devfs_remove() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_cdev() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_symlink() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree
    [PATCH] devfs: Remove devfs_*_tape() functions from the kernel tree
    [PATCH] devfs: Remove devfs support from the sound subsystem
    [PATCH] devfs: Remove devfs support from the ide subsystem.
    [PATCH] devfs: Remove devfs support from the serial subsystem
    [PATCH] devfs: Remove devfs from the init code
    [PATCH] devfs: Remove devfs from the partition code
    ...

    Linus Torvalds
     

28 Jun, 2006

1 commit


27 Jun, 2006

1 commit


26 Jun, 2006

1 commit


23 Jun, 2006

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (139 commits)
    [POWERPC] re-enable OProfile for iSeries, using timer interrupt
    [POWERPC] support ibm,extended-*-frequency properties
    [POWERPC] Extra sanity check in EEH code
    [POWERPC] Dont look for class-code in pci children
    [POWERPC] Fix mdelay badness on shared processor partitions
    [POWERPC] disable floating point exceptions for init
    [POWERPC] Unify ppc syscall tables
    [POWERPC] mpic: add support for serial mode interrupts
    [POWERPC] pseries: Print PCI slot location code on failure
    [POWERPC] spufs: one more fix for 64k pages
    [POWERPC] spufs: fail spu_create with invalid flags
    [POWERPC] spufs: clear class2 interrupt status before wakeup
    [POWERPC] spufs: fix Makefile for "make clean"
    [POWERPC] spufs: remove stop_code from struct spu
    [POWERPC] spufs: fix spu irq affinity setting
    [POWERPC] spufs: further abstract priv1 register access
    [POWERPC] spufs: split the Cell BE support into generic and platform dependant parts
    [POWERPC] spufs: dont try to access SPE channel 1 count
    [POWERPC] spufs: use kzalloc in create_spu
    [POWERPC] spufs: fix initial state of wbox file
    ...

    Manually resolved conflicts in:
    drivers/net/phy/Makefile
    include/asm-powerpc/spu.h

    Linus Torvalds
     

15 Jun, 2006

1 commit


11 Jun, 2006

1 commit


24 May, 2006

1 commit


19 May, 2006

1 commit


09 May, 2006

1 commit


07 May, 2006

1 commit


05 May, 2006

1 commit


03 May, 2006

1 commit

  • SCC uart sends a break sequence each time it is stopped with the
    CPM_CR_STOP_TX command. That means that each time an application closes the
    serial device, a break is transmitted. To fix this, graceful tx stop is
    issued for SCC.

    Signed-off-by: David Jander
    Signed-off-by: Vitaly Bordug
    Signed-off-by: Paul Mackerras

    Vitaly Bordug
     

01 May, 2006

1 commit


29 Apr, 2006

1 commit


28 Apr, 2006

2 commits


26 Apr, 2006

1 commit


05 Apr, 2006

1 commit


29 Mar, 2006

2 commits


28 Mar, 2006

3 commits

  • This removes statically assigned platform numbers and reworks the
    powerpc platform probe code to use a better mechanism. With this,
    board support files can simply declare a new machine type with a
    macro, and implement a probe() function that uses the flattened
    device-tree to detect if they apply for a given machine.

    We now have a machine_is() macro that replaces the comparisons of
    _machine with the various PLATFORM_* constants. This commit also
    changes various drivers to use the new macro instead of looking at
    _machine.

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

    Benjamin Herrenschmidt
     
  • 32-bit CHRP machines are now supported only in arch/powerpc, as are
    all 64-bit PowerPC processors. This means that we don't use
    Open Firmware on any platform in arch/ppc any more.

    This makes PReP support a single-platform option like every other
    platform support option in arch/ppc now, thus CONFIG_PPC_MULTIPLATFORM
    is gone from arch/ppc. CONFIG_PPC_PREP is the option that selects
    PReP support and is generally what has replaced
    CONFIG_PPC_MULTIPLATFORM within arch/ppc.

    _machine is all but dead now, being #defined to 0.

    Updated Makefiles, comments and Kconfig options generally to reflect
    these changes.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • PPC can use generic funcs.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     

27 Mar, 2006

2 commits


24 Feb, 2006

2 commits

  • This implements accurate task and cpu time accounting for 64-bit
    powerpc kernels. Instead of accounting a whole jiffy of time to a
    task on a timer interrupt because that task happened to be running at
    the time, we now account time in units of timebase ticks according to
    the actual time spent by the task in user mode and kernel mode. We
    also count the time spent processing hardware and software interrupts
    accurately. This is conditional on CONFIG_VIRT_CPU_ACCOUNTING. If
    that is not set, we do tick-based approximate accounting as before.

    To get this accurate information, we read either the PURR (processor
    utilization of resources register) on POWER5 machines, or the timebase
    on other machines on

    * each entry to the kernel from usermode
    * each exit to usermode
    * transitions between process context, hard irq context and soft irq
    context in kernel mode
    * context switches.

    On POWER5 systems with shared-processor logical partitioning we also
    read both the PURR and the timebase at each timer interrupt and
    context switch in order to determine how much time has been taken by
    the hypervisor to run other partitions ("steal" time). Unfortunately,
    since we need values of the PURR on both threads at the same time to
    accurately calculate the steal time, and since we can only calculate
    steal time on a per-core basis, the apportioning of the steal time
    between idle time (time which we ceded to the hypervisor in the idle
    loop) and actual stolen time is somewhat approximate at the moment.

    This is all based quite heavily on what s390 does, and it uses the
    generic interfaces that were added by the s390 developers,
    i.e. account_system_time(), account_user_time(), etc.

    This patch doesn't add any new interfaces between the kernel and
    userspace, and doesn't change the units in which time is reported to
    userspace by things such as /proc/stat, /proc//stat, getrusage(),
    times(), etc. Internally the various task and cpu times are stored in
    timebase units, but they are converted to USER_HZ units (1/100th of a
    second) when reported to userspace. Some precision is therefore lost
    but there should not be any accumulating error, since the internal
    accumulation is at full precision.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Paul Mackerras
     

20 Feb, 2006

1 commit

  • A few symbols are exported twice, remove them from ppc_ksyms.c
    Remove users of sys_ctrler in arch/ppc/

    WARNING: vmlinux: duplicate symbol '__delay' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol '__up' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol '__down' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol '__down_interruptible' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'sys_ctrler' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strncat' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strncmp' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strchr' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strrchr' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strnlen' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strpbrk' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'memscan' previous definition was in vmlinux
    WARNING: vmlinux: duplicate symbol 'strstr' previous definition was in vmlinux

    Signed-off-by: Olaf Hering
    Signed-off-by: Paul Mackerras

    Olaf Hering
     

10 Feb, 2006

1 commit