• K
    perf/amd/uncore: Add support for Family 19h L3 PMU · e48667b8
    Kim Phillips 提交于
    Family 19h introduces change in slice, core and thread specification in
    its L3 Performance Event Select (ChL3PmcCfg) h/w register. The change is
    incompatible with Family 17h's version of the register.
    
    Introduce a new path in l3_thread_slice_mask() to do things differently
    for Family 19h vs. Family 17h, otherwise the new hardware doesn't get
    programmed correctly.
    
    Instead of a linear core--thread bitmask, Family 19h takes an encoded
    core number, and a separate thread mask. There are new bits that are set
    for all cores and all slices, of which only the latter is used, since
    the driver counts events for all slices on behalf of the specified CPU.
    
    Also update amd_uncore_init() to base its L2/NB vs. L3/Data Fabric mode
    decision based on Family 17h or above, not just 17h and 18h: the Family
    19h Data Fabric PMC is compatible with the Family 17h DF PMC.
    
     [ bp: Touchups. ]
    Signed-off-by: NKim Phillips <kim.phillips@amd.com>
    Signed-off-by: NBorislav Petkov <bp@suse.de>
    Acked-by: NPeter Zijlstra <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20200313231024.17601-3-kim.phillips@amd.com
    e48667b8
uncore.c 15.4 KB