1. 25 5月, 2018 1 次提交
  2. 15 5月, 2018 1 次提交
    • J
      powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet · 9dcb3df4
      Jonathan Neuschäfer 提交于
      The interrupt controller inside the Wii's Hollywood chip is connected to
      two masters, the "Broadway" PowerPC and the "Starlet" ARM926, each with
      their own interrupt status and mask registers.
      
      When booting the Wii with mini[1], interrupts from the SD card
      controller (IRQ 7) are handled by the ARM, because mini provides SD
      access over IPC. Linux however can't currently use or disable this IPC
      service, so both sides try to handle IRQ 7 without coordination.
      
      Let's instead make sure that all interrupts that are unmasked on the PPC
      side are masked on the ARM side; this will also make sure that Linux can
      properly talk to the SD card controller (and potentially other devices).
      
      If access to a device through IPC is desired in the future, interrupts
      from that device should not be handled by Linux directly.
      
      [1]: https://github.com/lewurm/miniSigned-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      9dcb3df4
  3. 20 9月, 2016 1 次提交
    • M
      powerpc: Remove all usages of NO_IRQ · ef24ba70
      Michael Ellerman 提交于
      NO_IRQ has been == 0 on powerpc for just over ten years (since commit
      0ebfff14 ("[POWERPC] Add new interrupt mapping core and change
      platforms to use it")). It's also 0 on most other arches.
      
      Although it's fairly harmless, every now and then it causes confusion
      when a driver is built on powerpc and another arch which doesn't define
      NO_IRQ. There's at least 6 definitions of NO_IRQ in drivers/, at least
      some of which are to work around that problem.
      
      So we'd like to remove it. This is fairly trivial in the arch code, we
      just convert:
      
          if (irq == NO_IRQ)	to	if (!irq)
          if (irq != NO_IRQ)	to	if (irq)
          irq = NO_IRQ;	to	irq = 0;
          return NO_IRQ;	to	return 0;
      
      And a few other odd cases as well.
      
      At least for now we keep the #define NO_IRQ, because there is driver
      code that uses NO_IRQ and the fixes to remove those will go via other
      trees.
      
      Note we also change some occurrences in PPC sound drivers, drivers/ps3,
      and drivers/macintosh.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      ef24ba70
  4. 16 9月, 2015 1 次提交
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  5. 02 6月, 2015 1 次提交
  6. 15 1月, 2014 1 次提交
  7. 29 10月, 2013 1 次提交
  8. 10 10月, 2013 1 次提交
    • R
      powerpc: add explicit OF includes · 26a2056e
      Rob Herring 提交于
      When removing prom.h include by of.h, several OF headers will no longer
      be implicitly included. Add explicit includes of of_*.h as needed.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Acked-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: linuxppc-dev@lists.ozlabs.org
      26a2056e
  9. 23 2月, 2012 1 次提交
  10. 16 2月, 2012 2 次提交
    • G
      irq_domain/powerpc: constify irq_domain_ops · 9f70b8eb
      Grant Likely 提交于
      Make all the irq_domain_ops structures in powerpc 'static const'
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      9f70b8eb
    • G
      irq_domain: Replace irq_alloc_host() with revmap-specific initializers · a8db8cf0
      Grant Likely 提交于
      Each revmap type has different arguments for setting up the revmap.
      This patch splits up the generator functions so that each revmap type
      can do its own setup and the user doesn't need to keep track of how
      each revmap type handles the arguments.
      
      This patch also adds a host_data argument to the generators.  There are
      cases where the host_data pointer will be needed before the function returns.
      ie. the legacy map calls the .map callback for each irq before returning.
      
      v2: - Add void *host_data argument to irq_domain_add_*() functions
          - fixed failure to compile
          - Moved IRQ_DOMAIN_MAP_* defines into irqdomain.c
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      a8db8cf0
  11. 15 2月, 2012 1 次提交
    • G
      irq_domain/powerpc: Use common irq_domain structure instead of irq_host · bae1d8f1
      Grant Likely 提交于
      This patch drops the powerpc-specific irq_host structures and uses the common
      irq_domain strucutres defined in linux/irqdomain.h.  It also fixes all
      the users to use the new structure names.
      
      Renaming irq_host to irq_domain has been discussed for a long time, and this
      patch is a step in the process of generalizing the powerpc virq code to be
      usable by all architecture.
      
      An astute reader will notice that this patch actually removes the irq_host
      structure instead of renaming it.  This is because the irq_domain structure
      already exists in include/linux/irqdomain.h and has the needed data members.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      bae1d8f1
  12. 19 5月, 2011 1 次提交
  13. 04 5月, 2011 1 次提交
  14. 29 3月, 2011 2 次提交
  15. 10 3月, 2011 1 次提交
  16. 21 12月, 2009 2 次提交
    • A
      powerpc/gc/wii: Remove get_irq_desc() · 95cd34b4
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/flipper-pic.c: In function 'flipper_pic_map':
      arch/powerpc/platforms/embedded6xx/flipper-pic.c:105: error: implicit declaration of function 'get_irq_desc'
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_map':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:98: error: implicit declaration of function 'get_irq_desc'
      
      These failures are caused by the changes introduced in commit
      "powerpc: Remove get_irq_desc()". The reason these drivers were not
      updated is that they weren't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      95cd34b4
    • A
      powerpc/gc/wii: hlwd-pic: convert irq_desc.lock to raw_spinlock · 7ccec3e7
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_irq_cascade':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:135: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:137: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:145: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:149: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      
      These failures are caused by the changes introduced in commit
      "genirq: Convert irq_desc.lock to raw_spinlock". The reason this driver
      was not updated is that it wasn't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7ccec3e7
  17. 13 12月, 2009 1 次提交