1. 16 7月, 2007 1 次提交
  2. 10 7月, 2007 1 次提交
  3. 25 6月, 2007 2 次提交
    • S
      [POWERPC] Fix Kexec/Kdump for power6 · b7abc5c5
      Sachin P. Sant 提交于
      On Power machines supporting VRMA, Kexec/Kdump does not work.
      VRMA (virtual real-mode area) means that accesses with IR/DR = 0
      (i.e. the MMU "off") actually still go through the hash table,
      using entries put there by the hypervisor.
      
      This means that when we clear out the hash table on kexec, we need to
      make sure these entries are left untouched.
      
      This also adds plpar_pte_read_raw() on the lines of
      plpar_pte_remove_raw().
      
      Signed-off-by : Sachin Sant <sachinp@in.ibm.com>
      Signed-off-by : Mohan Kumar M <mohan@in.ibm.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b7abc5c5
    • M
      [POWERPC] Fix interrupt distribution in ppc970 · 7ccb4a66
      Mohan Kumar M 提交于
      In some of the PPC970 based systems, interrupt would be distributed to
      offline cpus also even when booted with "maxcpus=1".  So check whether
      cpu online map and cpu present map are equal or not.  If they are equal
      default_distrib_server is used as interrupt server otherwise boot cpu
      (default_server) used as interrupt server.
      
      In addition to this, if an interrupt is assigned to a specific cpu (ie
      smp affinity) and if that cpu is not online, the earlier code used to
      return the default_distrib_server as interrupt server.  This
      introduces an additional parameter to the get_irq function, called
      strict_check.  Based on this parameter, if the cpu is not online
      either default_distrib_server or -1 is returned.
      Signed-off-by: NMohan Kumar M <mohan@in.ibm.com>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Acked-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7ccb4a66
  4. 14 6月, 2007 6 次提交
    • J
      [POWERPC] Donate idle CPU cycles on dedicated partitions · d8c391a5
      Jake Moilanen 提交于
      A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a
      shared CPU) to other shared processors if the administrator asks for it
      (via the HMC).
      
      This enables that to work properly on P6.
      
      This just involves setting a bit in the CAS structure as well as the
      VPA.  To donate cycles, a CPU has to have all SMT threads idle and
      have the donate bit set in the VPA.  Then call H_CEDE.
      
      The reason why shared processors just aren't used is because dedicated
      CPUs are guaranteed an actual processor, yet the system is still able to
      increase the capacity of the shared CPU pool.
      
      Also rename the VPA's cpuctls_task_attrs field to a more accurate name.
      Signed-off-by: NJake Moilanen <moilanen@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d8c391a5
    • B
      [POWERPC] Rewrite IO allocation & mapping on powerpc64 · 3d5134ee
      Benjamin Herrenschmidt 提交于
      This rewrites pretty much from scratch the handling of MMIO and PIO
      space allocations on powerpc64.  The main goals are:
      
       - Get rid of imalloc and use more common code where possible
       - Simplify the current mess so that PIO space is allocated and
         mapped in a single place for PCI bridges
       - Handle allocation constraints of PIO for all bridges including
         hot plugged ones within the 2GB space reserved for IO ports,
         so that devices on hotplugged busses will now work with drivers
         that assume IO ports fit in an int.
       - Cleanup and separate tracking of the ISA space in the reserved
         low 64K of IO space. No ISA -> Nothing mapped there.
      
      I booted a cell blade with IDE on PIO and MMIO and a dual G5 so
      far, that's it :-)
      
      With this patch, all allocations are done using the code in
      mm/vmalloc.c, though we use the low level __get_vm_area with
      explicit start/stop constraints in order to manage separate
      areas for vmalloc/vmap, ioremap, and PCI IOs.
      
      This greatly simplifies a lot of things, as you can see in the
      diffstat of that patch :-)
      
      A new pair of functions pcibios_map/unmap_io_space() now replace
      all of the previous code that used to manipulate PCI IOs space.
      The allocation is done at mapping time, which is now called from
      scan_phb's, just before the devices are probed (instead of after,
      which is by itself a bug fix). The only other caller is the PCI
      hotplug code for hot adding PCI-PCI bridges (slots).
      
      imalloc is gone, as is the "sub-allocation" thing, but I do beleive
      that hotplug should still work in the sense that the space allocation
      is always done by the PHB, but if you unmap a child bus of this PHB
      (which seems to be possible), then the code should properly tear
      down all the HPTE mappings for that area of the PHB allocated IO space.
      
      I now always reserve the first 64K of IO space for the bridge with
      the ISA bus on it. I have moved the code for tracking ISA in a separate
      file which should also make it smarter if we ever are capable of
      hot unplugging or re-plugging an ISA bridge.
      
      This should have a side effect on platforms like powermac where VGA IOs
      will no longer work. This is done on purpose though as they would have
      worked semi-randomly before. The idea at this point is to isolate drivers
      that might need to access those and fix them by providing a proper
      function to obtain an offset to the legacy IOs of a given bus.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3d5134ee
    • L
      [POWERPC] Tweak EEH copyright info · 3c8c90ab
      Linas Vepstas 提交于
      Twiddle the copyright notices. Per current guidelines, the use
      of the (C) or (c) in source code is deprecated.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/eeh.c        |    6 +++++-
       arch/powerpc/platforms/pseries/eeh_cache.c  |    3 ++-
       arch/powerpc/platforms/pseries/eeh_driver.c |    6 +++---
       3 files changed, 10 insertions(+), 5 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3c8c90ab
    • L
      [POWERPC] Remove dead EEH code · 42253a68
      Linas Vepstas 提交于
      Remove some dead code.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/eeh.c |    4 +---
       1 file changed, 1 insertion(+), 3 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      42253a68
    • L
      [POWERPC] Show EEH per-device false positives · 858955bd
      Linas Vepstas 提交于
      Track and report the number of times we read an all-1s value (0xff,
      0xffff or 0xffffffff) from each device which is valid data, not
      indicating EEH isolation.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/eeh.c       |    5 +++++
       arch/powerpc/platforms/pseries/eeh_sysfs.c |    3 +++
       include/asm-powerpc/pci-bridge.h           |    1 +
       3 files changed, 9 insertions(+)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      858955bd
    • L
      [POWERPC] Add EEH sysfs blinkenlights · e1d04c97
      Linas Vepstas 提交于
      Add sysfs blinkenlights for EEH statistics.  Shuffle the
      eeh_add_device_tree() call so that it appears in the correct
      sequence.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/Makefile    |    2
       arch/powerpc/platforms/pseries/eeh.c       |    4 +
       arch/powerpc/platforms/pseries/eeh_cache.c |    2
       arch/powerpc/platforms/pseries/eeh_sysfs.c |   84 +++++++++++++++++++++++++++++
       arch/powerpc/platforms/pseries/pci_dlpar.c |    7 +-
       include/asm-powerpc/ppc-pci.h              |    3 +
       6 files changed, 98 insertions(+), 4 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      e1d04c97
  5. 02 6月, 2007 1 次提交
  6. 17 5月, 2007 1 次提交
    • S
      [POWERPC] Fix warning on UP · f7c0d13b
      Stephen Rothwell 提交于
      arch/powerpc/platforms/pseries/pseries.h:24: warning: return type defaults to 'int'
      arch/powerpc/platforms/pseries/pseries.h:25: warning: return type defaults to 'int'
      arch/powerpc/platforms/pseries/pseries.h:24: warning: control reaches end of non-void function
      arch/powerpc/platforms/pseries/pseries.h:25: warning: control reaches end of non-void function
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f7c0d13b
  7. 10 5月, 2007 3 次提交
  8. 09 5月, 2007 4 次提交
  9. 08 5月, 2007 3 次提交
    • M
      [POWERPC] RTAS MSI implementation · 85f2bf9f
      Michael Ellerman 提交于
      Implement MSI support via RTAS (RTAS = run-time firmware on pSeries
      machines).  For now we assumes that if the required RTAS tokens for
      MSI are present, then we want to use the RTAS MSI routines.
      
      When RTAS is managing MSIs for us, it will/may enable MSI on devices that
      support it by default. This is contrary to the Linux model where a device
      is in LSI mode until the driver requests MSIs.
      
      To remedy this we add a pci_irq_fixup call, which disables MSI if they've
      been assigned by firmware and the device also supports LSI. Devices that
      don't support LSI at all will be left as is, drivers are still expected
      to call pci_enable_msi() before using the device.
      
      At the moment there is no pci_irq_fixup on pSeries, so we can just set it
      unconditionally. If other platforms use the RTAS MSI backend they'll need
      to check that still holds.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      85f2bf9f
    • B
      [POWERPC] Add powerpc PCI-E reset API implementation · 00c2ae35
      Brian King 提交于
      Adds the pSeries platform implementation for a new PCI API
      which can be used to issue various types of PCI-E reset,
      including PCI-E warm reset and PCI-E hot reset. This is needed
      for an ipr PCI-E adapter which does not properly implement BIST.
      Running BIST on this adapter results in PCI-E errors. The only
      reliable reset mechanism that exists on this hardware is PCI
      Fundamental reset (warm reset).
      Acked-by: NLinas Vepstas <linas@austin.ibm.com>
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      00c2ae35
    • L
      [POWERPC] Export pcibios_remove_pci_devices · fb39a96e
      Linas Vepstas 提交于
      The pseries PCI hotplug code cannot build as a module, unless
      the pcibios_remove_pci_devices function is exported.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      ----
       arch/powerpc/platforms/pseries/pci_dlpar.c |    1 +
       1 file changed, 1 insertion(+)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      fb39a96e
  10. 07 5月, 2007 1 次提交
  11. 03 5月, 2007 2 次提交
    • J
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare 提交于
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
    • G
      remove "struct subsystem" as it is no longer needed · 823bccfc
      Greg Kroah-Hartman 提交于
      We need to work on cleaning up the relationship between kobjects, ksets and
      ktypes.  The removal of 'struct subsystem' is the first step of this,
      especially as it is not really needed at all.
      
      Thanks to Kay for fixing the bugs in this patch.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      823bccfc
  12. 02 5月, 2007 1 次提交
    • L
      [POWERPC] pseries: Handle null iommu dma-window property correctly · 650f7b3b
      Linas Vepstas 提交于
      Some versions of pSeries firmware fail to set up a
      dma-window property for PCI slots that are unoccupied.
      As a result, the loop searching for this propery, in
      pci_dma_dev_setup_pSeriesLP(), can run to the end, resulting
      in a NULL pointer dereference later in the routine. This
      patch prevents the crash, and prints a warning message.
      
      This is theoretically a rare error, as it occurs on what
      is hopefully just beta levels of firmware. But just in case
      this firmware escapes into the wild, this patch will avoid
      the crash.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      650f7b3b
  13. 27 4月, 2007 1 次提交
  14. 13 4月, 2007 3 次提交
  15. 22 3月, 2007 10 次提交