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

Packit 577717
/*
Packit 577717
 * Copyright (c) 2017 Google Inc. All rights reserved
Packit 577717
 * Contributed by Stephane Eranian <eranian@gmail.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: bdx_unc_irp
Packit 577717
 */
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_cache_total_occupancy[]={
Packit 577717
	{ .uname  = "ANY",
Packit 577717
	  .ucode  = 0x100,
Packit 577717
	  .udesc  = "Total Write Cache Occupancy -- Any Source",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
	},
Packit 577717
	{ .uname  = "SOURCE",
Packit 577717
	  .ucode  = 0x200,
Packit 577717
	  .udesc  = "Total Write Cache Occupancy -- Select Source",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_coherent_ops[]={
Packit 577717
	{ .uname  = "CLFLUSH",
Packit 577717
	  .ucode  = 0x8000,
Packit 577717
	  .udesc  = "Coherent Ops -- CLFlush",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "CRD",
Packit 577717
	  .ucode  = 0x200,
Packit 577717
	  .udesc  = "Coherent Ops -- CRd",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "DRD",
Packit 577717
	  .ucode  = 0x400,
Packit 577717
	  .udesc  = "Coherent Ops -- DRd",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "PCIDCAHINT",
Packit 577717
	  .ucode  = 0x2000,
Packit 577717
	  .udesc  = "Coherent Ops -- PCIDCAHin5t",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "PCIRDCUR",
Packit 577717
	  .ucode  = 0x100,
Packit 577717
	  .udesc  = "Coherent Ops -- PCIRdCur",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "PCITOM",
Packit 577717
	  .ucode  = 0x1000,
Packit 577717
	  .udesc  = "Coherent Ops -- PCIItoM",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "RFO",
Packit 577717
	  .ucode  = 0x800,
Packit 577717
	  .udesc  = "Coherent Ops -- RFO",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "WBMTOI",
Packit 577717
	  .ucode  = 0x4000,
Packit 577717
	  .udesc  = "Coherent Ops -- WbMtoI",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_misc0[]={
Packit 577717
	{ .uname  = "2ND_ATOMIC_INSERT",
Packit 577717
	  .ucode  = 0x1000,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Cache Inserts of Atomic Transactions as Secondary",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "2ND_RD_INSERT",
Packit 577717
	  .ucode  = 0x400,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Cache Inserts of Read Transactions as Secondary",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "2ND_WR_INSERT",
Packit 577717
	  .ucode  = 0x800,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Cache Inserts of Write Transactions as Secondary",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "FAST_REJ",
Packit 577717
	  .ucode  = 0x200,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Fastpath Rejects",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "FAST_REQ",
Packit 577717
	  .ucode  = 0x100,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Fastpath Requests",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "FAST_XFER",
Packit 577717
	  .ucode  = 0x2000,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Fastpath Transfers From Primary to Secondary",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "PF_ACK_HINT",
Packit 577717
	  .ucode  = 0x4000,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Prefetch Ack Hints From Primary to Secondary",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "PF_TIMEOUT",
Packit 577717
	  .ucode  = 0x8000,
Packit 577717
	  .udesc  = "Misc Events - Set 0 -- Prefetch TimeOut",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_misc1[]={
Packit 577717
	{ .uname  = "DATA_THROTTLE",
Packit 577717
	  .ucode  = 0x8000,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Data Throttled",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "LOST_FWD",
Packit 577717
	  .ucode  = 0x1000,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- ",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SEC_RCVD_INVLD",
Packit 577717
	  .ucode  = 0x2000,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Received Invalid",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SEC_RCVD_VLD",
Packit 577717
	  .ucode  = 0x4000,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Received Valid",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SLOW_I",
Packit 577717
	  .ucode  = 0x100,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Slow Transfer of I Line",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SLOW_S",
Packit 577717
	  .ucode  = 0x200,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Slow Transfer of S Line",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SLOW_E",
Packit 577717
	  .ucode  = 0x400,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Slow Transfer of E Line",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
	{ .uname  = "SLOW_M",
Packit 577717
	  .ucode  = 0x800,
Packit 577717
	  .udesc  = "Misc Events - Set 1 -- Slow Transfer of M Line",
Packit 577717
	  .uflags = INTEL_X86_NCOMBO,
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_snoop_resp[]={
Packit 577717
	{ .uname = "HIT_ES",
Packit 577717
	  .ucode = 0x400,
Packit 577717
	  .udesc = "Snoop Responses -- Hit E or S",
Packit 577717
	},
Packit 577717
	{ .uname = "HIT_I",
Packit 577717
	  .ucode = 0x200,
Packit 577717
	  .udesc = "Snoop Responses -- Hit I",
Packit 577717
	},
Packit 577717
	{ .uname = "HIT_M",
Packit 577717
	  .ucode = 0x800,
Packit 577717
	  .udesc = "Snoop Responses -- Hit M",
Packit 577717
	},
Packit 577717
	{ .uname = "MISS",
Packit 577717
	  .ucode = 0x100,
Packit 577717
	  .udesc = "Snoop Responses -- Miss",
Packit 577717
	},
Packit 577717
	{ .uname = "SNPCODE",
Packit 577717
	  .ucode = 0x1000,
Packit 577717
	  .udesc = "Snoop Responses -- SnpCode",
Packit 577717
	},
Packit 577717
	{ .uname = "SNPDATA",
Packit 577717
	  .ucode = 0x2000,
Packit 577717
	  .udesc = "Snoop Responses -- SnpData",
Packit 577717
	},
Packit 577717
	{ .uname = "SNPINV",
Packit 577717
	  .ucode = 0x4000,
Packit 577717
	  .udesc = "Snoop Responses -- SnpInv",
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
static intel_x86_umask_t bdx_unc_i_transactions[]={
Packit 577717
	{ .uname = "ATOMIC",
Packit 577717
	  .ucode = 0x1000,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Atomic",
Packit 577717
	},
Packit 577717
	{ .uname = "ORDERINGQ",
Packit 577717
	  .ucode = 0x4000,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Select Source via IRP orderingQ register",
Packit 577717
	},
Packit 577717
	{ .uname = "OTHER",
Packit 577717
	  .ucode = 0x2000,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Other",
Packit 577717
	},
Packit 577717
	{ .uname = "RD_PREF",
Packit 577717
	  .ucode = 0x400,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Read Prefetches",
Packit 577717
	},
Packit 577717
	{ .uname = "READS",
Packit 577717
	  .ucode = 0x100,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Reads",
Packit 577717
	},
Packit 577717
	{ .uname = "WRITES",
Packit 577717
	  .ucode = 0x200,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Writes",
Packit 577717
	},
Packit 577717
	{ .uname = "WR_PREF",
Packit 577717
	  .ucode = 0x800,
Packit 577717
	  .udesc = "Inbound Transaction Count -- Write Prefetches",
Packit 577717
	},
Packit 577717
};
Packit 577717
Packit 577717
Packit 577717
static intel_x86_entry_t intel_bdx_unc_i_pe[]={
Packit 577717
  { .name   = "UNC_I_CACHE_TOTAL_OCCUPANCY",
Packit 577717
    .code   = 0x12,
Packit 577717
    .desc   = "Accumulates the number of reads and writes that are outstanding in the uncore in each cycle.  This is effectively the sum of the READ_OCCUPANCY and WRITE_OCCUPANCY events.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_cache_total_occupancy,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_cache_total_occupancy),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_CLOCKTICKS",
Packit 577717
    .code   = 0x0,
Packit 577717
    .desc   = "Number of clocks in the IRP.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_COHERENT_OPS",
Packit 577717
    .code   = 0x13,
Packit 577717
    .desc   = "Counts the number of coherency related operations servied by the IRP",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_coherent_ops,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_coherent_ops),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_MISC0",
Packit 577717
    .code   = 0x14,
Packit 577717
    .desc   = "",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_misc0,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_misc0),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_MISC1",
Packit 577717
    .code   = 0x15,
Packit 577717
    .desc   = "",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_misc1,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_misc1),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_AK_INSERTS",
Packit 577717
    .code   = 0xa,
Packit 577717
    .desc   = "Counts the number of allocations into the AK Ingress.  This queue is where the IRP receives responses from R2PCIe (the ring).",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_DRS_CYCLES_FULL",
Packit 577717
    .code   = 0x4,
Packit 577717
    .desc   = "Counts the number of cycles when the BL Ingress is full.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_DRS_INSERTS",
Packit 577717
    .code   = 0x1,
Packit 577717
    .desc   = "Counts the number of allocations into the BL Ingress.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_DRS_OCCUPANCY",
Packit 577717
    .code   = 0x7,
Packit 577717
    .desc   = "Accumulates the occupancy of the BL Ingress in each cycles.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCB_CYCLES_FULL",
Packit 577717
    .code   = 0x5,
Packit 577717
    .desc   = "Counts the number of cycles when the BL Ingress is full.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCB_INSERTS",
Packit 577717
    .code   = 0x2,
Packit 577717
    .desc   = "Counts the number of allocations into the BL Ingress.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCB_OCCUPANCY",
Packit 577717
    .code   = 0x8,
Packit 577717
    .desc   = "Accumulates the occupancy of the BL Ingress in each cycles.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCS_CYCLES_FULL",
Packit 577717
    .code   = 0x6,
Packit 577717
    .desc   = "Counts the number of cycles when the BL Ingress is full.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCS_INSERTS",
Packit 577717
    .code   = 0x3,
Packit 577717
    .desc   = "Counts the number of allocations into the BL Ingress.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_RXR_BL_NCS_OCCUPANCY",
Packit 577717
    .code   = 0x9,
Packit 577717
    .desc   = "Accumulates the occupancy of the BL Ingress in each cycles.  This queue is where the IRP receives data from R2PCIe (the ring).  It is used for data returns from read requets as well as outbound MMIO writes.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_SNOOP_RESP",
Packit 577717
    .code   = 0x17,
Packit 577717
    .desc   = "",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_snoop_resp,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_snoop_resp),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TRANSACTIONS",
Packit 577717
    .code   = 0x16,
Packit 577717
    .desc   = "Counts the number of Inbound transactions from the IRP to the Uncore.  This can be filtered based on request type in addition to the source queue.  Note the special filtering equation.  We do OR-reduction on the request type.  If the SOURCE bit is set, then we also do AND qualification based on the source portItID.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
    .ngrp   = 1,
Packit 577717
    .umasks = bdx_unc_i_transactions,
Packit 577717
    .numasks= LIBPFM_ARRAY_SIZE(bdx_unc_i_transactions),
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TXR_AD_STALL_CREDIT_CYCLES",
Packit 577717
    .code   = 0x18,
Packit 577717
    .desc   = "Counts the number times when it is not possible to issue a request to the R2PCIe because there are no AD Egress Credits available.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TXR_BL_STALL_CREDIT_CYCLES",
Packit 577717
    .code   = 0x19,
Packit 577717
    .desc   = "Counts the number times when it is not possible to issue data to the R2PCIe because there are no BL Egress Credits available.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TXR_DATA_INSERTS_NCB",
Packit 577717
    .code   = 0xe,
Packit 577717
    .desc   = "Counts the number of requests issued to the switch (towards the devices).",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TXR_DATA_INSERTS_NCS",
Packit 577717
    .code   = 0xf,
Packit 577717
    .desc   = "Counts the number of requests issued to the switch (towards the devices).",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
  { .name   = "UNC_I_TXR_REQUEST_OCCUPANCY",
Packit 577717
    .code   = 0xd,
Packit 577717
    .desc   = "Accumultes the number of outstanding outbound requests from the IRP to the switch (towards the devices).  This can be used in conjuection with the allocations event in order to calculate average latency of outbound requests.",
Packit 577717
    .modmsk = BDX_UNC_IRP_ATTRS,
Packit 577717
    .cntmsk = 0x3,
Packit 577717
  },
Packit 577717
};