====== asm-spu.h-declations.diff ====== Subject: cell: add forward struct declarations to spu.h Needed to be able to include spu.h independant from other headers. Signed-off-by: Arnd Bergmann --- diffstat: spu.h | 2 ++ 1 file changed, 2 insertions(+) ====== powerpc-cell-spider-mmio-workarounds-only-for-external-pci.diff ====== Subject: cell: Enable spider workarounds on all PCI buses From: Jens Osterkamp Don't limit spider I/O workarounds to the first two buses. The IBM Cell blade has three of them (one PCI, two PCIe) and we want to handle them all. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann --- diffstat: io-workarounds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ====== 2.6.20-rc1-defconfig.diff ====== Subject: cell: update cell_defconfig New options appeared in the kernel, and new hardware became available for us to use. Signed-off-by: Arnd Bergmann --- diffstat: cell_defconfig | 358 ++++++++++++++++++++++++++++++++----- 1 file changed, 314 insertions(+), 44 deletions(-) ====== powerpc-of-serial-2.diff ====== Subject: powerpc: experimental of serial port driver This can be used for serial ports that are connected to an OF platform bus but are not autodetected by the lecacy serial support. Not for inclusion at this point. Signed-off-by: Arnd Bergmann --- diffstat: Kconfig | 10 ++ Makefile | 1 of_serial.c | 141 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+) ====== powerpc-fix-spufs-with-new-style-device-tree.diff ====== Subject: powerpc: Fix spufs with "new style" device-tree From: Benjamin Herrenschmidt Some SPU code was a bit too convoluted and broke when adding support for the new style device-tree, most notably the struct pages for SPEs no longer get created. oops... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann --- diffstat: spu_priv1_mmio.c | 67 +++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 25 deletions(-) ====== spufs-node-number.diff ====== Subject: spufs: fix assignment of node numbers The difference between 'nid' and 'node' fields in an spu structure was used incorrectly. The common 'node' number now reflects the NUMA node, and it is used in other places in the code as well. The 'nid' value is meaningful only in one place, namely the computation of the interrupt numbers based on the physical location of an spu. Consequently, we look it up directly in the place where it is used now. Signed-off-by: Arnd Bergmann --- diffstat: spu_priv1_mmio.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) ====== powerpc-add-probing-ebc-bus.diff ====== Subject: powerpc: add scanning of ebc bus to of_platform This patch add scanning of ebc bus to of_platform, which is needed to recognize devices located on that bus. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: of_platform.c | 1 + 1 file changed, 1 insertion(+) ====== ipmi_si-check-devicetree.diff ====== Subject: ipmi: add autosensing of ipmi device on powerpc using device-tree This patch adds support for of_platform_driver to the ipmi_si module. When loading the module, the driver will be registered to of_platform. The driver will be probed for all devices with the type ipmi. It's supporting devices with compatible settings ipmi-kcs, ipmi-smic and ipmi-bt. Only ipmi-kcs could be tested. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: ipmi_si_intf.c | 99 +++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) ====== cbe_thermal-add-reg_to_temp.diff ====== Subject: cbe_thermal: clean up computation of temperature This patch introduces a little function for transforming register values into temperature. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: cbe_thermal.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) ====== cbe_thermal-throttling-attributes.diff ====== Subject: cbe_thermal: add throttling attributes to cpu and spu nodes This patch adds some attributes the cpu and spu nodes: /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_begin /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_end /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_full_stop Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: cbe_thermal.c | 155 +++++++++++++++++++++++++++++++++++++- 1 file changed, 154 insertions(+), 1 deletion(-) ====== spidernet-add-net_ratelimit.diff ====== Subject: Spidernet - add net_ratelimit to suppress long output From: James K Lewis This patch adds net_ratelimit to many of the printks in order to limit extraneous warning messages (created in response to Bug 28554). This has been tested, please apply. Signed-off-by: James K Lewis Signed-off-by: Arnd Bergmann --- drivers/net/spider_net.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- diffstat: spider_net.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ====== spidernet-on-celleb-2.diff ====== Subbject: spidernet: enable autonegotiate Following are the changes. -This patch enables auto-negotiation. -Loading firmware is done when spidernet_open() is called. -And this patch adds other several small changes for Celleb. -This patch is not tested on CellBlade. Signed-off-by: Kou Ishizaki Signed-off-by: Arnd Bergmann --- Dear everyone, This is the patch (besed on powerpc-git (2006-12-05)) for spidernet driver to work on Toshiba Cell reference set(Celleb). The reference set consists of Cell, 512MB memory, Super Companion Chip(SCC) and some peripherals such as HDD, GbE, etc. You can see brief explanation and picture of Cell reference set at following URLs. http://www.toshiba.co.jp/about/press/2005_09/pr2001.htm http://cell-industries.com/toshiba_announces.php This patch set is intended to be merged to 2.6.20. If you have any comment, please write to me. --- --- diffstat: Kconfig | 2 spider_net.c | 185 ++++++++++++++++++++++++++++++++++----- spider_net.h | 16 ++- 3 files changed, 176 insertions(+), 27 deletions(-) ====== spidernet-on-celleb-update.diff ====== Subject: spidernet: dynamic phy setup code This patch modifies the patch submitted by Kou Ishizaki to make it work on the blade (http://marc.theaimsgroup.com/?l=linux-netdev&m=116593424505539&w=2). Unfortunately I dont have access to a Celleb so I cannot test it there. The basic logic behind this is simple : when the interface first comes up it tries to detect the phy. When the phy is detected, it is initially set up to use copper. A timer is set to check the link status in spidernet_link_phy using poll_link. If link check fails more than SPIDER_NET_ANEG_TIMEOUT times, it switches to fiber link with autonegotiation. If that fails more than SPIDER_NET_ANEG_TIMEOUT times, it switches to fiber link with no autonegotiation. If that also fails, it goes back to copper, and so forth. If the link comes up, it prints the link abilites and we are done. The name of the phy found attached to the spider chip is reported to the user. Hardcoded values for the timeout are moved to #defines. I put in a few comments to make the code more readable. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann --- diffstat: spider_net.c | 74 ++++++++++++++++++++++++--------------- spider_net.h | 3 + 2 files changed, 49 insertions(+), 28 deletions(-) ====== spidernet-sungem-update.diff ====== Subject: spidernet: add improved phy support This patch adds improved version of enable_fiber for both the 5421 and the 5461 phy. It is now possible to specify with these wether you want autonegotiation or not. This is needed for bladecenter switches where some expect autonegotiation and some dont seem to like this at all. Depending on this flag it sets phy->autoneg accordingly for the fiber mode. More importantly it implements proper read_link and poll_link functions for both phys which can handle both copper and fiber mode by determining the medium first and then branching to the required functions. For fiber they all work fine, for copper they are not tested but return the result of the genmii_* function anyway which is supposed to work. A "medium" variable in the phy struct is introduced to save the medium with which the phy is currently used. The patch moves the genmii_* functions around to avoid foreward declarations. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann --- diffstat: sungem_phy.c | 394 ++++++++++++++++++++++++++------------- sungem_phy.h | 12 + 2 files changed, 276 insertions(+), 130 deletions(-) ====== usb-debug-enable.diff ====== Subject: [HACK] enable usb debugging Will be reverted soon, don't forward. Signed-off-by: Arnd Bergmann --- diffstat: hub.c | 2 ++ 1 file changed, 2 insertions(+) ====== 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(+) ====== mm-fix-alloc_bootmem-on-nodes-without-mem.diff ====== Subject: mm: enables booting a NUMA system where some nodes have no memory From: Christian Krafft When booting a NUMA system with nodes that have no memory (eg by limiting memory), bootmem_alloc_core tried to find pages in an uninitialized bootmem_map. This caused a null pointer access. This fix adds a check, so that NULL is returned. That will enable the caller (bootmem_alloc_nopanic) to alloc memory on other without a panic. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: bootmem.c | 4 ++++ 1 file changed, 4 insertions(+) ====== mm-fix-alloc_bootmem-call-after-bootmem-freed.diff ====== Subject: mm: fix call to alloc_bootmem after bootmem has been freed From: Christian Krafft In some cases it might happen, that alloc_bootmem is beeing called after bootmem pages have been freed. This is, because the condition SYSTEM_BOOTING is still true after bootmem has been freed. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann --- diffstat: page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ====== export-current-is-kevent.diff ====== Subject: export current_is_keventd will be removed when the kernel is fixed. Signed-off-by: Arnd Bergmann --- diffstat: workqueue.c | 1 + 1 file changed, 1 insertion(+) ====== libata-no-NULL-sg.diff ====== Subject: libata: fix oops with sparsemem libata incorrectly passes NULL arguments to sg_set_buf, which crashes on powerpc64 when looking for the corresponding mem_section. This introduces a new ata_exec_nodma() wrapper that takes no buffer arguments and does not call sg_set_buf either. In order to make it easier to detect this sort of problem, it also adds a WARN_ON(!buf) to sg_set_buf() so we get a log message even platforms without sparsemem. Signed-off-by: Arnd Bergmann --- diffstat: drivers/ata/libata-core.c | 27 ++++++++++++++++++++---- include/linux/scatterlist.h | 2 + 2 files changed, 25 insertions(+), 4 deletions(-) ====== early_pfn_in_nid-workaround.diff ====== Subject: early_pfn_in_nid() called when not early After a lot of debugging in spufs, I found that a crash that we encountered on Cell actually was caused by a change in the memory management. The patch that caused it is archived in http://lkml.org/lkml/2006/11/1/43, and this one has been discussed back and forth, but I fear that the current version may be broken for all setups that do memory hotplug with sparsemen and NUMA, at least on powerpc. What happens exactly is that the spufs code tries to register the memory area owned by the SPU as hotplug memory in order to get page structs (we probably shouldn't do it that way, but that's a separate discussion). memmap_init_zone now calls early_pfn_valid() and early_pfn_in_nid() in order to determine if the page struct should be initialized. This is wrong for two reasons: - early_pfn_in_nid checks the early_node_map variable to determine to which node the hot plugged memory belongs. However, the new memory never was part of the early_node_map to start with, so it incorrectly returns node zero, and then fails to initialize the page struct if we were trying to add it to a nonzero node. This is probably not a problem for pseries, but it is for cell. - both early_pfn_{in,to}_nid and early_node_map are in the __init section and may already have been freed at the time we are calling memmap_init_zone(). The patch below is not a suggested fix that I want to get into mainline (checking slab_is_available is the wrong here), but it is a quick fix that you should apply if you want to run a recent (post-2.6.18) kernel on the IBM QS20 blade. I'm sorry for not having reported this earlier, but we were always trying to find the problem in my own code... Signed-off-by: Arnd Bergmann --- diffstat: page_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)