====== netdev-fix.diff ====== Subject: [PATCH] spidernet: Use pci_dma_mapping_error() From: Olof Johansson A driver shouldn't compare to DMA_ERROR_CODE directly, use pci_dma_mapping_error() instead. Signed-off-by: Olof Johansson --- diffstat: spider_net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ====== netdev-submitted.diff ====== commit f23f79743e1c17a0c2f3fbb28fae67d47ac6812f Author: Linas Vepstas Date: Tue Oct 10 16:23:24 2006 -0500 [PATCH] powerpc/cell spidernet DMA coalescing The current driver code performs 512 DMA mappns of a bunch of 32-byte structures. This is silly, as they are all in contiguous memory. Ths patch changes the code to DMA map the entie area with just one call. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 16f8395a8d7f648a5d0ffbf31d7bb59e81394b3b Author: Linas Vepstas Date: Tue Oct 10 16:22:29 2006 -0500 [PATCH] powerpc/cell spidernet release all descrs Bugfix: rx descriptor release function fails to visit the last entry while walking receive descriptor ring. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit e7a3db262e0ab92c5275bead26999df49bb71ee3 Author: Linas Vepstas Date: Tue Oct 10 16:21:10 2006 -0500 [PATCH] powerpc/cell spidernet DMA direction fix The ring buffer descriptors are DMA-accessed bidirectionally, but are not declared in this way. Fix this. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit d7e20cb5f150a7e7ec0b94d813ffbec4e9370be6 Author: Linas Vepstas Date: Tue Oct 10 16:19:34 2006 -0500 [PATCH] powerpc/cell spidernet variable name change Cosmetic patch: give the variable holding the numer of descriptors a more descriptive name, so to avoid confusion. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit ec4f536d1bc0e8b0d64c476e253e1d617635cb0e Author: Linas Vepstas Date: Tue Oct 10 16:18:18 2006 -0500 [PATCH] powerpc/cell spidernet reduce DMA kicking The current code attempts to start the TX dma every time a packet is queued. This is too conservative, and wastes CPU time. This patch changes behaviour to call the kick-dma function less often, only when the tx queue is at risk of emptying. This reduces cpu usage, improves performance. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit f90c0e7350dd400bbe3b66cb53f39a881bfcf566 Author: Linas Vepstas Date: Tue Oct 10 16:15:29 2006 -0500 [PATCH] powerpc/cell spidernet Remove a dummy register read that is not needed. This reduces CPU usage notably during transmit. Signed-off-by: Linas Vepstas Cc: Arnd Bergmann Cc: James K Lewis commit 92d08871db0490fc46608ecd292597e3d59fb1ec Author: Linas Vepstas Date: Tue Oct 10 16:14:29 2006 -0500 [PATCH] powerpc/cell spidernet refine locking The transmit side of the spider ethernet driver currently places locks around some very large chunks of code. This results in a fair amount of lock contention is some cases. This patch makes the locks much more fine-grained, protecting only the cirtical sections. One lock is used to protect three locations: the queue head and tail pointers, and the queue low-watermark location. Signed-off-by: Linas Vepstas Cc: Arnd Bergmann Cc: James K Lewis commit cad0b544d64af4190ff23bbc54cee14b1d2e2c6b Author: Linas Vepstas Date: Tue Oct 10 16:13:05 2006 -0500 [PATCH] powerpc/cell spidernet NAPI polling info. This patch moves transmit queue cleanup code out of the interrupt context, and into the NAPI polling routine. Signed-off-by: Linas Vepstas Acked-by: Arnd Bergmann Cc: James K Lewis commit ae74e1a9cc8d156e6c64e9bcee977652e756bb51 Author: Linas Vepstas Date: Tue Oct 10 16:11:33 2006 -0500 [PATCH] powerpc/cell spidernet low watermark patch. Implement basic low-watermark support for the transmit queue. Hardware low-watermarks allow a properly configured kernel to continously stream data to a device and not have to handle any interrupts at all in doing so. Correct zero-interrupt operation can be actually observed for this driver, when the socket buffer is made large enough. The basic idea of a low-watermark interrupt is as follows. The device driver queues up a bunch of packets for the hardware to transmit, and then kicks the hardware to get it started. As the hardware drains the queue of pending, untransmitted packets, the device driver will want to know when the queue is almost empty, so that it can queue some more packets. If the queue drains down to the low waterark, then an interrupt will be generated. However, if the kernel/driver continues to add enough packets to keep the queue partially filled, no interrupt will actually be generated, and the hardware can continue streaming packets indefinitely in this mode. The impelmentation is done by setting the DESCR_TXDESFLG flag in one of the packets. When the hardware sees this flag, it will interrupt the device driver. Because this flag is on a fixed packet, rather than at fixed location in the queue, the code below needs to move the flag as more packets are queued up. This implementation attempts to keep the flag at about 1/4 from "empty". Signed-off-by: Linas Vepstas Signed-off-by: James K Lewis Acked-by: Arnd Bergmann commit b3ed7a4267558ae6dbc5d28ccf2c739a13cf5aa9 Author: Linas Vepstas Date: Tue Oct 10 16:09:40 2006 -0500 [PATCH] powerpc/cell spidernet incorrect offset Bugfix -- the rx chain is in memory after the tx chain -- the offset being used was wrong, resulting in memory corruption when the size of the rx and tx rings weren't exactly the same. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit b5b4229b4f43d9e728e89bee6ffc4b96e35605fa Author: Linas Vepstas Date: Tue Oct 10 16:08:42 2006 -0500 [PATCH] powerpc/cell spidernet stop error printing patch. Turn off mis-interpretation of the queue-empty interrupt status bit as an error. Signed-off-by: Linas Vepstas Signed-off-by: James K Lewis Acked-by: Arnd Bergmann commit 5a8a66516f49a3a242cb93ccb2b09485f2968a46 Author: Linas Vepstas Date: Tue Oct 10 16:06:53 2006 -0500 [PATCH] powerpc/cell spidernet fix error interrupt print The print message associated with the descriptor chain end interrupt prints a bogs value. Fix that. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 2304fb9616bab2476be4409cfc6e3142e96e3f27 Author: Linas Vepstas Date: Tue Oct 10 16:05:00 2006 -0500 [PATCH] powerpc/cell spidernet bogus rx interrupt bit The current receive interrupt mask sets a bogus bit that doesn't even belong to the definition of this register. Remove it. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 6bd5a191596137706466ad7d06acfbf3ca8223ab Author: Linas Vepstas Date: Tue Oct 10 16:04:00 2006 -0500 [PATCH] Spidernet stop queue when queue is full. This patch adds a call to netif_stop_queue() when there is no more room for more packets on the transmit queue. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 02afe79b99b591f66cc88e9f864ff685b5841e0b Author: Linas Vepstas Date: Tue Oct 10 16:02:54 2006 -0500 [PATCH] Spidernet fix register field definitions This patch fixes the names of a few fields in the DMA control register. There is no functional change. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 45927c686a6fc6b1be8cf99eff990f654b292445 Author: Linas Vepstas Date: Tue Oct 10 16:01:51 2006 -0500 [PATCH] powerpc/cell spidernet add missing netdev watchdog Set the netdev watchdog timer. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit ac0ce6becb7325e8e870460efdec781f0ca95482 Author: Linas Vepstas Date: Tue Oct 10 16:01:00 2006 -0500 [PATCH] powerpc/cell spidernet zlen min packet length Polite device drivers pad short packets to 60 bytes, so that mean-spirited users don't accidentally DOS some other OS that can't handle short packets. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 2863834f264750d09231b1d7876a3d223b1f99df Author: Linas Vepstas Date: Tue Oct 10 16:00:04 2006 -0500 [PATCH] powerpc/cell spidernet force-end fix Bugfix: when cleaning up the transmit queue upon device close, be sure to walk the entire queue. Signed-off-by: Linas Vepstas Cc: James K Lewis Cc: Arnd Bergmann commit 089b448d6fbabf3ed773b9be0499bcb63dd5fd5f Author: Linas Vepstas Date: Tue Oct 10 15:59:02 2006 -0500 [PATCH] Spidernet module parm permissions The module param permsissions should bw read-only, not writable. From: James K Lewis Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Cc: Arnd Bergmann commit 525e127457e4601fc4a86be9045338b64433c286 Author: Linas Vepstas Date: Tue Oct 10 15:57:26 2006 -0500 [PATCH] powerpc/cell spidernet burst alignment patch. This patch increases the Burst Address alignment from 64 to 1024 in the Spidernet driver. This improves transmit performance for large packets. From: James K Lewis Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Acked-by: Arnd Bergmann commit c6ac95967906c22fa3eac4e5e46b9013fbdccb86 Author: Linas Vepstas Date: Tue Oct 10 15:56:04 2006 -0500 [PATCH] powerpc/cell spidernet ethtool -i version number info. This patch adds version information as reported by ethtool -i to the Spidernet driver. From: James K Lewis Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Acked-by: Arnd Bergmann --- diffstat: spider_net.c | 341 +++++++++++++++++-------------- spider_net.h | 49 ++-- spider_net_ethtool.c | 6 3 files changed, 224 insertions(+), 172 deletions(-) ====== cell-defconfig-2.6.19.diff ====== --- diffstat: cell_defconfig | 42 ++++--------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) ====== cell-timebase-workaround-2.diff ====== Subject: [PATCH] powerpc: Implement cell timebase workaround From: Benjamin Herrenschmidt This patch implements the workaround for the Cell timebase bug. It's been quickly boot tested, it's not quite ready for merge (I need to test build & run !cell configs and try to come up with a test case for the actual bug to verify it's fixed) but it's definitely ready for comments. Signed-off-by: Benjamin Herrenschmidt --- diffstat: arch/powerpc/kernel/vdso64/gettimeofday.S | 11 +++- include/asm-powerpc/cputable.h | 17 ++++-- include/asm-powerpc/ppc_asm.h | 26 +++++++--- include/asm-powerpc/reg.h | 19 ++++++- include/asm-powerpc/time.h | 18 +++--- include/asm-powerpc/timex.h | 12 +--- 6 files changed, 72 insertions(+), 31 deletions(-) ====== spufs-fixme.diff ====== Subject: spufs: add a FIXME SetPageReserved should probably not be called on vmalloc memory. Need to investigate further. Signed-off-by: Arnd Bergmann --- --- diffstat: switch.c | 1 + 1 file changed, 1 insertion(+) ====== spufs-cntl-readwrite-fix.diff ====== Subject: spufs: fix read/write on cntl From: "Noguchi, Masato" After applying these patches, it seems the kernel leaks memory. No doubt you forget to call simple_attr_close on "[PATCH 09/14] spufs: add support for read/write oncntl". Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann --- --- diffstat: file.c | 1 + 1 file changed, 1 insertion(+) ====== spufs-fix-nonnuma-node-id.diff ====== Subject: powerpc: Don't crash on cell with 2 BEs when !CONFIG_NUMA From: Benjamin Herrenschmidt The SPU code will crash if CONFIG_NUMA is not set and SPUs are found on a non-0 node. This workaround will ignore those SPEs and just print an message in the kernel log. Signed-off-by: Benjamin Herrenschmidt --- diffstat: spu_base.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) ====== spufs-remove-unused-var.diff ====== From: Geoff Levand Subject: cell: remove unused struct spu variable Remove the mostly unused variable isrc from struct spu and a forgotten function declaration. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann --- --- diffstat: arch/powerpc/platforms/cell/spu_base.c | 21 +------------ include/asm-powerpc/spu.h | 1 2 files changed, 3 insertions(+), 19 deletions(-) ====== spufs-create-isolated-2.diff ====== Subject: spufs: add support for nonschedulable contexts From: Mark Nutter This adds two new flags to spu_create: SPU_CREATE_NONSCHED: create a context that is never moved away from an SPE once it has started running. This flag can only be used by tasks with the CAP_SYS_NICE capability. SPU_CREATE_ISOLATED: create a nonschedulable context that enters isolation mode upon first run. This requires the SPU_CREATE_NONSCHED flag. Update: add psmap file. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr arch/powerpc/platforms/cell/spufs/file.c | 22 ++++++++++++ arch/powerpc/platforms/cell/spufs/hw_ops.c | 5 ++ arch/powerpc/platforms/cell/spufs/inode.c | 17 +++++++++ arch/powerpc/platforms/cell/spufs/run.c | 10 ++++- arch/powerpc/platforms/cell/spufs/spufs.h | 1 arch/powerpc/platforms/cell/spufs/switch.c | 50 +++++++++++++++++++++++++++-- include/asm-powerpc/spu.h | 5 ++ 7 files changed, 103 insertions(+), 7 deletions(-) --- diffstat: arch/powerpc/platforms/cell/spufs/file.c | 22 ++++ arch/powerpc/platforms/cell/spufs/hw_ops.c | 5 - arch/powerpc/platforms/cell/spufs/inode.c | 17 +++ arch/powerpc/platforms/cell/spufs/run.c | 10 +- arch/powerpc/platforms/cell/spufs/spufs.h | 1 arch/powerpc/platforms/cell/spufs/switch.c | 50 +++++++++- include/asm-powerpc/spu.h | 5 - 7 files changed, 103 insertions(+), 7 deletions(-) ====== spufs-status-spelling-fix.diff ====== Subject: spufs: "stataus" isn't a word. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/platforms/cell/spufs/switch.c | 10 +++++----- include/asm-powerpc/spu.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) ====== spufs-isolated-loader-2.diff ====== Subject: spufs: Allow isolated mode apps by starting the SPE loader This patch adds general support for isolated mode SPE apps. Isolated apps are started indirectly, by a dedicated loader "kernel". This patch starts the loader when spe_create is invoked with the ISOLATE flag. We do this at spe_create time to allow libspe to pass the isolated app in before calling spe_run. The loader is read from the device tree, at the location "/spu-isolation/loader". If the loader is not present, an attempt to start an isolated SPE binary will fail with -ENODEV. Update: loader needs to be correctly aligned - copy to a kmalloced buf. Update: remove workaround for systemsim/spurom 'L-bit' bug, which has been fixed. Update: don't write to runcntl on spu_run_init: SPU is already running. Update: do spu_setup_isolated earlier Tested on systemsim. Signed-off-by: Jeremy Kerr arch/powerpc/platforms/cell/spu_base.c | 35 ++++++-- arch/powerpc/platforms/cell/spufs/inode.c | 117 ++++++++++++++++++++++++++++++ arch/powerpc/platforms/cell/spufs/run.c | 12 +-- 3 files changed, 148 insertions(+), 16 deletions(-) --- diffstat: spu_base.c | 35 +++++++---- spufs/inode.c | 117 ++++++++++++++++++++++++++++++++++++++ spufs/run.c | 12 ++- 3 files changed, 148 insertions(+), 16 deletions(-) ====== cbe-regs-update-2.diff ====== Subject: cell: update cell be register definitions there are a few definitions that are required by subsequent patches, so add them here. This patch probably needs a little cosmetic cleanup. Signed-off-by: Arnd Bergmann --- diffstat: cbe_regs.c | 44 +++++- cbe_regs.h | 282 +++++++++++++++++++++++++++++++++++----- interrupt.c | 2 pervasive.c | 6 4 files changed, 292 insertions(+), 42 deletions(-) ====== cbe-regs-update-bitfields.diff ====== Subject: avoid bit fields in cbe_regs.h From: Kevin Corry Structures with bit-fields are against kernel coding standards. Change the cbe_pmd_regs structure to use simple u64 fields for the PMU registers instead of defining a bit-field structure for each register. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann --- --- diffstat: cbe_regs.h | 128 +++-------------------------------------- 1 file changed, 11 insertions(+), 117 deletions(-) ====== cbe-regs-shadow.diff ====== From: Kevin Corry Subject: cell: add shadow registers for pmd_reg Many of the registers in the performance monitoring unit are write-only. We need to save a "shadow" copy when we write to those registers so we can retrieve the values if we need them later. The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure so we have the appropriate per-node copies of these shadow values. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann --- diffstat: cbe_regs.c | 17 +++++++++++++++++ cbe_regs.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) ====== cbe-pmu-regs.diff ====== Subject: cell: add low-level performance monitoring code From: Kevin Corry Add routines for accessing the registers and counters in the performance monitoring unit. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann --- diffstat: Makefile | 3 cbe_regs.h | 5 pmu.c | 329 +++++++++++++++++++++++++++++++++++++++++ pmu.h | 57 +++++++ 4 files changed, 393 insertions(+), 1 deletion(-) ====== cbe-pmu-no-config-h.diff ====== From: Kevin Corry Subject: Re: [ibm-linux-cell] =?iso-8859-1?q?=5BRFC=2C_PATCH_3/3=5D_Add_routin?= On Tue October 10 2006 10:23 pm, Benjamin Herrenschmidt wrote: > > +#include > > This header is gone upstream. it's been obsolete to include it for some > time now, just remove that statement. Here's a patch to remove that include from all the files in arch/powerpc/platforms/cell/. -Kevin Corry Don't include obsolete . Signed-Off-By: Kevin Corry --- diffstat: cbe_regs.c | 1 - pmu.c | 1 - ras.c | 1 - 3 files changed, 3 deletions(-) ====== spu-add-attributes-2.diff ====== Subject: Cell: add support for registering sysfs attributes to spus In order to add sysfs attributes to all spu's, there is a need for a list of all available spu's. Adding the device_node makes also sense, as it is needed for proper register access. This patch also adds two functions to create and remove sysfs attributes and attribute_groups to all spus. That allows to group spu attributes in a subdirectory like: /sys/devices/system/spu/spuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-off-by: Christian Krafft --- diffstat: arch/powerpc/platforms/cell/spu_base.c | 58 +++++++++++++ include/asm-powerpc/spu.h | 9 ++ 2 files changed, 67 insertions(+) ====== cpu-add-attributes.diff ====== Subject: sysfs: add support for adding/removing sysfs attributes and attribute_group to cpus This patch adds two functions to create and remove sysfs attributes and attribute_group to all cpus. That allows to register sysfs attributes in a subdirectory like: /sys/devices/system/cpu/cpuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-of-by: Christian Krafft --- diffstat: arch/powerpc/kernel/sysfs.c | 66 ++++++++++++++++++++++++ include/linux/cpu.h | 8 ++ 2 files changed, 74 insertions(+) ====== cell-thermal-support-3.diff ====== Subject: cell: add temperature to SPU and CPU sysfs entries This patch adds a module that registers sysfs attributes to CPU and SPU containing the temperature of the CBE. They can be found under /sys/devices/system/spu/cpuX/thermal/temperature[0|1] /sys/devices/system/spu/spuX/thermal/temperature The temperature is read from the on-chip temperature sensors. Signed-off-by: Christian Krafft --- diffstat: configs/cell_defconfig | 1 platforms/cell/Kconfig | 5 platforms/cell/Makefile | 2 platforms/cell/cbe_thermal.c | 225 +++++++++++++++++++++++ 4 files changed, 233 insertions(+) ====== cell-xmon-stop-spus.diff ====== Subject: [Cbe-oss-dev] [PATCH 1/2] Add support for stopping spus from xmon From: Michael Ellerman This patch adds support for stopping, and restarting, spus from xmon. We use the spu master runcntl bit to stop execution, this is apparently the "right" way to control spu execution and spufs will be changed in the future to use this bit. Testing has shown that to restart execution we have to turn the master runcntl bit on and also rewrite the spu runcntl bit, even if it is already set to 1 (running). Stopping spus is triggered by the xmon command 'ss' - "spus stop" perhaps. Restarting them is triggered via 'sr'. Restart doesn't start execution on spus unless they were running prior to being stopped by xmon. Walking the spu->full_list in xmon after a panic, would mean corruption of any spu struct would make all the others inaccessible. To avoid this, and also to make the next patch easier, we cache pointers to all spus during boot. We attempt to catch and recover from errors while stopping and restarting the spus, but as with most xmon functionality there are no guarantees that performing these operations won't crash xmon itself. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- arch/powerpc/platforms/cell/spu_base.c | 4 arch/powerpc/xmon/xmon.c | 142 ++++++++++++++++++++++++++++++++- include/asm-powerpc/xmon.h | 2 3 files changed, 146 insertions(+), 2 deletions(-) --- diffstat: arch/powerpc/platforms/cell/spu_base.c | 4 arch/powerpc/xmon/xmon.c | 142 ++++++++++++- include/asm-powerpc/xmon.h | 2 3 files changed, 146 insertions(+), 2 deletions(-) ====== cell-xmon-spu_info.diff ====== Subject: [Cbe-oss-dev] [PATCH 2/2] Add support for dumping spu info from xmon From: Michael Ellerman This patch adds a command to xmon for dumping information about spu structs. The command is 'sf' for "spu fields" perhaps, and takes the spu number as an argument. This is the same value as the spu->number field, or the "phys-id" value of a context when it is bound to a physical spu. We try to catch memory errors as we dump each field, hopefully this will make the command reasonably robust, but YMMV. If people see a need we can easily add more fields to the dump in future. Output looks something like this: 0:mon> sf 0 Dumping spu fields at address c00000001ffd9e80: number = 0x0 name = spe devnode->full_name = /cpus/PowerPC,BE@0/spes/spe@0 nid = 0x0 local_store_phys = 0x20000000000 local_store = 0xd0000800801e0000 ls_size = 0x0 isrc = 0x4 node = 0x0 flags = 0x0 dar = 0x0 dsisr = 0x0 class_0_pending = 0 irqs[0] = 0x16 irqs[1] = 0x17 irqs[2] = 0x24 slb_replace = 0x0 pid = 0 prio = 0 mm = 0x0000000000000000 ctx = 0x0000000000000000 rq = 0x0000000000000000 timestamp = 0x0000000000000000 problem_phys = 0x20000040000 problem = 0xd000080080220000 problem->spu_runcntl_RW = 0x0 problem->spu_status_R = 0x0 problem->spu_npc_RW = 0x0 priv1 = 0xd000080080240000 priv1->mfc_sr1_RW = 0x33 priv2 = 0xd000080080250000 Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- arch/powerpc/xmon/xmon.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) --- diffstat: xmon.c | 67 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) ====== prom-extern-function-2.diff ====== Subject: externalize a function and a map of cpumasks, both needed by upcomming cpufreq driver Signed-off-by: Christian Krafft --- diffstat: arch/powerpc/kernel/prom.c | 1 + arch/powerpc/kernel/smp.c | 1 + include/asm-powerpc/prom.h | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) ====== cell-cpufreq-support-2.diff ====== Subject: cell: add cpufreq driver for Cell BE processor This patch adds a cpufreq backend driver to enable frequency scaling on cell. Signed-off-by: Christian Krafft --- diffstat: configs/cell_defconfig | 15 + platforms/cell/Kconfig | 9 platforms/cell/Makefile | 1 platforms/cell/cbe_cpufreq.c | 249 +++++++++++++++++++++++ 4 files changed, 273 insertions(+), 1 deletion(-) ====== nodeaware-netdev-2.diff ====== Subject: Node-aware netdevice allocation Adds alloca_netdev_node & friends to allocate a struct netdevice on a given NUMA node. Note: needs benchmarking to prove a gain. Signed-off-by: Christoph Hellwig --- diffstat: include/linux/etherdevice.h | 1 + include/linux/netdevice.h | 3 +++ net/core/dev.c | 14 +++++++++++--- net/ethernet/eth.c | 24 ++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 3 deletions(-) ====== nodeaware-skb_alloc.diff ====== Subject: node-aware skb allocation Note: needs benchmarking to prove a gain. Note2: Needs to API rework before upstream submission Signed-off-by: Christoph Hellwig --- diffstat: include/linux/skbuff.h | 15 ++++++++++++--- net/core/skbuff.c | 9 ++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) ====== nodeaware-spidernet.diff ====== Subject: use node-aware netdev allocation in spidernet Signed-off-by: Christoph Hellwig --- diffstat: spider_net.c | 10 ++++++---- spider_net.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) ====== systemsim-2.6.18.diff ====== commit 4ec3ba5c24b1d7de452d410f0c339bacb99a7858 Author: Eric Van Hensbergen Date: Wed Sep 20 10:21:45 2006 -0400 Subject: [FYI] cell: systemsim defconfig This is an update to the default configuration from an earlier binary release on http://bsc.es/. Since the other systemsim patches are still under discussion, this is provided on a purely informational basis. Signed-off-by: Arnd Bergmann Signed-off-by: Eric Van Hensbergen commit bffe5c838cbc132bba12a98311ae56103c369126 Author: Eric Van Hensbergen Date: Wed Sep 20 10:20:17 2006 -0400 Subject: Don't use hvc_fss if hvc_rtas is available The latest version of Systemsim does come with HVC_RTAS support enabled. Use that one instead, since it brings us one step closer to using no special device drivers for systemsim. Signed-off-by: Arnd Bergmann Signed-off-by: Eric Van Hensbergen commit d4fad433bb1d0386cffdf037e101355a9140dd6e Author: Eric Van Hensbergen Date: Wed Sep 20 10:19:18 2006 -0400 Subject: systemsim: don't load systemsim_bd when running on real HW If we don't do this, we crash during bootup Signed-off-by: Arnd Bergmann Signed-off-by: Eric Van Hensbergen commit d7f9a20a51d510fbe8c0438345b695e1b62422c5 Author: Eric Van Hensbergen Date: Wed Sep 20 10:18:30 2006 -0400 Subject: cell: correctly detect systemsim host Systemsim uses a different compatible property in the device tree. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Eric Van Hensbergen commit a310086776d9d3c163a6a46f3c8cfa5da07e4796 Merge: e478bec... fce8c25... Author: Eric Van Hensbergen Date: Wed Sep 20 08:50:08 2006 -0400 Merge ../systemsim-2.6.18-rc4/ into systemsim-2.6.18 commit fce8c2554d430f7ba998884cabf3929c28e26f23 Merge: 9f73763... 64b8767... Author: Eric Van Hensbergen Date: Wed Aug 9 20:24:01 2006 -0500 Merge to tip commit 64b8767f39d329d290a286996401bc754bbd7ee2 Merge: 82d6897... c7c2d69... Author: Eric Van Hensbergen Date: Thu Jul 27 12:36:06 2006 -0500 Merge systemsim patch to tip Conflicts: arch/powerpc/platforms/pseries/setup.c include/asm-powerpc/udbg.h commit c7c2d69e9ec0af0f1b62628a9859e56e729f219b Author: Eric Van Hensbergen Date: Tue Jul 25 22:17:21 2006 -0500 Remove devfs code from Systemsim Block driver Signed-off-by: Eric Van Hensbergen commit 2aefbc181b39847365a5c9cb1cd1793b097f3694 Merge: 427abfa... 1310a6e... Author: Eric Van Hensbergen Date: Tue Jul 25 21:31:25 2006 -0500 Merge systemsim patch to 2.6.17 Conflicts: arch/powerpc/kernel/Makefile arch/powerpc/kernel/setup_64.c drivers/char/Kconfig drivers/char/Makefile drivers/char/hvc_console.c drivers/char/hvc_rtas.c include/asm-powerpc/machdep.h Signed-off-by: Eric Van Hensbergen commit 1310a6e478b04589dd256100a38c8bcc1e1084d0 Author: Eric Van Hensbergen Date: Mon Mar 20 13:02:56 2006 -0600 Updated systemsim default config to include new options. Signed-off-by: Wesley Reiley Signed-off-by: Eric Van Hensbergen commit b5262afff1203891e355726e597493f68f7d00cd Merge: 7705a87... 7f0292c... Author: Eric Van Hensbergen Date: Mon Mar 20 17:55:25 2006 +0000 Merge systemsim patches to v2.6.16 commit 7f0292c5c9dd99d4ed5d2469d4488e993dfb8317 Merge: 5357448... 83ef584... Author: Eric Van Hensbergen Date: Mon Mar 13 17:21:43 2006 +0000 merge to v2.6.16-rc6 commit 83ef5848bcf6bf4a4e7a820a7b4f7375a71ca769 Merge: d040699... 4b1b109... Author: Eric Van Hensbergen Date: Mon Feb 27 16:56:40 2006 -0600 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/systemsim commit d04069941633adbf6f525ecb53d7bc9a12b30d85 Author: Eric Van Hensbergen Date: Mon Feb 27 16:55:57 2006 -0600 systemsim: fix merge problem I screwed up the last merge and for some reason can't revert it. This replaces the screwed up hvc_console.c with the last version from the systemsim branch prior to the merge. Signed-off-by: Eric Van Hensbergen commit 4b1b1097c0ff8683deda1d524ac7af0e3408776f Author: Eric Van Hensbergen Date: Mon Feb 27 22:01:37 2006 +0000 systemsim: fix broken merge This will probably bite me later, but apparently I massively screwed up the previous merge. This fix puts the old hvc_console.c in place and lets you build systemsim again. Signed-off-by: Eric Van Hensbergen commit b3dc101a8a904396a440fa966c681c22cbb5f129 Merge: b4e4add... de5f503... Author: Eric Van Hensbergen Date: Mon Feb 27 20:50:57 2006 +0000 Merge branch 'master' Conflicts: drivers/char/hvc_console.c commit b4e4add5d57f130a422e68787626f96f311658a0 Author: Eric Van Hensbergen Date: Fri Feb 24 16:47:36 2006 -0600 [PATCH] systemsim: add early debug option when using systemsim console This patch adds udbg hooks for early-printk debug when using the IBM Full System Simulator console support. Signed-off-by: Eric Van Hensbergen commit 6f27df783005ca87d1a27370837070b98798fbeb Author: Eric Van Hensbergen Date: Fri Feb 24 16:46:07 2006 -0600 [PATCH] systemsim: add boot hacks for non-standard platforms When booting on some "experimental platforms" under the IBM Full System Simulator - a certain set of boot hacks are required which differentiate the hardware from standard pSeries systems. This patch adds a config flag which allows you to use these hacks. Signed-off-by: Eric Van Hensbergen commit aacd155ef15d97f7ccc2c43922293abef3d7381f Merge: 72e13e7... bd71c2b... Author: Eric Van Hensbergen Date: Sun Feb 19 19:10:39 2006 +0000 Merge branch 'master' commit 72e13e73b5998b853a9bd20e8c425486818ed09a Author: Eric Van Hensbergen Date: Thu Feb 2 09:28:47 2006 -0600 [PATCH] systemsim: clean up default configuration Signed-off-by: Eric Van Hensbergen commit ea40711c3a573b917cade94c1bdca659e4f3f905 Author: Eric Van Hensbergen Date: Thu Feb 2 09:27:48 2006 -0600 [PATCH] systemsim: clean up systemsim block driver Clean-up the systemsim block driver and integrate some of the suggestions from LKML. Signed-off-by: Eric Van Hensbergen commit 79e30c5718a29c6de20e45f00bc1b458b359c29c Author: Eric Van Hensbergen Date: Thu Feb 2 09:26:01 2006 -0600 systemsim: clean-up systemsim network patch Incorporate some of the LKML feedback, clean-up naming conventions and fix a bug. Signed-off-by: Eric Van Hensbergen commit 5468f5b2fb461b7a2af879ad314194c54c70847e Author: Eric Van Hensbergen Date: Thu Feb 2 09:13:32 2006 -0600 [PATCH] powerpc: rtas console Current Cell hardware is using the console through a set of rtas calls. This driver is needed to get console output on those boards. Signed-off-by: Arnd Bergmann commit d07920310527c12c13bd85f1dbc679d85006448d Author: Eric Van Hensbergen Date: Thu Feb 2 09:13:20 2006 -0600 [PATCH] systemsim: hvc based console The IBM full system simulator for PowerPC has its own set of calls used for console interaction, when not simulating actual serial port hardware. This is needed to run the simulator for Cell and can also be used for the PowerPC 970 simulator. It also adds the generic asm/systemsim.h header file that is also used by other device drivers for the system simulator, i.e. the block and network drivers. Signed-off-by: "Ryan S. Arnold" Signed-off-by: Arnd Bergmann commit b03419a54e848087269b885b6668a1f2d2ade61e Author: Eric Van Hensbergen Date: Thu Feb 2 09:13:07 2006 -0600 [PATCH] powerpc: console rework These are some updates from both Ryan and Arnd for the hvc_console driver: The main point is to enable the inclusion of a console driver for rtas and for systemsim, which are needed for the cell platform. Also shuffle around some data-type declarations and moves some functions out of include/asm-ppc64/hvconsole.h and into a new drivers/char/hvc_console.h file. From: "Ryan S. Arnold" Signed-off-by: "Ryan S. Arnold" Signed-off-by: Arnd Bergmann commit 679de1715f7718a25eb813b48855983ec2fac261 Author: Eric Van Hensbergen Date: Thu Feb 2 09:12:48 2006 -0600 [PATCH] systemsim: default configuration This default configuration is supposed to work with both the powerpc970 as well as the cell systemsim. From: Eric Van Hensbergen Signed-off-by: Arnd Bergmann commit 498f943bb2fd8b1766f5fce1ed24a54131726c5a Author: Eric Van Hensbergen Date: Thu Feb 2 09:12:32 2006 -0600 [PATCH] systemsim: network driver support This adds a simple network driver for virtual networking on the IBM Full System Simulator. From: Eric Van Hensbergen Signed-off-by: Arnd Bergmann commit 65b2e6d3cff3e75c9c7cd1ce624dda68dbbb0fba Author: Eric Van Hensbergen Date: Thu Feb 2 09:11:51 2006 -0600 [PATCH] systemsim: bogus idle support The original cpu_idle hack from the systemsim git tree is a bit strange, because it unconditionally changes the native_idle function. This one instead introduces a new idle implementation that is only used on systemsim. Signed-off-by: Arnd Bergmann commit ea136813c9ac655a69693af5aa0473f2ea7e6401 Author: Eric Van Hensbergen Date: Thu Feb 2 09:11:37 2006 -0600 [PATCH] systemsim: block driver support The block device driver for systemsim is currently required for running on the Cell systemsim port, which does not simulate any other block devices. From: Eric Van Hensbergen Signed-off-by: Arnd Bergmann commit 71a1e68425691411ccea71025f6dae8355607ea9 Author: Eric Van Hensbergen Date: Thu Feb 2 09:11:23 2006 -0600 [PATCH] systemsim: basic systemsim support Add some support and doc files for the IBM Full System Simulator and a configuration option that acts as a control for the patches based on this one. No code is changed in this patch, but it is required for the systemsim network, block, hvc_console and cpu_idle patches that are based on the infrastructure in here. From: Eric Van Hensbergen Signed-off-by: Arnd Bergmann --- diffstat: Documentation/systemsim/maple.tcl | 1145 +++++++++++ Documentation/systemsim/systemsim.txt | 92 arch/powerpc/Kconfig | 28 arch/powerpc/configs/cbesim_defconfig | 868 ++++++++ arch/powerpc/configs/systemsim_defconfig | 1127 ++++++++++ arch/powerpc/kernel/Makefile | 1 arch/powerpc/kernel/idle_systemsim.c | 35 arch/powerpc/kernel/setup_64.c | 20 arch/powerpc/kernel/udbg.c | 3 arch/powerpc/platforms/cell/setup.c | 3 arch/powerpc/platforms/pseries/setup.c | 7 drivers/block/Kconfig | 7 drivers/block/Makefile | 2 drivers/block/systemsim_bd.c | 319 +++ drivers/char/Kconfig | 32 drivers/char/Makefile | 1 drivers/char/hvc_fss.c | 134 + drivers/net/Kconfig | 8 drivers/net/Makefile | 1 drivers/net/systemsim_net.c | 393 +++ include/asm-powerpc/machdep.h | 1 include/asm-powerpc/systemsim.h | 132 + include/asm-powerpc/udbg.h | 1 23 files changed, 4341 insertions(+), 19 deletions(-) ====== systemsim-cell_defconfig.diff ====== Subject: [FYI] cell: enable systemsim in cell_defconfig This is a patch against the cell_defconfig to enable systemsim. Signed-off-by: Jens Osterkamp --- --- diffstat: cell_defconfig | 7 +++++++ 1 file changed, 7 insertions(+) ====== powerpc-pci-scan-2.diff ====== Subject: powerpc: allow PHBs anywhere in the device tree The rtas_pci code currently restricts pci host bridges to locations directly under the device tree root. In order to correctly model a north bridge that has multiple PCI buses, that restriction needs to be relaxed. The new definition is a device node of type "pci" whose parent is of a different type, so we don't treat pci-to-pci bridges as host bridges. It also accepts any device type of "pci", "pcie", "ht" and "pciex" in order to match anything that is currently in use. I have added a new helper "of_find_phb_node" to prom.c so that pci implementations of non-rtas platforms can use this as well. Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/kernel/pci_64.c | 4 - arch/powerpc/kernel/prom.c | 66 +++++++++++++++++++++ arch/powerpc/kernel/rtas_pci.c | 20 ------ include/asm-powerpc/prom.h | 1 4 files changed, 70 insertions(+), 21 deletions(-) ====== dd2-performance.diff ====== Subject: [FYI] Performance hacks for broken Cell CPU revisions The currently used CPUs of the Cell BE DD2.0 release have a few glitches that may result in bad performance, these workarounds are suggested in the Errata: - When a decrementer or external exception occurs, wake up the other SMT thread from pause(0) state. - When a system reset exception occurs (i.e. the CPU wakes up from pause(0) state), do a quick check if we were meant to wake up, otherwise go back to pause(0) state. - change the default floating point exception mode to zero. It is rather unlikely that we find a way to create a patch that won't be harmful to any other platform, so this is definitely not meant for inclusion in the mainline kernel, but only provided for those people that build a special kernel for Cell BE DD2.0. From: Jens Osterkamp Signed-off-by: Arnd Bergmann --- --- diffstat: configs/cell_defconfig | 1 kernel/head_64.S | 44 +++++++++++++++++++++++++++++ platforms/cell/Kconfig | 10 ++++++ 3 files changed, 55 insertions(+) ====== dd2-hack-runlatch-hack.diff ====== Subject: cell: fix dd2-performance.diff Change our DD2 hack for the new runlatch handling. Signed-off-by: Arnd Bergmann --- --- diffstat: head_64.S | 1 - 1 file changed, 1 deletion(-) ====== ib-max_rbc_rrs.diff ====== Subject: backport an infiniband fix From: Erez Cohen Add control of PCIX max read byte count and PCI Express max read request size parameters. This is due to the fact that some chipsets may not work or may not work optimally with the default parametrs. logic as follows: If the user sets a valid value to a paramter this value wins. Otherwise the value read from the device is compared to the default value defined by the spec. If value read does not equal default it is assumed the BIOS configured it and the BIOS value is retained. Signed-off-by: Arnd Bergmann --- diffstat: mthca_main.c | 67 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) ====== powerpc-generic-dcr.diff ====== Š…ubject: powerpc: generic DCR access The Axon chip has a MMIO accessed DCR bus. This patch add abstract access to DCR registers for any DCR based device drivers. Signed-off-by: Shaun Wetzstein --- diffstat: arch/powerpc/Kconfig | 7 +++ include/asm-powerpc/dcr.h | 56 ++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) ====== axon-mpic.diff ====== Subject: Axon MPIC support This patch is to add support for the MPIC inside the Axon South Bridge. Signed-off-by: Shaun Wetzstein Signed-off-by: Murali Iyer Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/Kconfig | 2 arch/powerpc/configs/cell_defconfig | 4 arch/powerpc/platforms/cell/setup.c | 74 ++++++++++++++ arch/powerpc/sysdev/mpic.c | 83 +++++++++++++--- include/asm-powerpc/mpic.h | 1 5 files changed, 151 insertions(+), 13 deletions(-) ====== axon-mpic-fix.diff ====== Subject: powerpc: fix mpic/axon patch Signed-off-by: Arnd Bergmann --- diffstat: platforms/cell/setup.c | 2 +- sysdev/mpic.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) ====== axon-base-2.diff ====== Subject: powerpc: axon: DCR support Base Axon south bridge support. Adds probing for of_device's based on the /axon device subtree. Signed-off-by: Shaun Wetzstein Signed-off-by: Arnd Bergmann --- diffstat: kernel/dma_64.c | 2 platforms/cell/Makefile | 2 platforms/cell/axon.c | 112 ++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+), 1 deletion(-) ====== axon-dcr-2.diff ====== Subject: powerpc: axon: DCR support This patch adds Axon DCR support for: - dcr_{read/write} - Axon specific DCR read/write - supports up to two DCR controllers - provides of_translate_dcr_address for MMIO address translation Signed-off-by: Shaun Wetzstein Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/configs/cell_defconfig | 1 arch/powerpc/platforms/cell/Makefile | 2 arch/powerpc/platforms/cell/axon_dcr.c | 162 +++++++++++++ include/asm-powerpc/axon_dcr.h | 6 4 files changed, 170 insertions(+), 1 deletion(-) ====== axon-dcr-sparse.diff ====== Subject: cell: sparse annotations for axon_dcr Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/platforms/cell/axon_dcr.c | 2 +- include/asm-powerpc/dcr.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) ====== axon-ibm_emac-2.diff ====== Subject: powerpc: Axon: add device tree support to ibm_emac This patch adds of_platform probing and basic dt support to ibm_emac. Signed-off-by: Shaun Wetzstein Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/Kconfig | 1 arch/powerpc/configs/cell_defconfig | 10 drivers/net/Kconfig | 16 drivers/net/ibm_emac/ibm_emac.h | 32 - drivers/net/ibm_emac/ibm_emac_busdev.h | 38 + drivers/net/ibm_emac/ibm_emac_compat.h | 73 ++ drivers/net/ibm_emac/ibm_emac_core.c | 395 +++++++++---- drivers/net/ibm_emac/ibm_emac_core.h | 12 drivers/net/ibm_emac/ibm_emac_mal.c | 154 ++++- drivers/net/ibm_emac/ibm_emac_mal.h | 15 drivers/net/ibm_emac/ibm_emac_phy.c | 4 drivers/net/ibm_emac/ibm_emac_rgmii.c | 133 ++-- drivers/net/ibm_emac/ibm_emac_rgmii.h | 22 drivers/net/ibm_emac/ibm_emac_tah.h | 1 drivers/net/ibm_emac/ibm_emac_zmii.c | 147 ++-- drivers/net/ibm_emac/ibm_emac_zmii.h | 35 - 16 files changed, 819 insertions(+), 269 deletions(-)