1. 09 3月, 2010 1 次提交
    • M
      powerpc/pseries: Pass CPPR value to H_XIRR hcall · f09b7b2a
      Mark Nelson 提交于
      Now that we properly keep track of the CPPR value (since
      49bd3647, "powerpc/pseries: Track previous
      CPPR values to correctly EOI interrupts") we can pass it to the
      H_XIRR hcall.
      
      This is needed because the Partition Adjunct Option of new versions of
      pHyp extend the H_XIRR hcall to include the CPPR as an input parameter.
      Earlier versions not supporting this option just disregard the extra
      input parameter, so this doesn't cause any problems for existing systems.
      
      The Partition Adjunct Option is required for future systems that will
      support SR-IOV capable devices.
      Signed-off-by: NMark Nelson <markn@au1.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f09b7b2a
  2. 17 2月, 2010 2 次提交
  3. 09 2月, 2010 1 次提交
  4. 08 2月, 2010 1 次提交
    • M
      powerpc/pseries: Fix kexec regression caused by CPPR tracking · 36350e00
      Mark Nelson 提交于
      The code to track the CPPR values added by commit
      49bd3647 ("powerpc/pseries: Track previous
      CPPR values to correctly EOI interrupts") broke kexec on pseries because
      the kexec code in xics.c calls xics_set_cpu_priority() before the IPI has
      been EOI'ed. This wasn't a problem previously but it now triggers a BUG_ON
      in xics_set_cpu_priority() because os_cppr->index isn't 0.
      
      Fix this problem by setting the index on the CPPR stack to 0 before calling
      xics_set_cpu_priority() in xics_teardown_cpu().
      
      Also make it clear that we only want to set the priority when there's just
      one CPPR value in the stack, and enforce it by updating the value of
      os_cppr->stack[0] rather than os_cppr->stack[os_cppr->index].
      
      While we're at it change the BUG_ON to a WARN_ON.
      Reported-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NMark Nelson <markn@au1.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      36350e00
  5. 01 2月, 2010 1 次提交
  6. 15 1月, 2010 1 次提交
  7. 15 12月, 2009 1 次提交
  8. 09 12月, 2009 2 次提交
  9. 24 11月, 2009 1 次提交
  10. 05 11月, 2009 1 次提交
  11. 30 10月, 2009 1 次提交
  12. 08 7月, 2009 1 次提交
  13. 28 4月, 2009 1 次提交
    • Y
      irq: change ->set_affinity() to return status · d5dedd45
      Yinghai Lu 提交于
      according to Ingo, change set_affinity() in irq_chip should return int,
      because that way we can handle failure cases in a much cleaner way, in
      the genirq layer.
      
      v2: fix two typos
      
      [ Impact: extend API ]
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: linux-arch@vger.kernel.org
      LKML-Reference: <49F654E9.4070809@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d5dedd45
  14. 13 1月, 2009 1 次提交
  15. 16 12月, 2008 1 次提交
  16. 13 12月, 2008 2 次提交
  17. 05 11月, 2008 1 次提交
    • S
      powerpc/pseries: Fix getting the server number size · 1ef8014d
      Sebastien Dugue 提交于
      The 'ibm,interrupt-server#-size' properties are not in the cpu nodes,
      which is where we currently look for them, but rather live under the
      interrupt source controller nodes (which have "ibm,ppc-xics" in their
      compatible property).
      
      This moves the code that looks for the ibm,interrupt-server#-size
      properties from xics_update_irq_servers() into xics_init_IRQ().
      
      Also this adds a check for mismatched sizes across the interrupt
      source controller nodes.  Not sure this is necessary as in this case
      the firmware might be seriously busted.
      
      This property only appears on POWER6 boxes and is only used in the
      set-indicator(gqirm) call, and apparently firmware currently ignores
      the value we pass.  Nevertheless we need to fix it in case future
      firmware versions use it.
      Signed-off-by: NSebastien Dugue <sebastien.dugue@bull.net>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1ef8014d
  18. 13 10月, 2008 12 次提交
  19. 16 9月, 2008 1 次提交
    • S
      powerpc: Separate the irq radix tree insertion and lookup · 967e012e
      Sebastien Dugue 提交于
      irq_radix_revmap() currently serves 2 purposes, irq mapping lookup
      and insertion which happen in interrupt and process context respectively.
      
      Separate the function into its 2 components, one for lookup only and one
      for insertion only.
      
      Fix the only user of the revmap tree (XICS) to use the new functions.
      
      Also, move the insertion into the radix tree of those irqs that were
      requested before it was initialized at said tree initialization.
      
      Mutual exclusion between the tree initialization and readers/writers is
      handled via a state variable (revmap_trees_allocated) set to 1 when the tree
      has been initialized and set to 2 after the already requested irqs have been
      inserted in the tree by the init path. This state is checked before any reader
      or writer access just like we used to check for tree.gfp_mask != 0 before.
      
      Finally, now that we're not any longer inserting nodes into the radix-tree
      in interrupt context, turn the GFP_ATOMIC allocations into GFP_KERNEL ones.
      Signed-off-by: NSebastien Dugue <sebastien.dugue@bull.net>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      967e012e
  20. 26 6月, 2008 1 次提交
  21. 24 4月, 2008 1 次提交
    • M
      [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries · 36f8a2c4
      Michael Ellerman 提交于
      Add a DEBUG config setting which turns on all (most) of the debugging
      under platforms/pseries.
      
      To have this take effect we need to remove all the #undef DEBUG's, in
      various files. We leave the #undef DEBUG in platforms/pseries/lpar.c,
      as this enables debugging printks from the low-level hash table routines,
      and tends to make your system unusable. If you want those enabled you
      still have to turn them on by hand.
      
      Also some of the RAS code has a DEBUG block which causes a functional
      change, so I've keyed this off a different (non-existant) debug #define.
      
      This is only enabled if you have PPC_EARLY_DEBUG enabled also.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      36f8a2c4
  22. 18 4月, 2008 2 次提交
  23. 31 3月, 2008 1 次提交
  24. 07 2月, 2008 2 次提交