1. 19 10月, 2017 1 次提交
    • S
      irqchip/gic-v3: Add support for Range Selector (RS) feature · eda0d04a
      Shanker Donthineni 提交于
      A new feature Range Selector (RS) has been added to GIC specification
      in order to support more than 16 CPUs at affinity level 0. New fields
      are introduced in SGI system registers (ICC_SGI0R_EL1, ICC_SGI1R_EL1
      and ICC_ASGI1R_EL1) to relax an artificial limit of 16 at level 0.
      
      - A new RSS field in ICC_CTLR_EL3, ICC_CTLR_EL1 and ICV_CTLR_EL1:
        [18] - Range Selector Support (RSS)
        0b0 = Targeted SGIs with affinity level 0 values of 0-15 are supported.
        0b1 = Targeted SGIs with affinity level 0 values of 0-255 are supported.
      
      - A new RS field in ICC_SGI0R_EL1, ICC_SGI1R_EL1 and ICC_ASGI1R_EL1:
        [47:44] - RangeSelector (RS) which group of 16 TargetList[n] field
                  TargetList[n] represents aff0 value ((RS*16)+n)
                  When ICC_CTLR_EL3.RSS==0 or ICC_CTLR_EL1.RSS==0, RS is RES0.
      
      - A new RSS field in GICD_TYPER:
        [26] - Range Selector Support (RSS)
        0b0 = Targeted SGIs with affinity level 0 values of 0-15 are supported.
        0b1 = Targeted SGIs with affinity level 0 values of 0-255 are supported.
      Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      eda0d04a
  2. 31 8月, 2017 4 次提交
  3. 23 8月, 2017 2 次提交
  4. 15 6月, 2017 5 次提交
  5. 24 5月, 2017 1 次提交
  6. 08 5月, 2017 4 次提交
  7. 06 3月, 2017 1 次提交
  8. 08 2月, 2017 3 次提交
  9. 30 1月, 2017 2 次提交
  10. 29 11月, 2016 1 次提交
  11. 14 11月, 2016 1 次提交
  12. 17 10月, 2016 1 次提交
  13. 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
  14. 09 8月, 2016 1 次提交
  15. 19 7月, 2016 2 次提交
  16. 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
  17. 03 6月, 2016 2 次提交
  18. 20 5月, 2016 2 次提交
  19. 11 5月, 2016 1 次提交
  20. 11 12月, 2015 1 次提交
  21. 10 10月, 2015 2 次提交