Blame src/libpfm4/lib/events/intel_knl_unc_cha_events.h

Packit 577717
/*
Packit 577717
 * Copyright (c) 2016 Intel Corp. All rights reserved
Packit 577717
 * Contributed by Peinan Zhang <peinan.zhang@intel.com>
Packit 577717
 *
Packit 577717
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit 577717
 * of this software and associated documentation files (the "Software"), to deal
Packit 577717
 * in the Software without restriction, including without limitation the rights
Packit 577717
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit 577717
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit 577717
 * subject to the following conditions:
Packit 577717
 *
Packit 577717
 * The above copyright notice and this permission notice shall be included in all
Packit 577717
 * copies or substantial portions of the Software.
Packit 577717
 *
Packit 577717
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit 577717
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit 577717
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 577717
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit 577717
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit 577717
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit 577717
 *
Packit 577717
 * This file is part of libpfm, a performance monitoring support library for
Packit 577717
 * applications on Linux.
Packit 577717
 *
Packit 577717
 * PMU: knl_unc_cha (Intel Knights Landing CHA uncore PMU)
Packit 577717
 */
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_llc_lookup[]={
Packit 577717
   { .uname  = "DATA_READ",
Packit 577717
     .udesc  = "Data read requests",
Packit 577717
     .ucode  = 0x0300,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE",
Packit 577717
     .udesc  = "Write requests. Includes all write transactions (cached, uncached)",
Packit 577717
     .ucode  = 0x0500,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE_SNOOP",
Packit 577717
     .udesc  = "External snoop request",
Packit 577717
     .ucode  = 0x0900,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any request",
Packit 577717
     .ucode  = 0x1100,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_llc_victims[]={
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Lines in M state",
Packit 577717
     .ucode  = 0x0100,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Lines in E state",
Packit 577717
     .ucode  = 0x0200,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Lines in S state",
Packit 577717
     .ucode  = 0x0400,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "F_STATE",
Packit 577717
     .udesc  = "Lines in F state",
Packit 577717
     .ucode  = 0x0800,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "Victimized Lines matching the NID filter.",
Packit 577717
     .ucode  = 0x2000,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE",
Packit 577717
     .udesc  = "Victimized Lines does not matching the NID.",
Packit 577717
     .ucode  = 0x8000,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ingress_int_starved[]={
Packit 577717
   { .uname  = "IRQ",
Packit 577717
     .udesc  = "Internal starved with IRQ.",
Packit 577717
     .ucode  = 0x0100,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "IPQ",
Packit 577717
     .udesc  = "Internal starved with IPQ.",
Packit 577717
     .ucode  = 0x0400,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ISMQ",
Packit 577717
     .udesc  = "Internal starved with ISMQ.",
Packit 577717
     .ucode  = 0x0800,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "PRQ",
Packit 577717
     .udesc  = "Internal starved with PRQ.",
Packit 577717
     .ucode  = 0x1000,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ingress_ext[]={
Packit 577717
   { .uname  = "IRQ",
Packit 577717
     .udesc  = "IRQ",
Packit 577717
     .ucode  = 0x0100,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "IRQ_REJ",
Packit 577717
     .udesc  = "IRQ rejected",
Packit 577717
     .ucode  = 0x0200,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "IPQ",
Packit 577717
     .udesc  = "IPQ",
Packit 577717
     .ucode  = 0x0400,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "PRQ",
Packit 577717
     .udesc  = "PRQ",
Packit 577717
     .ucode  = 0x1000,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "PRQ_REJ",
Packit 577717
     .udesc  = "PRQ rejected",
Packit 577717
     .ucode  = 0x2000,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ingress_entry_reject_q0[]={
Packit 577717
  { .uname  = "AD_REQ_VN0",
Packit 577717
    .udesc  = "AD Request",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AD_RSP_VN0",
Packit 577717
    .udesc  = "AD Response",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_RSP_VN0",
Packit 577717
    .udesc  = "BL Response",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_WB_VN0",
Packit 577717
    .udesc  = "BL WB",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_NCB_VN0",
Packit 577717
    .udesc  = "BL NCB",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_NCS_VN0",
Packit 577717
    .udesc  = "BL NCS",
Packit 577717
    .ucode  = 0x2000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK_NON_UPI",
Packit 577717
    .udesc  = "AK non upi",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV_NON_UPI",
Packit 577717
    .udesc  = "IV non upi",
Packit 577717
    .ucode  = 0x8000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ingress_entry_reject_q1[]={
Packit 577717
  { .uname  = "ANY_REJECT",
Packit 577717
    .udesc  = "Any reject from request queue0",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
  },
Packit 577717
  { .uname  = "SF_VICTIM",
Packit 577717
    .udesc  = "SF victim",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "SF_WAY",
Packit 577717
    .udesc  = "SF way",
Packit 577717
    .ucode  = 0x2000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "ALLOW_SNP",
Packit 577717
    .udesc  = "allow snoop",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "PA_MATCH",
Packit 577717
    .udesc  = "PA match",
Packit 577717
    .ucode  = 0x8000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_tor_subevent[]={
Packit 577717
  { .uname  = "IRQ",
Packit 577717
    .udesc  = " -IRQ.",
Packit 577717
    .ucode  = 0x3100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "EVICT",
Packit 577717
    .udesc  = " -SF/LLC Evictions.",
Packit 577717
    .ucode  = 0x3200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "PRQ",
Packit 577717
    .udesc  = " -PRQ.",
Packit 577717
    .ucode  = 0x3400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IPQ",
Packit 577717
    .udesc  = " -IPQ.",
Packit 577717
    .ucode  = 0x3800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "HIT",
Packit 577717
    .udesc  = " -Hit (Not a Miss).",
Packit 577717
    .ucode  = 0x1f00,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "MISS",
Packit 577717
    .udesc  = " -Miss.",
Packit 577717
    .ucode  = 0x2f00,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IRQ_HIT",
Packit 577717
    .udesc  = " -IRQ HIT.",
Packit 577717
    .ucode  = 0x1100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IRQ_MISS",
Packit 577717
    .udesc  = " -IRQ MISS.",
Packit 577717
    .ucode  = 0x2100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "PRQ_HIT",
Packit 577717
    .udesc  = " -PRQ HIT.",
Packit 577717
    .ucode  = 0x1400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "PRQ_MISS",
Packit 577717
    .udesc  = " -PRQ MISS.",
Packit 577717
    .ucode  = 0x2400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IPQ_HIT",
Packit 577717
    .udesc  = " -IPQ HIT",
Packit 577717
    .ucode  = 0x1800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IPQ_MISS",
Packit 577717
    .udesc  = " -IPQ MISS",
Packit 577717
    .ucode  = 0x2800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_misc[]={
Packit 577717
  { .uname  = "RSPI_WAS_FSE",
Packit 577717
    .udesc  = "Silent Snoop Eviction",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "WC_ALIASING",
Packit 577717
    .udesc  = "Write Combining Aliasing.",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "RFO_HIT_S",
Packit 577717
    .udesc  = "Counts the number of times that an RFO hits in S state.",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "CV0_PREF_VIC",
Packit 577717
    .udesc  = "CV0 Prefetch Victim.",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "CV0_PREF_MISS",
Packit 577717
    .udesc  = "CV0 Prefetch Miss.",
Packit 577717
    .ucode  = 0x2000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_tgr_ext[]={
Packit 577717
  { .uname  = "TGR0",
Packit 577717
    .udesc  = "for Transgress 0",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR1",
Packit 577717
    .udesc  = "for Transgress 1",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR2",
Packit 577717
    .udesc  = "for Transgress 2",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR3",
Packit 577717
    .udesc  = "for Transgress 3",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR4",
Packit 577717
    .udesc  = "for Transgress 4",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR5",
Packit 577717
    .udesc  = "for Transgress 5",
Packit 577717
    .ucode  = 0x2000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR6",
Packit 577717
    .udesc  = "for Transgress 6",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "TGR7",
Packit 577717
    .udesc  = "for Transgress 7",
Packit 577717
    .ucode  = 0x8000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_tgr_ext1[]={
Packit 577717
  { .uname  = "TGR8",
Packit 577717
    .udesc  = "for Transgress 8",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "ANY_OF_TGR0_THRU_TGR7",
Packit 577717
    .udesc  = "for Transgress 0-7",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_type_agent[]={
Packit 577717
  { .uname  = "AD_AG0",
Packit 577717
    .udesc  = "AD - Agent 0",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK_AG0",
Packit 577717
    .udesc  = "AK - Agent 0",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_AG0",
Packit 577717
    .udesc  = "BL - Agent 0",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV_AG0",
Packit 577717
    .udesc  = "IV - Agent 0",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AD_AG1",
Packit 577717
    .udesc  = "AD - Agent 1",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK_AG1",
Packit 577717
    .udesc  = "AK - Agent 1",
Packit 577717
    .ucode  = 0x2000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_AG1",
Packit 577717
    .udesc  = "BL - Agent 1",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_type[]={
Packit 577717
  { .uname  = "AD",
Packit 577717
    .udesc  = " - AD ring",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK",
Packit 577717
    .udesc  = " - AK ring",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL",
Packit 577717
    .udesc  = " - BL ring",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV",
Packit 577717
    .udesc  = " - IV ring",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_dire_ext[]={
Packit 577717
  { .uname  = "VERT",
Packit 577717
    .udesc  = " - vertical",
Packit 577717
    .ucode  = 0x0000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "HORZ",
Packit 577717
    .udesc  = " - horizontal",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_use_vert[]={
Packit 577717
  { .uname  = "UP_EVEN",
Packit 577717
    .udesc  = "UP_EVEN",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "UP_ODD",
Packit 577717
    .udesc  = "UP_ODD",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "DN_EVEN",
Packit 577717
    .udesc  = "DN_EVEN",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "DN_ODD",
Packit 577717
    .udesc  = "DN_ODD",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_use_hori[]={
Packit 577717
  { .uname  = "LEFT_EVEN",
Packit 577717
    .udesc  = "LEFT_EVEN",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "LEFT_ODD",
Packit 577717
    .udesc  = "LEFT_ODD",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "RIGHT_EVEN",
Packit 577717
    .udesc  = "RIGHT_EVEN",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "RIGHT_ODD",
Packit 577717
    .udesc  = "RIGHT_ODD",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_use_updn[]={
Packit 577717
  { .uname  = "UP",
Packit 577717
    .udesc  = "up",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "DN",
Packit 577717
    .udesc  = "down",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_ring_use_lfrt[]={
Packit 577717
  { .uname  = "LEFT",
Packit 577717
    .udesc  = "left",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "RIGHT",
Packit 577717
    .udesc  = "right",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_iv_snp[]={
Packit 577717
  { .uname  = "IV_SNP_GO_UP",
Packit 577717
    .udesc  = "IV_SNP_GO_UP",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV_SNP_GO_DN",
Packit 577717
    .udesc  = "IV_SNP_GO_DN",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_cms_ext[]={
Packit 577717
  { .uname  = "AD_BNC",
Packit 577717
    .udesc  = "AD_BNC",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK_BNC",
Packit 577717
    .udesc  = "AK_BNC",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_BNC",
Packit 577717
    .udesc  = "BL_BNC",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV_BNC",
Packit 577717
    .udesc  = "IV_BNC",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AD_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_cms_crd_starved[]={
Packit 577717
  { .uname  = "AD_BNC",
Packit 577717
    .udesc  = "AD_BNC",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AK_BNC",
Packit 577717
    .udesc  = "AK_BNC",
Packit 577717
    .ucode  = 0x0200,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_BNC",
Packit 577717
    .udesc  = "BL_BNC",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IV_BNC",
Packit 577717
    .udesc  = "IV_BNC",
Packit 577717
    .ucode  = 0x0800,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AD_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "IVF",
Packit 577717
    .udesc  = "IVF",
Packit 577717
    .ucode  = 0x8000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t knl_unc_cha_cms_busy_starved[]={
Packit 577717
  { .uname  = "AD_BNC",
Packit 577717
    .udesc  = "AD_BNC",
Packit 577717
    .ucode  = 0x0100,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_BNC",
Packit 577717
    .udesc  = "BL_BNC",
Packit 577717
    .ucode  = 0x0400,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "AD_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x1000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
  { .uname  = "BL_CRD",
Packit 577717
    .udesc  = "AD_CRD",
Packit 577717
    .ucode  = 0x4000,
Packit 577717
    .uflags = INTEL_X86_NCOMBO,
Packit 577717
  },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_knl_unc_cha_pe[]={
Packit 577717
  { .name    = "UNC_H_U_CLOCKTICKS",
Packit 577717
    .desc    = "Uncore clockticks",
Packit 577717
    .modmsk = 0x0,
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x00,
Packit 577717
    .flags = INTEL_X86_FIXED,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_OCCUPANCY",
Packit 577717
    .desc    = "Ingress Occupancy. Ingress Occupancy. Counts number of entries in the specified Ingress queue in each cycle",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x11,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_ext),
Packit 577717
    .umasks  = knl_unc_cha_ingress_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_INSERTS",
Packit 577717
    .desc    = "Ingress Allocations. Counts number of allocations per cycle into the specified Ingress queue",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x13,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_ext),
Packit 577717
    .umasks  = knl_unc_cha_ingress_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_INT_STARVED",
Packit 577717
    .desc    = "Cycles Internal Starvation",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x14,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_int_starved),
Packit 577717
    .umasks  = knl_unc_cha_ingress_int_starved,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_IRQ0_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x18,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_IRQ01_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x19,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q1),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_PRQ0_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x20,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_PRQ1_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x21,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q1),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_IPQ0_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x22,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_IPQ1_REJECT",
Packit 577717
    .desc    = "Ingress Request Queue Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x23,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q1),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_ISMQ0_REJECT",
Packit 577717
    .desc    = "ISMQ Rejects",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x24,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY",
Packit 577717
    .desc    = "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x2a,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY",
Packit 577717
    .desc    = "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x2b,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q1),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_ISMQ0_RETRY",
Packit 577717
    .desc    = "ISMQ retries",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x2c,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_OTHER0_RETRY",
Packit 577717
    .desc    = "Other Queue Retries",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x2e,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q0),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q0,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_INGRESS_RETRY_OTHER1_RETRY",
Packit 577717
    .desc    = "Other Queue Retries",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x2f,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ingress_entry_reject_q1),
Packit 577717
    .umasks  = knl_unc_cha_ingress_entry_reject_q1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_SF_LOOKUP",
Packit 577717
    .desc    = "Cache Lookups. Counts the number of times the LLC was accessed.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x34,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_llc_lookup),
Packit 577717
    .umasks  = knl_unc_cha_llc_lookup,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_CACHE_LINES_VICTIMIZED",
Packit 577717
    .desc    = "Cache Lookups. Counts the number of times the LLC was accessed.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x37,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_llc_victims),
Packit 577717
    .umasks  = knl_unc_cha_llc_victims,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TOR_INSERTS",
Packit 577717
    .desc = "Counts the number of entries successfully inserted into the TOR that match  qualifications specified by the subevent.",
Packit 577717
    .modmsk = KNL_UNC_CHA_TOR_ATTRS,
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x35,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tor_subevent),
Packit 577717
    .umasks  = knl_unc_cha_tor_subevent
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TOR_OCCUPANCY",
Packit 577717
    .desc    = "For each cycle, this event accumulates the number of valid entries in the TOR that match qualifications specified by the subevent",
Packit 577717
    .modmsk = KNL_UNC_CHA_TOR_ATTRS,
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x36,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tor_subevent),
Packit 577717
    .umasks  = knl_unc_cha_tor_subevent
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_MISC",
Packit 577717
    .desc    = "Miscellaneous events in the Cha",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x39,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .flags   = INTEL_X86_NO_AUTOENCODE,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_misc),
Packit 577717
    .umasks  = knl_unc_cha_misc,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_AD_CRD_ACQUIRED",
Packit 577717
    .desc    = "CMS Agent0 AD Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x80,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_AD_CRD_ACQUIRED_EXT",
Packit 577717
    .desc    = "CMS Agent0 AD Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x81,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_AD_CRD_OCCUPANCY",
Packit 577717
    .desc    = "CMS Agent0 AD Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x82,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_AD_CRD_OCCUPANCY_EXT",
Packit 577717
    .desc    = "CMS Agent0 AD Credits Acquired For Transgress.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x83,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_AD_CRD_ACQUIRED",
Packit 577717
    .desc    = "CMS Agent1 AD Credits Acquired .",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x84,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_AD_CRD_ACQUIRED_EXT",
Packit 577717
    .desc    = "CMS Agent1 AD Credits Acquired .",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x85,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_AD_CRD_OCCUPANCY",
Packit 577717
    .desc    = "CMS Agent1 AD Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x86,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_AD_CRD_OCCUPANCY_EXT",
Packit 577717
    .desc    = "CMS Agent1 AD Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x87,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_BL_CRD_ACQUIRED",
Packit 577717
    .desc    = "CMS Agent0 BL Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x88,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_BL_CRD_ACQUIRED_EXT",
Packit 577717
    .desc    = "CMS Agent0 BL Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x89,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_BL_CRD_OCCUPANCY",
Packit 577717
    .desc    = "CMS Agent0 BL Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8a,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_BL_CRD_OCCUPANCY_EXT",
Packit 577717
    .desc    = "CMS Agent0 BL Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8b,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_BL_CRD_ACQUIRED",
Packit 577717
    .desc    = "CMS Agent1 BL Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8c,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_BL_CRD_ACQUIRED_EXT",
Packit 577717
    .desc    = "CMS Agent1 BL Credits Acquired.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8d,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_BL_CRD_OCCUPANCY",
Packit 577717
    .desc    = "CMS Agent1 BL Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8e,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_BL_CRD_OCCUPANCY_EXT",
Packit 577717
    .desc    = "CMS Agent1 BL Credits Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x8f,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_STALL_NO_CRD_EGRESS_HORZ_AD",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD0,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_STALL_NO_CRD_EGRESS_HORZ_AD_EXT",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD1,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_STALL_NO_CRD_EGRESS_HORZ_AD",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD2,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_STALL_NO_CRD_EGRESS_HORZ_AD_EXT",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD3,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_STALL_NO_CRD_EGRESS_HORZ_BL",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD4,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG0_STALL_NO_CRD_EGRESS_HORZ_BL_EXT",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD5,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_STALL_NO_CRD_EGRESS_HORZ_BL",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD6,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_AG1_STALL_NO_CRD_EGRESS_HORZ_BL_EXT",
Packit 577717
    .desc    = "Stall on No AD Transgress Credits.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xD7,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_tgr_ext1),
Packit 577717
    .umasks  = knl_unc_cha_tgr_ext1,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_OCCUPANCY",
Packit 577717
    .desc    = "CMS Vert Egress Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x90,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_INSERTS",
Packit 577717
    .desc    = "CMS Vert Egress Allocations.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x91,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_CYCLES_FULL",
Packit 577717
    .desc    = "Cycles CMS Vertical Egress Queue Is Full.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x92,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_CYCLES_NE",
Packit 577717
    .desc    = "Cycles CMS Vertical Egress Queue Is Not Empty.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x93,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_NACK",
Packit 577717
    .desc    = "CMS Vertical Egress NACKs.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x98,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_STARVED",
Packit 577717
    .desc    = "CMS Vertical Egress Injection Starvation.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9a,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_ADS_USED",
Packit 577717
    .desc    = "CMS Vertical ADS Used.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9c,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_VERT_BYPASS",
Packit 577717
    .desc    = "CMS Vertical Egress Bypass.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9e,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type_agent),
Packit 577717
    .umasks  = knl_unc_cha_ring_type_agent,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_OCCUPANCY",
Packit 577717
    .desc    = "CMS Horizontal Egress Occupancy.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x94,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_INSERTS",
Packit 577717
    .desc    = "CMS Horizontal Egress Inserts.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x95,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_CYCLES_FULL",
Packit 577717
    .desc    = "Cycles CMS Horizontal Egress Queue is Full.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x96,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_CYCLES_NE",
Packit 577717
    .desc    = "Cycles CMS Horizontal Egress Queue is Not Empty.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x97,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_NACK",
Packit 577717
    .desc    = "CMS Horizontal Egress NACKs.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x99,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_STARVED",
Packit 577717
    .desc    = "CMS Horizontal Egress Injection Starvation.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9b,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_ADS_USED",
Packit 577717
    .desc    = "CMS Horizontal ADS Used.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9d,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_HORZ_BYPASS",
Packit 577717
    .desc    = "CMS Horizontal Egress Bypass.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0x9f,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_RING_BOUNCES_VERT",
Packit 577717
    .desc    = "Number of incoming messages from the Vertical ring that were bounced, by ring type.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa0,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_RING_BOUNCES_HORZ",
Packit 577717
    .desc    = "Number of incoming messages from the Horizontal ring that were bounced, by ring type.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa1,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_RING_SINK_STARVED_VERT",
Packit 577717
    .desc    = "Vertical ring sink starvation count.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa2,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_RING_SINK_STARVED_HORZ",
Packit 577717
    .desc    = "Horizontal ring sink starvation count.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa3,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_type),
Packit 577717
    .umasks  = knl_unc_cha_ring_type,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_RING_SRC_THRT",
Packit 577717
    .desc    = "Counts cycles in throttle mode.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa4,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_FAST_ASSERTED",
Packit 577717
    .desc    = "Counts cycles source throttling is adderted",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa5,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_dire_ext),
Packit 577717
    .umasks  = knl_unc_cha_dire_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_VERT_RING_AD_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa6,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_vert),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_vert,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_HORZ_RING_AD_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa7,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_hori),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_hori,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_VERT_RING_AK_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa8,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_vert),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_vert,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_HORZ_RING_AK_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xa9,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_hori),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_hori,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_VERT_RING_BL_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xaa,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_vert),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_vert,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_HORZ_RING_BL_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xab,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_hori),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_hori,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_VERT_RING_IV_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xac,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_updn),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_updn,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_HORZ_RING_IV_IN_USE",
Packit 577717
    .desc    = "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xad,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_ring_use_lfrt),
Packit 577717
    .umasks  = knl_unc_cha_ring_use_lfrt,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_EGRESS_ORDERING",
Packit 577717
    .desc    = "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xae,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_iv_snp),
Packit 577717
    .umasks  = knl_unc_cha_iv_snp,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TG_INGRESS_OCCUPANCY",
Packit 577717
    .desc    = "Transgress Ingress Occupancy. Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xb0,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_cms_ext),
Packit 577717
    .umasks  = knl_unc_cha_cms_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TG_INGRESS_INSERTS",
Packit 577717
    .desc    = "Transgress Ingress Allocations. Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xb1,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_cms_ext),
Packit 577717
    .umasks  = knl_unc_cha_cms_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TG_INGRESS_BYPASS",
Packit 577717
    .desc    = "Transgress Ingress Bypass. Number of packets bypassing the CMS Ingress.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xb2,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_cms_ext),
Packit 577717
    .umasks  = knl_unc_cha_cms_ext,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TG_INGRESS_CRD_STARVED",
Packit 577717
    .desc    = "Transgress Injection Starvation. Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xb3,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_cms_crd_starved),
Packit 577717
    .umasks  = knl_unc_cha_cms_crd_starved,
Packit 577717
  },
Packit 577717
  { .name    = "UNC_H_TG_INGRESS_BUSY_STARVED",
Packit 577717
    .desc    = "Transgress Injection Starvation. Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority.",
Packit 577717
    .cntmsk  = 0xf,
Packit 577717
    .code    = 0xb4,
Packit 577717
    .ngrp    = 1,
Packit 577717
    .numasks = LIBPFM_ARRAY_SIZE(knl_unc_cha_cms_busy_starved),
Packit 577717
    .umasks  = knl_unc_cha_cms_busy_starved,
Packit 577717
  },
Packit 577717
};