1. 16 12月, 2015 1 次提交
    • L
      irqchip/gic: Support RealView variant setup · 8673c1d7
      Linus Walleij 提交于
      The ARM RealView PB11MPCore reference design has some special
      bits in a system controller register to set up the GIC in one
      of three modes: legacy, new with DCC, new without DCC. The
      register is also used to enable FIQ.
      
      Since the platform will not boot unless this register is set
      up to "new with DCC" mode, we need a special quirk to be
      compiled-in for the RealView platforms.
      
      If we find the right compatible string on the GIC TestChip,
      we enable this quirk by looking up the system controller and
      enabling the special bits.
      
      We depend on the CONFIG_REALVIEW_DT Kconfig symbol as the old
      boardfile code has the same fix hardcoded, and this is only
      needed for the attempts to modernize the RealView code using
      device tree.
      
      After fixing this, the PB11MPCore boots with device tree
      only.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      8673c1d7
  2. 02 12月, 2015 1 次提交
  3. 17 11月, 2015 3 次提交
  4. 11 11月, 2015 1 次提交
    • A
      irqchip: irq-mips-gic: Provide function to map GIC user section · c0a9f72c
      Alex Smith 提交于
      The GIC provides a "user-mode visible" section containing a mirror of
      the counter registers which can be mapped into user memory. This will
      be used by the VDSO time function implementations, so provide a
      function to map it in.
      
      When the GIC is not enabled in Kconfig a dummy inline version of this
      function is provided, along with "#define gic_present 0", so that we
      don't have to litter the VDSO code with ifdefs.
      
      [markos.chandras@imgtec.com:
        - Move mapping code to arch/mips/kernel/vdso.c and use a resource
          type to get the GIC usermode information
        - Avoid renaming function arguments and use __gic_base_addr to hold
          the base GIC address prior to ioremap.]
      [ralf@linux-mips.org: Fix up gic_get_usm_range() to compile and make inline
      again.]
      Signed-off-by: NAlex Smith <alex.smith@imgtec.com>
      Signed-off-by: NMarkos Chandras <markos.chandras@imgtec.com>
      Reviewed-by: NMarc Zyngier <marc.zyngier@arm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Alex Smith <alex.smith@imgtec.com>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/11281/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      c0a9f72c
  5. 26 10月, 2015 2 次提交
    • L
      irqchip/tegra: Propagate IRQ type setting to parent · 209da391
      Lucas Stach 提交于
      The LIC doesn't deal with the different types of interrupts itself
      but needs to forward calls to set the appropriate type to its parent
      IRQ controller.
      
      Without this fix all IRQs routed through the LIC will stay at the
      initial EDGE type, while most of them should actually be level triggered.
      
      Fixes: 1eec5821 "irqchip: tegra: Add Tegra210 support"
      Signed-off-by: NLucas Stach <dev@lynxeye.de>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: <stable@vger.kernel.org> # 4.1
      Link: http://lkml.kernel.org/r/1445787552-13062-1-git-send-email-dev@lynxeye.deSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      209da391
    • T
      irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN · 353d6d6c
      Thomas Petazzoni 提交于
      Commit d17cab44 ("irqchip: Kill off set_irq_flags usage") changed
      the code of armada_370_xp_mpic_irq_map() from using set_irq_flags() to
      irq_set_probe().
      
      While the commit log seems to imply that there are no functional
      changes, there are indeed functional changes introduced by this
      commit: the IRQ_NOAUTOEN flag is no longer cleared. This functional
      change causes a regression on Armada XP, which no longer works
      properly after suspend/resume because per-CPU interrupts remain
      disabled.
      
      Due to how the hardware registers work, the irq-armada-370-xp cannot
      simply save/restore a bunch of registers at suspend/resume to make
      sure that the interrupts remain in the same state after
      resuming. Therefore, it relies on the kernel to say whether the
      interrupt is disabled or not, using the irqd_irq_disabled()
      function. This was all working fine while the IRQ_NOAUTOEN flag was
      cleared.
      
      With the change introduced by Rob Herring in d17cab44, the
      IRQ_NOAUTOEN flag is now set for all interrupts. irqd_irq_disabled()
      returns false for per-CPU interrupts, and therefore our per-CPU
      interrupts are no longer re-enabled after resume.
      
      This commit works around this problem by clearing again the
      IRQ_NOAUTOEN flags, so that we are back to the situation we had before
      commit d17cab44. This work around is proposed as a minimal fix
      for the problem, while a better long-term solution is being worked on.
      
      Fixes: d17cab44 "irqchip: Kill off set_irq_flags usage"
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Link: https://lkml.kernel.org/r/1445435295-19956-1-git-send-email-thomas.petazzoni@free-electrons.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      353d6d6c
  6. 16 10月, 2015 2 次提交
  7. 15 10月, 2015 2 次提交
  8. 14 10月, 2015 9 次提交
  9. 10 10月, 2015 8 次提交
  10. 03 10月, 2015 2 次提交
  11. 01 10月, 2015 4 次提交
  12. 30 9月, 2015 2 次提交
  13. 29 9月, 2015 3 次提交