• Stephen Boyd's avatar
    ARM: perf: fully support Krait CPU PMU events · b7aafe99
    Stephen Boyd authored
    Krait supports a set of performance monitor region event
    selection registers (PMRESR) sitting behind a cp15 based
    interface that extend the architected PMU events to include Krait
    CPU and Venum VFP specific events. To use these events the user
    is expected to program the region register (PMRESRn) with the
    event code shifted into the group they care about and then point
    the PMNx event at that region+group combo by writing a
    PMRESRn_GROUPx event. Add support for this hardware.
    
    Note: the raw event number is a pure software construct that
    allows us to map the multi-dimensional number space of regions,
    groups, and event codes into a flat event number space suitable
    for use by the perf framework.
    
    This is based on code originally written by Ashwin Chaugule and
    Neil Leeder [1].
    
    [1] https://www.codeaurora.org/cgit/quic/la/kernel/msm/tree/arch/arm/kernel/perf_event_msm_krait.c?h=msm-3.4
    
    Cc: Neil Leeder <nleeder@codeaurora.org>
    Cc: Ashwin Chaugule <ashwinc@codeaurora.org>
    Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    b7aafe99
perf_event_v7.c 51 KB