• Shanker Donthineni's avatar
    irqchip/gic-v3-its: Fix the incorrect parsing of VCPU table size · 32bd44dc
    Shanker Donthineni authored
    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: default avatarShanker Donthineni <shankerd@codeaurora.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    32bd44dc
irq-gic-v3-its.c 80.1 KB