1. 04 7月, 2011 10 次提交
  2. 24 5月, 2011 5 次提交
  3. 12 5月, 2011 2 次提交
  4. 11 5月, 2011 2 次提交
    • S
      ARM: GIC: Convert GIC library to use the IO relaxed operations · 6ac77e46
      Santosh Shilimkar 提交于
      The GIC register accesses today make use of readl()/writel()
      which prove to be very expensive when used along with mandatory
      barriers. This mandatory barriers also introduces an un-necessary
      and expensive l2x0_sync() operation. On Cortex-A9 MP cores, GIC
      IO accesses from CPU are direct and doesn't go through L2X0 write
      buffer.
      
      A DSB before writel_relaxed() in gic_raise_softirq() is added to be
      compliant with the Barrier Litmus document - the mailbox scenario.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      6ac77e46
    • W
      ARM: gic: use handle_fasteoi_irq for SPIs · 1a01753e
      Will Deacon 提交于
      Currently, the gic uses handle_level_irq for handling SPIs (Shared
      Peripheral Interrupts), requiring active interrupts to be masked at
      the distributor level during IRQ handling.
      
      On a virtualised system, only the CPU interfaces are virtualised in
      hardware. Accesses to the distributor must be trapped by the
      hypervisor, adding latency to the critical interrupt path in Linux.
      
      This patch modifies the GIC code to use handle_fasteoi_irq for handling
      interrupts, which only requires us to signal EOI to the CPU interface
      when handling is complete. Cascaded IRQ handling is also updated to use
      the chained IRQ enter/exit functions to honour the flow control of the
      parent chip.
      
      Note that commit 846afbd1 ("GIC: Dont disable INT in ack callback")
      broke cascading interrupts by forgetting to add IRQ masking. This is
      no longer an issue because the unmask call is now unnecessary.
      
      Tested on Versatile Express and Realview EB (1176 w/ cascaded GICs).
      Tested-and-reviewed-by: NAbhijeet Dharmapurikar <adharmap@codeaurora.org>
      Tested-and-acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      1a01753e
  5. 25 4月, 2011 1 次提交
  6. 11 4月, 2011 1 次提交
  7. 31 3月, 2011 1 次提交
  8. 29 3月, 2011 4 次提交
  9. 09 3月, 2011 1 次提交
    • S
      ARM: 6777/1: gic: Add hooks for architecture specific extensions · d7ed36a4
      Santosh Shilimkar 提交于
      Few architectures combine the GIC with an external interrupt
      controller. On such systems it may be necessary to update both
      the GIC registers and the external controller's registers to control
      IRQ behavior.
      
      This can be addressed in couple of possible methods.
       1. Export common GIC routines along with 'struct irq_chip gic_chip'
          and allow architectures to have custom function by override.
       2. Provide architecture specific function pointer hooks
          within GIC library and leave platforms to add the necessary
          code as part of these hooks.
      
      First one might be non-intrusive but have few shortcomings like arch
      needs to have there own custom gic library. Locks used should be
      common since it caters to same IRQs etc. Maintenance point of view
      also it leads to multiple file fixes.
      
      The second probably is cleaner and portable. It ensures that all the
      common GIC infrastructure is not touched and also provides archs to
      address their specific issue.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NColin Cross <ccross@android.com>
      Tested-by: NColin Cross <ccross@android.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d7ed36a4
  10. 26 2月, 2011 2 次提交
  11. 24 2月, 2011 1 次提交
  12. 15 1月, 2011 1 次提交
  13. 14 1月, 2011 5 次提交
  14. 07 1月, 2011 1 次提交
  15. 29 12月, 2010 1 次提交
  16. 15 12月, 2010 2 次提交