dpdk/drivers/net/hinic/base/hinic_pmd_cmd.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: BSD-3-Clause
   2 * Copyright(c) 2017 Huawei Technologies Co., Ltd
   3 */
   4
   5#ifndef _HINIC_PORT_CMD_H_
   6#define _HINIC_PORT_CMD_H_
   7
   8#define HINIC_AEQ       0
   9
  10enum hinic_resp_aeq_num {
  11        HINIC_AEQ0 = 0,
  12        HINIC_AEQ1 = 1,
  13        HINIC_AEQ2 = 2,
  14        HINIC_AEQ3 = 3,
  15};
  16
  17enum hinic_mod_type {
  18        HINIC_MOD_COMM = 0,     /* HW communication module */
  19        HINIC_MOD_L2NIC = 1,    /* L2NIC module */
  20        HINIC_MOD_CFGM = 7,     /* Configuration module */
  21        HINIC_MOD_HILINK = 14,
  22        HINIC_MOD_MAX   = 15
  23};
  24
  25/* only used by VFD communicating with PFD to register or unregister,
  26 * command mode type is HINIC_MOD_L2NIC
  27 */
  28#define HINIC_PORT_CMD_VF_REGISTER      0x0
  29#define HINIC_PORT_CMD_VF_UNREGISTER    0x1
  30
  31/* cmd of mgmt CPU message for NIC module */
  32enum hinic_port_cmd {
  33        HINIC_PORT_CMD_MGMT_RESET               = 0x0,
  34
  35        HINIC_PORT_CMD_CHANGE_MTU               = 0x2,
  36
  37        HINIC_PORT_CMD_ADD_VLAN                 = 0x3,
  38        HINIC_PORT_CMD_DEL_VLAN,
  39
  40        HINIC_PORT_CMD_SET_ETS                  = 0x7,
  41        HINIC_PORT_CMD_GET_ETS,
  42
  43        HINIC_PORT_CMD_SET_MAC                  = 0x9,
  44        HINIC_PORT_CMD_GET_MAC,
  45        HINIC_PORT_CMD_DEL_MAC,
  46
  47        HINIC_PORT_CMD_SET_RX_MODE              = 0xc,
  48        HINIC_PORT_CMD_SET_ANTI_ATTACK_RATE     = 0xd,
  49
  50        HINIC_PORT_CMD_GET_PAUSE_INFO           = 0x14,
  51        HINIC_PORT_CMD_SET_PAUSE_INFO,
  52
  53        HINIC_PORT_CMD_GET_LINK_STATE           = 0x18,
  54        HINIC_PORT_CMD_SET_LRO                  = 0x19,
  55        HINIC_PORT_CMD_SET_RX_CSUM              = 0x1a,
  56        HINIC_PORT_CMD_SET_RX_VLAN_OFFLOAD      = 0x1b,
  57
  58        HINIC_PORT_CMD_GET_PORT_STATISTICS      = 0x1c,
  59        HINIC_PORT_CMD_CLEAR_PORT_STATISTICS,
  60        HINIC_PORT_CMD_GET_VPORT_STAT,
  61        HINIC_PORT_CMD_CLEAN_VPORT_STAT,
  62
  63        HINIC_PORT_CMD_GET_RSS_TEMPLATE_INDIR_TBL = 0x25,
  64        HINIC_PORT_CMD_SET_RSS_TEMPLATE_INDIR_TBL,
  65
  66        HINIC_PORT_CMD_SET_PORT_ENABLE          = 0x29,
  67        HINIC_PORT_CMD_GET_PORT_ENABLE,
  68
  69        HINIC_PORT_CMD_SET_RSS_TEMPLATE_TBL     = 0x2b,
  70        HINIC_PORT_CMD_GET_RSS_TEMPLATE_TBL,
  71        HINIC_PORT_CMD_SET_RSS_HASH_ENGINE,
  72        HINIC_PORT_CMD_GET_RSS_HASH_ENGINE,
  73        HINIC_PORT_CMD_GET_RSS_CTX_TBL,
  74        HINIC_PORT_CMD_SET_RSS_CTX_TBL,
  75        HINIC_PORT_CMD_RSS_TEMP_MGR,
  76
  77        HINIC_PORT_CMD_RSS_CFG                  = 0x42,
  78
  79        HINIC_PORT_CMD_GET_PHY_TYPE             = 0x44,
  80        HINIC_PORT_CMD_INIT_FUNC                = 0x45,
  81
  82        HINIC_PORT_CMD_GET_JUMBO_FRAME_SIZE     = 0x4a,
  83        HINIC_PORT_CMD_SET_JUMBO_FRAME_SIZE,
  84
  85        HINIC_PORT_CMD_GET_MGMT_VERSION         = 0x58,
  86
  87        HINIC_PORT_CMD_GET_PORT_TYPE            = 0x5b,
  88
  89        HINIC_PORT_CMD_GET_VPORT_ENABLE         = 0x5c,
  90        HINIC_PORT_CMD_SET_VPORT_ENABLE,
  91
  92        HINIC_PORT_CMD_GET_PORT_ID_BY_FUNC_ID   = 0x5e,
  93
  94        HINIC_PORT_CMD_GET_LRO                  = 0x63,
  95
  96        HINIC_PORT_CMD_GET_DMA_CS               = 0x64,
  97        HINIC_PORT_CMD_SET_DMA_CS,
  98
  99        HINIC_PORT_CMD_GET_GLOBAL_QPN           = 0x66,
 100
 101        HINIC_PORT_CMD_SET_PFC_MISC             = 0x67,
 102        HINIC_PORT_CMD_GET_PFC_MISC,
 103
 104        HINIC_PORT_CMD_SET_VF_RATE              = 0x69,
 105        HINIC_PORT_CMD_SET_VF_VLAN,
 106        HINIC_PORT_CMD_CLR_VF_VLAN,
 107
 108        HINIC_PORT_CMD_SET_RQ_IQ_MAP            = 0x73,
 109        HINIC_PORT_CMD_SET_PFC_THD              = 0x75,
 110
 111        HINIC_PORT_CMD_LINK_STATUS_REPORT       = 0xa0,
 112
 113        HINIC_PORT_CMD_SET_LOSSLESS_ETH         = 0xa3,
 114        HINIC_PORT_CMD_UPDATE_MAC               = 0xa4,
 115
 116        HINIC_PORT_CMD_GET_PORT_INFO            = 0xaa,
 117
 118        HINIC_PORT_CMD_UP_TC_ADD_FLOW           = 0xaf,
 119        HINIC_PORT_CMD_UP_TC_DEL_FLOW           = 0xb0,
 120        HINIC_PORT_CMD_UP_TC_GET_FLOW           = 0xb1,
 121        HINIC_PORT_CMD_UP_TC_FLUSH_TCAM         = 0xb2,
 122        HINIC_PORT_CMD_UP_TC_CTRL_TCAM_BLOCK    = 0xb3,
 123        HINIC_PORT_CMD_UP_TC_ENABLE             = 0xb4,
 124
 125        HINIC_PORT_CMD_SET_IPSU_MAC             = 0xcb,
 126        HINIC_PORT_CMD_GET_IPSU_MAC             = 0xcc,
 127
 128        HINIC_PORT_CMD_SET_XSFP_STATUS          = 0xD4,
 129
 130        HINIC_PORT_CMD_GET_LINK_MODE            = 0xD9,
 131        HINIC_PORT_CMD_SET_SPEED                = 0xDA,
 132        HINIC_PORT_CMD_SET_AUTONEG              = 0xDB,
 133
 134        HINIC_PORT_CMD_CLEAR_QP_RES             = 0xDD,
 135        HINIC_PORT_CMD_SET_SUPER_CQE            = 0xDE,
 136        HINIC_PORT_CMD_SET_VF_COS               = 0xDF,
 137        HINIC_PORT_CMD_GET_VF_COS               = 0xE1,
 138
 139        HINIC_PORT_CMD_CABLE_PLUG_EVENT         = 0xE5,
 140        HINIC_PORT_CMD_LINK_ERR_EVENT           = 0xE6,
 141
 142        HINIC_PORT_CMD_SET_COS_UP_MAP           = 0xE8,
 143
 144        HINIC_PORT_CMD_RESET_LINK_CFG           = 0xEB,
 145
 146        HINIC_PORT_CMD_FORCE_PKT_DROP           = 0xF3,
 147        HINIC_PORT_CMD_SET_LRO_TIMER            = 0xF4,
 148
 149        HINIC_PORT_CMD_SET_VHD_CFG              = 0xF7,
 150        HINIC_PORT_CMD_SET_LINK_FOLLOW          = 0xF8,
 151        HINIC_PORT_CMD_Q_FILTER                 = 0xFC,
 152        HINIC_PORT_CMD_TCAM_FILTER              = 0xFE,
 153        HINIC_PORT_CMD_SET_VLAN_FILTER          = 0xFF
 154};
 155
 156/* cmd of mgmt CPU message for HW module */
 157enum hinic_mgmt_cmd {
 158        HINIC_MGMT_CMD_RESET_MGMT               = 0x0,
 159        HINIC_MGMT_CMD_START_FLR                = 0x1,
 160        HINIC_MGMT_CMD_FLUSH_DOORBELL           = 0x2,
 161        HINIC_MGMT_CMD_GET_IO_STATUS            = 0x3,
 162        HINIC_MGMT_CMD_DMA_ATTR_SET             = 0x4,
 163
 164        HINIC_MGMT_CMD_CMDQ_CTXT_SET            = 0x10,
 165        HINIC_MGMT_CMD_CMDQ_CTXT_GET,
 166
 167        HINIC_MGMT_CMD_VAT_SET                  = 0x12,
 168        HINIC_MGMT_CMD_VAT_GET,
 169
 170        HINIC_MGMT_CMD_L2NIC_SQ_CI_ATTR_SET     = 0x14,
 171        HINIC_MGMT_CMD_L2NIC_SQ_CI_ATTR_GET,
 172
 173        HINIC_MGMT_CMD_PPF_HT_GPA_SET           = 0x23,
 174        HINIC_MGMT_CMD_RES_STATE_SET            = 0x24,
 175        HINIC_MGMT_CMD_FUNC_CACHE_OUT           = 0x25,
 176        HINIC_MGMT_CMD_FFM_SET                  = 0x26,
 177
 178        HINIC_MGMT_CMD_FUNC_RES_CLEAR           = 0x29,
 179
 180        HINIC_MGMT_CMD_CEQ_CTRL_REG_WR_BY_UP    = 0x33,
 181        HINIC_MGMT_CMD_MSI_CTRL_REG_WR_BY_UP,
 182        HINIC_MGMT_CMD_MSI_CTRL_REG_RD_BY_UP,
 183
 184        HINIC_MGMT_CMD_VF_RANDOM_ID_SET         = 0x36,
 185        HINIC_MGMT_CMD_FAULT_REPORT             = 0x37,
 186
 187        HINIC_MGMT_CMD_VPD_SET                  = 0x40,
 188        HINIC_MGMT_CMD_VPD_GET,
 189        HINIC_MGMT_CMD_LABEL_SET,
 190        HINIC_MGMT_CMD_LABEL_GET,
 191        HINIC_MGMT_CMD_SATIC_MAC_SET,
 192        HINIC_MGMT_CMD_SATIC_MAC_GET,
 193        HINIC_MGMT_CMD_SYNC_TIME                = 0x46,
 194        HINIC_MGMT_CMD_SET_LED_STATUS           = 0x4A,
 195        HINIC_MGMT_CMD_L2NIC_RESET              = 0x4b,
 196        HINIC_MGMT_CMD_FAST_RECYCLE_MODE_SET    = 0x4d,
 197        HINIC_MGMT_CMD_BIOS_NV_DATA_MGMT        = 0x4E,
 198        HINIC_MGMT_CMD_ACTIVATE_FW              = 0x4F,
 199        HINIC_MGMT_CMD_PAGESIZE_SET             = 0x50,
 200        HINIC_MGMT_CMD_PAGESIZE_GET             = 0x51,
 201        HINIC_MGMT_CMD_GET_BOARD_INFO           = 0x52,
 202        HINIC_MGMT_CMD_WATCHDOG_INFO            = 0x56,
 203        HINIC_MGMT_CMD_FMW_ACT_NTC              = 0x57,
 204        HINIC_MGMT_CMD_SET_VF_RANDOM_ID         = 0x61,
 205        HINIC_MGMT_CMD_GET_PPF_STATE            = 0x63,
 206        HINIC_MGMT_CMD_PCIE_DFX_NTC             = 0x65,
 207        HINIC_MGMT_CMD_PCIE_DFX_GET             = 0x66,
 208};
 209
 210/* cmd of mgmt CPU message for HILINK module */
 211enum hinic_hilink_cmd {
 212        HINIC_HILINK_CMD_GET_LINK_INFO          = 0x3,
 213        HINIC_HILINK_CMD_SET_LINK_SETTINGS      = 0x8,
 214};
 215
 216/* uCode related commands */
 217enum hinic_ucode_cmd {
 218        HINIC_UCODE_CMD_MDY_QUEUE_CONTEXT       = 0,
 219        HINIC_UCODE_CMD_CLEAN_QUEUE_CONTEXT,
 220        HINIC_UCODE_CMD_ARM_SQ,
 221        HINIC_UCODE_CMD_ARM_RQ,
 222        HINIC_UCODE_CMD_SET_RSS_INDIR_TABLE,
 223        HINIC_UCODE_CMD_SET_RSS_CONTEXT_TABLE,
 224        HINIC_UCODE_CMD_GET_RSS_INDIR_TABLE,
 225        HINIC_UCODE_CMD_GET_RSS_CONTEXT_TABLE,
 226        HINIC_UCODE_CMD_SET_IQ_ENABLE,
 227        HINIC_UCODE_CMD_SET_RQ_FLUSH            = 10
 228};
 229
 230enum cfg_sub_cmd {
 231        /* PPF(PF) <-> FW */
 232        HINIC_CFG_NIC_CAP = 0,
 233        CFG_FW_VERSION,
 234        CFG_UCODE_VERSION,
 235        HINIC_CFG_MBOX_CAP = 6
 236};
 237
 238enum hinic_ack_type {
 239        HINIC_ACK_TYPE_CMDQ,
 240        HINIC_ACK_TYPE_SHARE_CQN,
 241        HINIC_ACK_TYPE_APP_CQN,
 242
 243        HINIC_MOD_ACK_MAX = 15,
 244};
 245
 246enum sq_l4offload_type {
 247        OFFLOAD_DISABLE   = 0,
 248        TCP_OFFLOAD_ENABLE  = 1,
 249        SCTP_OFFLOAD_ENABLE = 2,
 250        UDP_OFFLOAD_ENABLE  = 3,
 251};
 252
 253enum sq_vlan_offload_flag {
 254        VLAN_OFFLOAD_DISABLE = 0,
 255        VLAN_OFFLOAD_ENABLE  = 1,
 256};
 257
 258enum sq_pkt_parsed_flag {
 259        PKT_NOT_PARSED = 0,
 260        PKT_PARSED     = 1,
 261};
 262
 263enum sq_l3_type {
 264        UNKNOWN_L3TYPE = 0,
 265        IPV6_PKT = 1,
 266        IPV4_PKT_NO_CHKSUM_OFFLOAD = 2,
 267        IPV4_PKT_WITH_CHKSUM_OFFLOAD = 3,
 268};
 269
 270enum sq_md_type {
 271        UNKNOWN_MD_TYPE = 0,
 272};
 273
 274enum sq_l2type {
 275        ETHERNET = 0,
 276};
 277
 278enum sq_tunnel_l4_type {
 279        NOT_TUNNEL,
 280        TUNNEL_UDP_NO_CSUM,
 281        TUNNEL_UDP_CSUM,
 282};
 283
 284#define NIC_RSS_CMD_TEMP_ALLOC  0x01
 285#define NIC_RSS_CMD_TEMP_FREE   0x02
 286
 287#define HINIC_RSS_TYPE_VALID_SHIFT                      23
 288#define HINIC_RSS_TYPE_TCP_IPV6_EXT_SHIFT               24
 289#define HINIC_RSS_TYPE_IPV6_EXT_SHIFT                   25
 290#define HINIC_RSS_TYPE_TCP_IPV6_SHIFT                   26
 291#define HINIC_RSS_TYPE_IPV6_SHIFT                       27
 292#define HINIC_RSS_TYPE_TCP_IPV4_SHIFT                   28
 293#define HINIC_RSS_TYPE_IPV4_SHIFT                       29
 294#define HINIC_RSS_TYPE_UDP_IPV6_SHIFT                   30
 295#define HINIC_RSS_TYPE_UDP_IPV4_SHIFT                   31
 296
 297#define HINIC_RSS_TYPE_SET(val, member)         \
 298                (((u32)(val) & 0x1) << HINIC_RSS_TYPE_##member##_SHIFT)
 299
 300#define HINIC_RSS_TYPE_GET(val, member)         \
 301                (((u32)(val) >> HINIC_RSS_TYPE_##member##_SHIFT) & 0x1)
 302
 303enum hinic_speed {
 304        HINIC_SPEED_10MB_LINK = 0,
 305        HINIC_SPEED_100MB_LINK,
 306        HINIC_SPEED_1000MB_LINK,
 307        HINIC_SPEED_10GB_LINK,
 308        HINIC_SPEED_25GB_LINK,
 309        HINIC_SPEED_40GB_LINK,
 310        HINIC_SPEED_100GB_LINK,
 311        HINIC_SPEED_UNKNOWN = 0xFF,
 312};
 313
 314enum {
 315        HINIC_IFLA_VF_LINK_STATE_AUTO,  /* link state of the uplink */
 316        HINIC_IFLA_VF_LINK_STATE_ENABLE, /* link always up */
 317        HINIC_IFLA_VF_LINK_STATE_DISABLE, /* link always down */
 318};
 319
 320#define HINIC_AF0_FUNC_GLOBAL_IDX_SHIFT         0
 321#define HINIC_AF0_P2P_IDX_SHIFT                 10
 322#define HINIC_AF0_PCI_INTF_IDX_SHIFT            14
 323#define HINIC_AF0_VF_IN_PF_SHIFT                16
 324#define HINIC_AF0_FUNC_TYPE_SHIFT               24
 325
 326#define HINIC_AF0_FUNC_GLOBAL_IDX_MASK          0x3FF
 327#define HINIC_AF0_P2P_IDX_MASK                  0xF
 328#define HINIC_AF0_PCI_INTF_IDX_MASK             0x3
 329#define HINIC_AF0_VF_IN_PF_MASK                 0xFF
 330#define HINIC_AF0_FUNC_TYPE_MASK                0x1
 331
 332#define HINIC_AF0_GET(val, member)                              \
 333        (((val) >> HINIC_AF0_##member##_SHIFT) & HINIC_AF0_##member##_MASK)
 334
 335#define HINIC_AF1_PPF_IDX_SHIFT                 0
 336#define HINIC_AF1_AEQS_PER_FUNC_SHIFT           8
 337#define HINIC_AF1_CEQS_PER_FUNC_SHIFT           12
 338#define HINIC_AF1_IRQS_PER_FUNC_SHIFT           20
 339#define HINIC_AF1_DMA_ATTR_PER_FUNC_SHIFT       24
 340#define HINIC_AF1_MGMT_INIT_STATUS_SHIFT        30
 341#define HINIC_AF1_PF_INIT_STATUS_SHIFT          31
 342
 343#define HINIC_AF1_PPF_IDX_MASK                  0x1F
 344#define HINIC_AF1_AEQS_PER_FUNC_MASK            0x3
 345#define HINIC_AF1_CEQS_PER_FUNC_MASK            0x7
 346#define HINIC_AF1_IRQS_PER_FUNC_MASK            0xF
 347#define HINIC_AF1_DMA_ATTR_PER_FUNC_MASK        0x7
 348#define HINIC_AF1_MGMT_INIT_STATUS_MASK         0x1
 349#define HINIC_AF1_PF_INIT_STATUS_MASK           0x1
 350
 351#define HINIC_AF1_GET(val, member)                              \
 352        (((val) >> HINIC_AF1_##member##_SHIFT) & HINIC_AF1_##member##_MASK)
 353
 354#define HINIC_AF2_GLOBAL_VF_ID_OF_PF_SHIFT      16
 355#define HINIC_AF2_GLOBAL_VF_ID_OF_PF_MASK       0x3FF
 356
 357#define HINIC_AF2_GET(val, member)                              \
 358        (((val) >> HINIC_AF2_##member##_SHIFT) & HINIC_AF2_##member##_MASK)
 359
 360#define HINIC_AF4_OUTBOUND_CTRL_SHIFT           0
 361#define HINIC_AF4_DOORBELL_CTRL_SHIFT           1
 362#define HINIC_AF4_OUTBOUND_CTRL_MASK            0x1
 363#define HINIC_AF4_DOORBELL_CTRL_MASK            0x1
 364
 365#define HINIC_AF4_GET(val, member)                              \
 366        (((val) >> HINIC_AF4_##member##_SHIFT) & HINIC_AF4_##member##_MASK)
 367
 368#define HINIC_AF4_SET(val, member)                              \
 369        (((val) & HINIC_AF4_##member##_MASK) << HINIC_AF4_##member##_SHIFT)
 370
 371#define HINIC_AF4_CLEAR(val, member)                            \
 372        ((val) & (~(HINIC_AF4_##member##_MASK <<                \
 373        HINIC_AF4_##member##_SHIFT)))
 374
 375#define HINIC_AF5_PF_STATUS_SHIFT               0
 376#define HINIC_AF5_PF_STATUS_MASK                0xFFFF
 377
 378#define HINIC_AF5_SET(val, member)                              \
 379        (((val) & HINIC_AF5_##member##_MASK) << HINIC_AF5_##member##_SHIFT)
 380
 381#define HINIC_AF5_GET(val, member)                              \
 382        (((val) >> HINIC_AF5_##member##_SHIFT) & HINIC_AF5_##member##_MASK)
 383
 384#define HINIC_AF5_CLEAR(val, member)                            \
 385        ((val) & (~(HINIC_AF5_##member##_MASK <<                \
 386        HINIC_AF5_##member##_SHIFT)))
 387
 388#define HINIC_PPF_ELECTION_IDX_SHIFT            0
 389
 390#define HINIC_PPF_ELECTION_IDX_MASK             0x1F
 391
 392#define HINIC_PPF_ELECTION_SET(val, member)                     \
 393        (((val) & HINIC_PPF_ELECTION_##member##_MASK) <<        \
 394                HINIC_PPF_ELECTION_##member##_SHIFT)
 395
 396#define HINIC_PPF_ELECTION_GET(val, member)                     \
 397        (((val) >> HINIC_PPF_ELECTION_##member##_SHIFT) &       \
 398                HINIC_PPF_ELECTION_##member##_MASK)
 399
 400#define HINIC_PPF_ELECTION_CLEAR(val, member)                   \
 401        ((val) & (~(HINIC_PPF_ELECTION_##member##_MASK  \
 402                << HINIC_PPF_ELECTION_##member##_SHIFT)))
 403
 404#define DB_IDX(db, db_base)     \
 405        ((u32)(((unsigned long)(db) - (unsigned long)(db_base)) /       \
 406        HINIC_DB_PAGE_SIZE))
 407
 408enum hinic_pcie_nosnoop {
 409        HINIC_PCIE_SNOOP = 0,
 410        HINIC_PCIE_NO_SNOOP = 1,
 411};
 412
 413enum hinic_pcie_tph {
 414        HINIC_PCIE_TPH_DISABLE = 0,
 415        HINIC_PCIE_TPH_ENABLE = 1,
 416};
 417
 418enum hinic_outbound_ctrl {
 419        ENABLE_OUTBOUND  = 0x0,
 420        DISABLE_OUTBOUND = 0x1,
 421};
 422
 423enum hinic_doorbell_ctrl {
 424        ENABLE_DOORBELL  = 0x0,
 425        DISABLE_DOORBELL = 0x1,
 426};
 427
 428enum hinic_pf_status {
 429        HINIC_PF_STATUS_INIT = 0X0,
 430        HINIC_PF_STATUS_ACTIVE_FLAG = 0x11,
 431        HINIC_PF_STATUS_FLR_START_FLAG = 0x12,
 432        HINIC_PF_STATUS_FLR_FINISH_FLAG = 0x13,
 433};
 434
 435/* total doorbell or direct wqe size is 512kB, db num: 128, dwqe: 128 */
 436#define HINIC_DB_DWQE_SIZE      0x00080000
 437
 438/* db page size: 4K */
 439#define HINIC_DB_PAGE_SIZE      0x00001000ULL
 440
 441#define HINIC_DB_MAX_AREAS      (HINIC_DB_DWQE_SIZE / HINIC_DB_PAGE_SIZE)
 442
 443#define HINIC_PCI_MSIX_ENTRY_SIZE                       16
 444#define HINIC_PCI_MSIX_ENTRY_VECTOR_CTRL                12
 445#define HINIC_PCI_MSIX_ENTRY_CTRL_MASKBIT               1
 446
 447struct hinic_mgmt_msg_head {
 448        u8      status;
 449        u8      version;
 450        u8      resp_aeq_num;
 451        u8      rsvd0[5];
 452};
 453
 454struct hinic_root_ctxt {
 455        struct hinic_mgmt_msg_head mgmt_msg_head;
 456
 457        u16     func_idx;
 458        u16     rsvd1;
 459        u8      set_cmdq_depth;
 460        u8      cmdq_depth;
 461        u8      lro_en;
 462        u8      rsvd2;
 463        u8      ppf_idx;
 464        u8      rsvd3;
 465        u16     rq_depth;
 466        u16     rx_buf_sz;
 467        u16     sq_depth;
 468};
 469
 470#endif /* _HINIC_PORT_CMD_H_ */
 471