• S
    irqchip/gic-v3-its: Fix the incorrect parsing of VCPU table size · 32bd44dc
    Shanker Donthineni 提交于
    The VCPU table consists of vPE entries, and its size provides the number
    of VPEs supported by GICv4 hardware. Unfortunately the maximum size of
    the VPE table is not discoverable like Device table. All VLPI commands
    limits the number of bits to 16 to hold VPEID, which is index into VCPU
    table. Don't apply DEVID bits for VCPU table instead assume maximum bits
    to 16.
    
    ITS log messages on QDF2400 without fix:
      allocated 524288 Devices (indirect, esz 8, psz 64K, shr 1)
      allocated 8192 Interrupt Collections (flat, esz 8, psz 64K, shr 1)
      Virtual CPUs Table too large, reduce ids 32->26
      Virtual CPUs too large, reduce ITS pages 8192->256
      allocated 2097152 Virtual CPUs (flat, esz 8, psz 64K, shr 1)
    
    ITS log messages on QDF2400 with fix:
      allocated 524288 Devices (indirect, esz 8, psz 64K, shr 1)
      allocated 8192 Interrupt Collections (flat, esz 8, psz 64K, shr 1)
      allocated 65536 Virtual CPUs (flat, esz 8, psz 64K, shr 1)
    Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
    Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
    32bd44dc
irq-gic-v3-its.c 80.1 KB