• Suzuki K Poulose's avatar
    perf: ARM DynamIQ Shared Unit PMU support · 7520fa99
    Suzuki K Poulose authored
    Add support for the Cluster PMU part of the ARM DynamIQ Shared Unit (DSU).
    The DSU integrates one or more cores with an L3 memory system, control
    logic, and external interfaces to form a multicore cluster. The PMU
    allows counting the various events related to L3, SCU etc, along with
    providing a cycle counter.
    
    The PMU can be accessed via system registers, which are common
    to the cores in the same cluster. The PMU registers follow the
    semantics of the ARMv8 PMU, mostly, with the exception that
    the counters record the cluster wide events.
    
    This driver is mostly based on the ARMv8 and CCI PMU drivers.
    The driver only supports ARM64 at the moment. It can be extended
    to support ARM32 by providing register accessors like we do in
    arch/arm64/include/arm_dsu_pmu.h.
    
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    7520fa99
arm_dsu_pmu.c 21.8 KB