1. 15 6月, 2017 1 次提交
  2. 24 5月, 2017 1 次提交
  3. 08 5月, 2017 4 次提交
  4. 06 3月, 2017 1 次提交
  5. 08 2月, 2017 3 次提交
  6. 30 1月, 2017 2 次提交
  7. 29 11月, 2016 1 次提交
  8. 14 11月, 2016 1 次提交
  9. 17 10月, 2016 1 次提交
  10. 13 9月, 2016 1 次提交
    • T
      irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI · db40f0a7
      Tomasz Nowicki 提交于
      In order to add ACPI support we need to isolate ACPI&DT common code and
      move DT logic to corresponding functions. To achieve this we are using
      firmware agnostic handle which can be unpacked to either DT or ACPI node.
      
      No functional changes other than a very minor one:
      1. Terminate its_init call with -ENODEV for non-DT case which allows
      to remove hack from its-gic-v3.c.
      2. Fix ITS base register address type (from 'unsigned long' to 'phys_addr_t'),
      as a bonus we get nice string formatting.
      3. Since there is only one of ITS parent domain convert it to static global
      variable and drop the parameter from its_probe_one. Users can refer to it
      in more convenient way then.
      Signed-off-by: NHanjun Guo <hanjun.guo@linaro.org>
      Signed-off-by: NTomasz Nowicki <tn@semihalf.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      db40f0a7
  11. 09 8月, 2016 1 次提交
  12. 19 7月, 2016 2 次提交
  13. 13 6月, 2016 2 次提交
    • S
      irqchip/gicv3-its: Implement two-level(indirect) device table support · 3faf24ea
      Shanker Donthineni 提交于
      Since device IDs are extremely sparse, the single, a.k.a flat table is
      not sufficient for the following two reasons.
      
      1) According to ARM-GIC spec, ITS hw can access maximum of 256(pages)*
         64K(pageszie) bytes. In the best case, it supports upto DEVid=21
         sparse with minimum device table entry size 8bytes.
      
      2) The maximum memory size that is possible without memblock depends on
         MAX_ORDER. 4MB on 4K page size kernel with default MAX_ORDER, so it
         supports DEVid range 19bits.
      
      The two-level device table feature brings us two advantages, the first
      is a very high possibility of supporting upto 32bit sparse, and the
      second one is the best utilization of memory allocation.
      
      The feature is enabled automatically during driver probe if the memory
      requirement is more than 2*ITS-pages and the hardware is capable of
      two-level table walk.
      Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      3faf24ea
    • S
      irqchip/gicv3-its: Split its_alloc_tables() into two functions · 9347359a
      Shanker Donthineni 提交于
      The function is getting out of control, it has too many goto
      statements and would be too complicated for adding a feature
      two-level device table. So, it is time for us to cleanup and
      move some of the logic to a separate function without affecting
      the existing functionality.
      Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      9347359a
  14. 03 6月, 2016 2 次提交
  15. 20 5月, 2016 2 次提交
  16. 11 5月, 2016 1 次提交
  17. 11 12月, 2015 1 次提交
  18. 10 10月, 2015 3 次提交
  19. 29 9月, 2015 1 次提交
  20. 27 8月, 2015 1 次提交
    • M
      irqchip/GICv3: Convert to EOImode == 1 · 0b6a3da9
      Marc Zyngier 提交于
      So far, GICv3 has been used in with EOImode == 0. The effect of this
      mode is to perform the priority drop and the deactivation of the
      interrupt at the same time.
      
      While this works perfectly for Linux (we only have a single priority),
      it causes issues when an interrupt is forwarded to a guest, and when
      we want the guest to perform the EOI itself.
      
      For this case, the GIC architecture provides EOImode == 1, where:
      - A write to ICC_EOIR1_EL1 drops the priority of the interrupt and
        leaves it active. Other interrupts at the same priority level can
        now be taken, but the active interrupt cannot be taken again
      - A write to ICC_DIR_EL1 marks the interrupt as inactive, meaning
        it can now be taken again.
      
      This patch converts the driver to be able to use this new mode,
      depending on whether or not the kernel can behave as a hypervisor.
      No feature change.
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      Reviewed-and-tested-by: NEric Auger <eric.auger@linaro.org>
      Cc: Christoffer Dall <christoffer.dall@linaro.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: kvmarm@lists.cs.columbia.edu
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1440604845-28229-2-git-send-email-marc.zyngier@arm.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      0b6a3da9
  21. 12 8月, 2015 1 次提交
  22. 30 7月, 2015 2 次提交
  23. 30 3月, 2015 2 次提交
  24. 08 3月, 2015 2 次提交
  25. 21 1月, 2015 1 次提交