1. 09 7月, 2010 1 次提交
  2. 06 5月, 2009 1 次提交
    • I
      irq: change ->set_affinity() to return status, fix · b2e5d858
      Ingo Molnar 提交于
      This build failure:
      
       arch/powerpc/sysdev/mpic.c:810: error: conflicting types for 'mpic_set_affinity'
       arch/powerpc/sysdev/mpic.h:39: error: previous declaration of 'mpic_set_affinity' was here
       make[2]: *** [arch/powerpc/sysdev/mpic.o] Error 1
       make[2]: *** Waiting for unfinished jobs....
      
      Triggers because the function prototype was not updated when the
      function call signature got changed by:
      
         d5dedd45: irq: change ->set_affinity() to return status
      
      [ Impact: build fix on powerpc ]
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      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>
      b2e5d858
  3. 13 12月, 2008 1 次提交
  4. 20 8月, 2008 1 次提交
  5. 28 12月, 2007 1 次提交
    • O
      [POWERPC] pasemi: Implement NMI support · f365355e
      Olof Johansson 提交于
      Some PWRficient-based boards have a NMI button that's wired up to a GPIO
      as interrupt source. By configuring the openpic accordingly, these get
      delivered as a machine check with high priority, instead of as an external
      interrupt.
      
      The device tree contains a property "nmi-source" in the openpic node
      for these systems, and it's the (hwirq) source for the input.
      
      Also, for these interrupts, the IACK is read from another register than
      the regular (MCACK instead), but they are EOI'd as usual. So implement
      said function for the mpic driver.
      
      Finally, move a couple of external function defines to include/ instead
      of local under sysdev. Being able to mask/unmask and eoi directly saves
      us from setting up a dummy irq handler that will never be called.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      f365355e
  6. 20 12月, 2007 1 次提交
    • O
      [POWERPC] pasemi: Implement MSI support · 38958dd9
      Olof Johansson 提交于
      Implement MSI support for PA Semi PWRficient platforms. MSI is done
      through a special range of sources on the openpic controller, and they're
      unfortunately breaking the usual concepts of how sources are programmed:
      
      * The source is calculated as 512 + the value written into the MSI
        register
      * The vector for this source is added to the source and reported
        through IACK
      
      This means that for simplicity, it makes much more sense to just set the
      vector to 0 for the source, since that's really the vector we expect to
      see from IACK.
      
      Also, the affinity/priority registers will affect 16 sources at a
      time. To avoid most (simple) users from being limited by this, allocate
      16 sources per device but use only one. This means that there's a total
      of 32 sources.
      
      If we get usage scenarions that need more sources, the allocator should
      probably be revised to take an alignment argument and size, not just do
      natural alignment.
      
      Finally, since I'm already touching the MPIC names on pasemi, rename
      the base one from the somewhat odd " PAS-OPIC  " to "PASEMI-OPIC".
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Acked-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      38958dd9
  7. 22 9月, 2007 1 次提交
  8. 08 5月, 2007 2 次提交
    • M
      [POWERPC] MPIC U3/U4 MSI backend · 05af7bd2
      Michael Ellerman 提交于
      MPIC U3/U4 MSI backend. Based on code from Segher, heavily hacked by me.
      This only deals with MSI on U3/U4 MPICs, aka. CPC 9x5.
      
      If we find a U3/U4 then we enable this backend, ie. take over the ppc_md
      MSI hooks. We might need more elaborate logic in future to decide which
      backend is enabled.
      
      We need our own irq_chip so that we can do MSI masking/unmasking on
      the device itself. We also need to mask explicitly on shutdown to make
      sure we don't get bitten by lazy-disable semantics.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      05af7bd2
    • M
      [POWERPC] MPIC MSI allocator · a7de7c74
      Michael Ellerman 提交于
      To support MSI on MPIC we need a way to reserve and allocate hardware irq
      numbers, this patch implements an allocator for that purpose.
      
      New firmware platforms must define a "msi-available-ranges" property on their
      MPIC node for MSI to work. For U3/U4 we do a best-guess setup.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a7de7c74