1. 09 2月, 2017 1 次提交
  2. 08 2月, 2017 5 次提交
  3. 23 1月, 2017 1 次提交
  4. 29 11月, 2016 4 次提交
  5. 17 10月, 2016 1 次提交
    • M
      irqchip/gic-v3-its: Fix 64bit GIC{R,ITS}_TYPER accesses · 589ce5f4
      Marc Zyngier 提交于
      The GICv3 architecture specification mentions that a 64bit
      register can be accessed using two 32bit accesses. What it
      doesn't mention is that this is only guaranteed on a system
      that implements AArch32, and a pure AArch64 system is allowed
      not to support this. This causes issues with the GICR_TYPER
      and GITS_TYPER registers, which are both RO 64bit registers.
      
      In order to solve this, this patch switches the TYPER accesses
      to the gic_read_typer macro already used in other parts of the
      driver. This makes sure that we always use a 64bit access on
      64bit systems, and two 32bit accesses on 32bit system.
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      589ce5f4
  6. 16 9月, 2016 1 次提交
  7. 13 9月, 2016 3 次提交
  8. 19 8月, 2016 1 次提交
    • D
      irqchip/gicv3-its: Disable the ITS before initializing it · 7611da86
      David Daney 提交于
      When starting a kexec/kdump kernel, the GIC ITS will already have been
      enabled.  According to the ARM Generic Interrupt Controller
      Architecture Specification (GIC architecture Version 3.0 and version
      4.0), writing to GITS_BASER<n> or GITS_CBASER is "UNPREDICTABLE" when
      the ITS is enabled.  On Cavium Thunder systems, this prevents the ITS
      from being initializing in the kexec/kdump kernel, resulting in
      failure to register/enable interrupts for all devices.
      
      The fix is to disable the ITS if it is not already in the disabled
      state.  This allows the ITS to be properly initialized and then
      re-enabled in the kexec/kdump kernel.
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      7611da86
  9. 13 6月, 2016 5 次提交
  10. 03 6月, 2016 1 次提交
  11. 11 5月, 2016 1 次提交
    • S
      irqchip/gicv3-its: Don't allow devices whose ID is outside range · 466b7d16
      Shanker Donthineni 提交于
      We are not checking whether the requested device identifier fits into
      the device table memory or not. The function its_create_device()
      assumes that enough memory has been allocated for whole DevID space
      (reported by ITS_TYPER.Devbits) during the ITS probe() and continues
      to initialize ITS hardware.
      
      This assumption is not perfect, sometimes we reduce memory size either
      because of its size crossing MAX_ORDER-1 or BASERn max size limit. The
      MAPD command fails if 'Device ID' is outside of device table range.
      
      Add a simple validation check to avoid MAPD failures since we are
      not handling ITS command errors. This change also helps to return an
      error -ENOMEM instead of success to caller.
      Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      466b7d16
  12. 09 3月, 2016 2 次提交
  13. 18 2月, 2016 1 次提交
  14. 12 2月, 2016 1 次提交
    • A
      irqchip/gic-v3-its: Fix double ICC_EOIR write for LPI in EOImode==1 · 004fa08d
      Ashok Kumar 提交于
      When the GIC is using EOImode==1, the EOI is done immediately,
      leaving the deactivation to be performed when the EOI was
      previously done.
      
      Unfortunately, the ITS is not aware of the EOImode at all, and
      blindly EOIs the interrupt again. On most systems, this is ignored
      (despite being a programming error), but some others do raise a
      SError exception as there is no priority drop to perform for this
      interrupt.
      
      The fix is to stop trying to be clever, and always call into the
      underlying GIC to perform the right access, irrespective of the
      more we're in.
      
      [Marc: Reworked commit message]
      
      Fixes: 0b996fd3 ("irqchip/GICv3: Convert to EOImode == 1")
      Cc: stable@vger.kernel.org
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NAshok Kumar <ashoks@broadcom.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      004fa08d
  15. 04 2月, 2016 1 次提交
  16. 26 1月, 2016 1 次提交
  17. 14 10月, 2015 2 次提交
  18. 03 10月, 2015 1 次提交
  19. 29 9月, 2015 4 次提交
  20. 15 9月, 2015 1 次提交
  21. 30 7月, 2015 2 次提交