1. 28 3月, 2011 1 次提交
    • T
      arm: Ns9xxx: Remove private irq flow handler · 68293105
      Thomas Gleixner 提交于
      handle_prio_irq is almost identical with handle_fasteoi_irq. The
      subtle differences are
      
      1) The handler checks for IRQ_DISABLED after the device handler has
         been called. In case it's set it masks the interrupt.
      
      2) When the handler sees IRQ_DISABLED on entry it masks the interupt
         in the same way as handle_fastoei_irq, but does not set the
         IRQ_PENDING flag.
      
      3) Instead of gracefully handling a recursive interrupt it crashes the
         kernel.
      
      #1 is just relevant when a device handler calls disable_irq_nosync()
         and it does not matter whether we mask the interrupt right away or
         not. We handle lazy masking for disable_irq anyway, so there is no
         real reason to have this extra mask in place.
      
      #2 will prevent the resend of a pending interrupt, which can result in
         lost interrupts for edge type interrupts. For level type interrupts
         the resend is a noop in the generic code. According to the
         datasheet all interrupts are level type, so marking them as such
         will result in the exact same behaviour as the private
         handle_prio_irq implementation.
      
      #3 is just stupid. Crashing the kernel instead of handling a problem
         gracefully is just wrong. With the current semantics- all handlers
         run with interrupts disabled - this is even more wrong.
      
      Rename ack to eoi, remove the unused mask_ack, switch to
      handle_fasteoi_irq and remove the private function.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Acked-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
      Cc: linux-arm-kernel@lists.infradead.org
      LKML-Reference: <20110202212552.299898447@linutronix.de>
      68293105
  2. 14 1月, 2011 1 次提交
  3. 15 12月, 2009 1 次提交
  4. 13 1月, 2009 1 次提交
  5. 06 9月, 2008 1 次提交
  6. 07 8月, 2008 2 次提交
  7. 03 8月, 2008 1 次提交
  8. 25 4月, 2008 3 次提交
  9. 31 3月, 2008 3 次提交
    • U
      ns9xxx: add support for irq priorisation · ed6f5987
      Uwe Kleine-König 提交于
      prio2irq(0) is the highest prioritized interrupt.  For now there is no
      binary change intended.
      
      If you intend to change the priorisation, you have to assert:
      
      	∀ x ∈ {0, 1, ⋯ 31}: (irq2prio ∘ prio2irq)(x) = x
      Signed-off-by: NUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
      ed6f5987
    • U
      ns9xxx: make use of the chip's irq priorisation · 5e69b945
      Uwe Kleine-König 提交于
      The irq controller automatically masks the current and all lower prioritised
      tasks until the current irq is acked.
      Signed-off-by: NUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
      5e69b945
    • U
      ns9xxx: prepare for adding support for Digi ns921x processors · 724ce5ee
      Uwe Kleine-König 提交于
      The hardware team changed some things that were taken as being common to
      all ns9xxx processors up to now.
      
      This patch addresses:
      
      - irqs: s/IRQ_/IRQ_NS9360_/
      
      - system module registers: some registers are still general, their
        definition lives now in include/asm-arm/arch-ns9xxx/regs-sys-common.h.
        The ns9360 specific ones are in .../regs-sys-ns9360.h
        As a result ns9360_systemclock cannot be static inline any more as its
        definition needs regs-sys-ns9360.h.  This becomes a real problem when
        adding support for ns9215 as this will need regs-sys-ns9215.h and
        including both files will not work.  For the same reason
        ns9360_reset() is now non-inline and gpio functions live in their own
        file.
      
      - register mapping: s/ns9xxx_map_io/ns9360_map_io/
      
      - timer registers:  move time.c to time-ns9360.c;
        s/ns9xxx_timer/ns9360_timer/
      Signed-off-by: NUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
      724ce5ee
  10. 13 10月, 2007 2 次提交
  11. 20 7月, 2007 2 次提交
  12. 18 2月, 2007 1 次提交