1. 15 1月, 2010 1 次提交
  2. 15 12月, 2009 1 次提交
  3. 09 12月, 2009 2 次提交
  4. 24 11月, 2009 1 次提交
  5. 05 11月, 2009 1 次提交
  6. 30 10月, 2009 1 次提交
  7. 08 7月, 2009 1 次提交
  8. 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
  9. 13 1月, 2009 1 次提交
  10. 16 12月, 2008 1 次提交
  11. 13 12月, 2008 2 次提交
  12. 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
  13. 13 10月, 2008 12 次提交
  14. 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
  15. 26 6月, 2008 1 次提交
  16. 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
  17. 18 4月, 2008 2 次提交
  18. 31 3月, 2008 1 次提交
  19. 07 2月, 2008 4 次提交
  20. 20 12月, 2007 1 次提交
    • M
      [POWERPC] Push down or eliminate smp_processor_id calls in xics code · d7cf0edb
      Milton Miller 提交于
      The per-processor interrupt request register and current processor
      priority register are only accessed on the current cpu.  In fact the
      hypervisor doesn't even let us choose which cpu's registers to access.
      
      The only function to use cpu twice is xics_migrate_irqs_away, not a fast
      path.  But we can cache the result of get_hard_processor_id() instead of
      calling get_hard_smp_processor_id(cpu) in a loop across the call to rtas.
      
      Years ago the irq code passed smp_processor_id into get_irq, I thought
      we might initialize the CPPR third party at boot as an extra measure of
      saftey, and it made the code symmetric with the qirr (queued interrupt
      for software generated interrupts), but now it is just extra and
      sometimes unneeded work to pass it down.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d7cf0edb
  21. 02 10月, 2007 1 次提交
    • A
      [POWERPC] Fix xics set_affinity code · e48395f1
      Anton Blanchard 提交于
      On a POWER6 machine running 2.6.23-rc8 I sometimes see the following error:
      
      xics_set_affinity: No online cpus in the mask 00000000,00000000,00000000,00000001 for irq 20
      
      In a desperate attempt to get a changelog entry in 2.6.23, I took a look
      into it.
      
      It turns out we are passing a real and not a virtual irq into
      get_irq_server.  This works for the case where hwirq < NR_IRQS and we
      set virq = hwirq.  In my case however hwirq = 590082 and we try and
      access irq_desc[590082], slightly past the end at 512 entries.
      
      Lucky we ship lots of memory with our machines.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      e48395f1
  22. 13 9月, 2007 1 次提交
  23. 25 6月, 2007 1 次提交
    • 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