File Index
Files and directories
Sign in
FILE

hsi.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/bnxt/hsi.h C
    1/* Broadcom NetXtreme-C/E network driver.
    2 *
    3 * Copyright (c) 2014-2016 Broadcom Corporation
    4 * Copyright (c) 2014-2018 Broadcom Limited
    5 * Copyright (c) 2018-2025 Broadcom Inc.
    6 *
    7 * This program is free software; you can redistribute it and/or modify
    8 * it under the terms of the GNU General Public License as published by
    9 * the Free Software Foundation.
   10 *
   11 * DO NOT MODIFY!!! This file is automatically generated.
   12 */
   13
   14#ifndef _BNXT_HSI_H_
   15#define _BNXT_HSI_H_
   16
   17/* hwrm_cmd_hdr (size:128b/16B) */
   18struct hwrm_cmd_hdr {
   19	__le16	req_type;
   20	__le16	cmpl_ring;
   21	__le16	seq_id;
   22	__le16	target_id;
   23	__le64	resp_addr;
   24};
   25
   26/* hwrm_resp_hdr (size:64b/8B) */
   27struct hwrm_resp_hdr {
   28	__le16	error_code;
   29	__le16	req_type;
   30	__le16	seq_id;
   31	__le16	resp_len;
   32};
   33
   34#define CMD_DISCR_TLV_ENCAP 0x8000UL
   35#define CMD_DISCR_LAST     CMD_DISCR_TLV_ENCAP
   36
   37
   38#define TLV_TYPE_HWRM_REQUEST                    0x1UL
   39#define TLV_TYPE_HWRM_RESPONSE                   0x2UL
   40#define TLV_TYPE_ROCE_SP_COMMAND                 0x3UL
   41#define TLV_TYPE_QUERY_ROCE_CC_GEN1              0x4UL
   42#define TLV_TYPE_MODIFY_ROCE_CC_GEN1             0x5UL
   43#define TLV_TYPE_QUERY_ROCE_CC_GEN2              0x6UL
   44#define TLV_TYPE_MODIFY_ROCE_CC_GEN2             0x7UL
   45#define TLV_TYPE_QUERY_ROCE_CC_GEN1_EXT          0x8UL
   46#define TLV_TYPE_MODIFY_ROCE_CC_GEN1_EXT         0x9UL
   47#define TLV_TYPE_QUERY_ROCE_CC_GEN2_EXT          0xaUL
   48#define TLV_TYPE_MODIFY_ROCE_CC_GEN2_EXT         0xbUL
   49#define TLV_TYPE_ENGINE_CKV_ALIAS_ECC_PUBLIC_KEY 0x8001UL
   50#define TLV_TYPE_ENGINE_CKV_IV                   0x8003UL
   51#define TLV_TYPE_ENGINE_CKV_AUTH_TAG             0x8004UL
   52#define TLV_TYPE_ENGINE_CKV_CIPHERTEXT           0x8005UL
   53#define TLV_TYPE_ENGINE_CKV_HOST_ALGORITHMS      0x8006UL
   54#define TLV_TYPE_ENGINE_CKV_HOST_ECC_PUBLIC_KEY  0x8007UL
   55#define TLV_TYPE_ENGINE_CKV_ECDSA_SIGNATURE      0x8008UL
   56#define TLV_TYPE_ENGINE_CKV_FW_ECC_PUBLIC_KEY    0x8009UL
   57#define TLV_TYPE_ENGINE_CKV_FW_ALGORITHMS        0x800aUL
   58#define TLV_TYPE_LAST                           TLV_TYPE_ENGINE_CKV_FW_ALGORITHMS
   59
   60
   61/* tlv (size:64b/8B) */
   62struct tlv {
   63	__le16	cmd_discr;
   64	u8	reserved_8b;
   65	u8	flags;
   66	#define TLV_FLAGS_MORE         0x1UL
   67	#define TLV_FLAGS_MORE_LAST      0x0UL
   68	#define TLV_FLAGS_MORE_NOT_LAST  0x1UL
   69	#define TLV_FLAGS_REQUIRED     0x2UL
   70	#define TLV_FLAGS_REQUIRED_NO    (0x0UL << 1)
   71	#define TLV_FLAGS_REQUIRED_YES   (0x1UL << 1)
   72	#define TLV_FLAGS_REQUIRED_LAST TLV_FLAGS_REQUIRED_YES
   73	__le16	tlv_type;
   74	__le16	length;
   75};
   76
   77/* input (size:128b/16B) */
   78struct input {
   79	__le16	req_type;
   80	__le16	cmpl_ring;
   81	__le16	seq_id;
   82	__le16	target_id;
   83	__le64	resp_addr;
   84};
   85
   86/* output (size:64b/8B) */
   87struct output {
   88	__le16	error_code;
   89	__le16	req_type;
   90	__le16	seq_id;
   91	__le16	resp_len;
   92};
   93
   94/* hwrm_short_input (size:128b/16B) */
   95struct hwrm_short_input {
   96	__le16	req_type;
   97	__le16	signature;
   98	#define SHORT_REQ_SIGNATURE_SHORT_CMD 0x4321UL
   99	#define SHORT_REQ_SIGNATURE_LAST     SHORT_REQ_SIGNATURE_SHORT_CMD
  100	__le16	target_id;
  101	#define SHORT_REQ_TARGET_ID_DEFAULT 0x0UL
  102	#define SHORT_REQ_TARGET_ID_TOOLS   0xfffdUL
  103	#define SHORT_REQ_TARGET_ID_LAST   SHORT_REQ_TARGET_ID_TOOLS
  104	__le16	size;
  105	__le64	req_addr;
  106};
  107
  108/* cmd_nums (size:64b/8B) */
  109struct cmd_nums {
  110	__le16	req_type;
  111	#define HWRM_VER_GET                              0x0UL
  112	#define HWRM_FUNC_ECHO_RESPONSE                   0xbUL
  113	#define HWRM_ERROR_RECOVERY_QCFG                  0xcUL
  114	#define HWRM_FUNC_DRV_IF_CHANGE                   0xdUL
  115	#define HWRM_FUNC_BUF_UNRGTR                      0xeUL
  116	#define HWRM_FUNC_VF_CFG                          0xfUL
  117	#define HWRM_RESERVED1                            0x10UL
  118	#define HWRM_FUNC_RESET                           0x11UL
  119	#define HWRM_FUNC_GETFID                          0x12UL
  120	#define HWRM_FUNC_VF_ALLOC                        0x13UL
  121	#define HWRM_FUNC_VF_FREE                         0x14UL
  122	#define HWRM_FUNC_QCAPS                           0x15UL
  123	#define HWRM_FUNC_QCFG                            0x16UL
  124	#define HWRM_FUNC_CFG                             0x17UL
  125	#define HWRM_FUNC_QSTATS                          0x18UL
  126	#define HWRM_FUNC_CLR_STATS                       0x19UL
  127	#define HWRM_FUNC_DRV_UNRGTR                      0x1aUL
  128	#define HWRM_FUNC_VF_RESC_FREE                    0x1bUL
  129	#define HWRM_FUNC_VF_VNIC_IDS_QUERY               0x1cUL
  130	#define HWRM_FUNC_DRV_RGTR                        0x1dUL
  131	#define HWRM_FUNC_DRV_QVER                        0x1eUL
  132	#define HWRM_FUNC_BUF_RGTR                        0x1fUL
  133	#define HWRM_PORT_PHY_CFG                         0x20UL
  134	#define HWRM_PORT_MAC_CFG                         0x21UL
  135	#define HWRM_PORT_TS_QUERY                        0x22UL
  136	#define HWRM_PORT_QSTATS                          0x23UL
  137	#define HWRM_PORT_LPBK_QSTATS                     0x24UL
  138	#define HWRM_PORT_CLR_STATS                       0x25UL
  139	#define HWRM_PORT_LPBK_CLR_STATS                  0x26UL
  140	#define HWRM_PORT_PHY_QCFG                        0x27UL
  141	#define HWRM_PORT_MAC_QCFG                        0x28UL
  142	#define HWRM_PORT_MAC_PTP_QCFG                    0x29UL
  143	#define HWRM_PORT_PHY_QCAPS                       0x2aUL
  144	#define HWRM_PORT_PHY_I2C_WRITE                   0x2bUL
  145	#define HWRM_PORT_PHY_I2C_READ                    0x2cUL
  146	#define HWRM_PORT_LED_CFG                         0x2dUL
  147	#define HWRM_PORT_LED_QCFG                        0x2eUL
  148	#define HWRM_PORT_LED_QCAPS                       0x2fUL
  149	#define HWRM_QUEUE_QPORTCFG                       0x30UL
  150	#define HWRM_QUEUE_QCFG                           0x31UL
  151	#define HWRM_QUEUE_CFG                            0x32UL
  152	#define HWRM_FUNC_VLAN_CFG                        0x33UL
  153	#define HWRM_FUNC_VLAN_QCFG                       0x34UL
  154	#define HWRM_QUEUE_PFCENABLE_QCFG                 0x35UL
  155	#define HWRM_QUEUE_PFCENABLE_CFG                  0x36UL
  156	#define HWRM_QUEUE_PRI2COS_QCFG                   0x37UL
  157	#define HWRM_QUEUE_PRI2COS_CFG                    0x38UL
  158	#define HWRM_QUEUE_COS2BW_QCFG                    0x39UL
  159	#define HWRM_QUEUE_COS2BW_CFG                     0x3aUL
  160	#define HWRM_QUEUE_DSCP_QCAPS                     0x3bUL
  161	#define HWRM_QUEUE_DSCP2PRI_QCFG                  0x3cUL
  162	#define HWRM_QUEUE_DSCP2PRI_CFG                   0x3dUL
  163	#define HWRM_VNIC_ALLOC                           0x40UL
  164	#define HWRM_VNIC_FREE                            0x41UL
  165	#define HWRM_VNIC_CFG                             0x42UL
  166	#define HWRM_VNIC_QCFG                            0x43UL
  167	#define HWRM_VNIC_TPA_CFG                         0x44UL
  168	#define HWRM_VNIC_TPA_QCFG                        0x45UL
  169	#define HWRM_VNIC_RSS_CFG                         0x46UL
  170	#define HWRM_VNIC_RSS_QCFG                        0x47UL
  171	#define HWRM_VNIC_PLCMODES_CFG                    0x48UL
  172	#define HWRM_VNIC_PLCMODES_QCFG                   0x49UL
  173	#define HWRM_VNIC_QCAPS                           0x4aUL
  174	#define HWRM_VNIC_UPDATE                          0x4bUL
  175	#define HWRM_RING_ALLOC                           0x50UL
  176	#define HWRM_RING_FREE                            0x51UL
  177	#define HWRM_RING_CMPL_RING_QAGGINT_PARAMS        0x52UL
  178	#define HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS     0x53UL
  179	#define HWRM_RING_AGGINT_QCAPS                    0x54UL
  180	#define HWRM_RING_SCHQ_ALLOC                      0x55UL
  181	#define HWRM_RING_SCHQ_CFG                        0x56UL
  182	#define HWRM_RING_SCHQ_FREE                       0x57UL
  183	#define HWRM_RING_RESET                           0x5eUL
  184	#define HWRM_RING_GRP_ALLOC                       0x60UL
  185	#define HWRM_RING_GRP_FREE                        0x61UL
  186	#define HWRM_RING_CFG                             0x62UL
  187	#define HWRM_RING_QCFG                            0x63UL
  188	#define HWRM_RESERVED5                            0x64UL
  189	#define HWRM_RESERVED6                            0x65UL
  190	#define HWRM_VNIC_RSS_COS_LB_CTX_ALLOC            0x70UL
  191	#define HWRM_VNIC_RSS_COS_LB_CTX_FREE             0x71UL
  192	#define HWRM_QUEUE_MPLS_QCAPS                     0x80UL
  193	#define HWRM_QUEUE_MPLSTC2PRI_QCFG                0x81UL
  194	#define HWRM_QUEUE_MPLSTC2PRI_CFG                 0x82UL
  195	#define HWRM_QUEUE_VLANPRI_QCAPS                  0x83UL
  196	#define HWRM_QUEUE_VLANPRI2PRI_QCFG               0x84UL
  197	#define HWRM_QUEUE_VLANPRI2PRI_CFG                0x85UL
  198	#define HWRM_QUEUE_GLOBAL_CFG                     0x86UL
  199	#define HWRM_QUEUE_GLOBAL_QCFG                    0x87UL
  200	#define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_QCFG      0x88UL
  201	#define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG       0x89UL
  202	#define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_QCFG      0x8aUL
  203	#define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG       0x8bUL
  204	#define HWRM_QUEUE_QCAPS                          0x8cUL
  205	#define HWRM_QUEUE_ADPTV_QOS_RX_TUNING_QCFG       0x8dUL
  206	#define HWRM_QUEUE_ADPTV_QOS_RX_TUNING_CFG        0x8eUL
  207	#define HWRM_QUEUE_ADPTV_QOS_TX_TUNING_QCFG       0x8fUL
  208	#define HWRM_CFA_L2_FILTER_ALLOC                  0x90UL
  209	#define HWRM_CFA_L2_FILTER_FREE                   0x91UL
  210	#define HWRM_CFA_L2_FILTER_CFG                    0x92UL
  211	#define HWRM_CFA_L2_SET_RX_MASK                   0x93UL
  212	#define HWRM_CFA_VLAN_ANTISPOOF_CFG               0x94UL
  213	#define HWRM_CFA_TUNNEL_FILTER_ALLOC              0x95UL
  214	#define HWRM_CFA_TUNNEL_FILTER_FREE               0x96UL
  215	#define HWRM_CFA_ENCAP_RECORD_ALLOC               0x97UL
  216	#define HWRM_CFA_ENCAP_RECORD_FREE                0x98UL
  217	#define HWRM_CFA_NTUPLE_FILTER_ALLOC              0x99UL
  218	#define HWRM_CFA_NTUPLE_FILTER_FREE               0x9aUL
  219	#define HWRM_CFA_NTUPLE_FILTER_CFG                0x9bUL
  220	#define HWRM_CFA_EM_FLOW_ALLOC                    0x9cUL
  221	#define HWRM_CFA_EM_FLOW_FREE                     0x9dUL
  222	#define HWRM_CFA_EM_FLOW_CFG                      0x9eUL
  223	#define HWRM_TUNNEL_DST_PORT_QUERY                0xa0UL
  224	#define HWRM_TUNNEL_DST_PORT_ALLOC                0xa1UL
  225	#define HWRM_TUNNEL_DST_PORT_FREE                 0xa2UL
  226	#define HWRM_QUEUE_ADPTV_QOS_TX_TUNING_CFG        0xa3UL
  227	#define HWRM_STAT_CTX_ENG_QUERY                   0xafUL
  228	#define HWRM_STAT_CTX_ALLOC                       0xb0UL
  229	#define HWRM_STAT_CTX_FREE                        0xb1UL
  230	#define HWRM_STAT_CTX_QUERY                       0xb2UL
  231	#define HWRM_STAT_CTX_CLR_STATS                   0xb3UL
  232	#define HWRM_PORT_QSTATS_EXT                      0xb4UL
  233	#define HWRM_PORT_PHY_MDIO_WRITE                  0xb5UL
  234	#define HWRM_PORT_PHY_MDIO_READ                   0xb6UL
  235	#define HWRM_PORT_PHY_MDIO_BUS_ACQUIRE            0xb7UL
  236	#define HWRM_PORT_PHY_MDIO_BUS_RELEASE            0xb8UL
  237	#define HWRM_PORT_QSTATS_EXT_PFC_WD               0xb9UL
  238	#define HWRM_RESERVED7                            0xbaUL
  239	#define HWRM_PORT_TX_FIR_CFG                      0xbbUL
  240	#define HWRM_PORT_TX_FIR_QCFG                     0xbcUL
  241	#define HWRM_PORT_ECN_QSTATS                      0xbdUL
  242	#define HWRM_FW_LIVEPATCH_QUERY                   0xbeUL
  243	#define HWRM_FW_LIVEPATCH                         0xbfUL
  244	#define HWRM_FW_RESET                             0xc0UL
  245	#define HWRM_FW_QSTATUS                           0xc1UL
  246	#define HWRM_FW_HEALTH_CHECK                      0xc2UL
  247	#define HWRM_FW_SYNC                              0xc3UL
  248	#define HWRM_FW_STATE_QCAPS                       0xc4UL
  249	#define HWRM_FW_STATE_QUIESCE                     0xc5UL
  250	#define HWRM_FW_STATE_BACKUP                      0xc6UL
  251	#define HWRM_FW_STATE_RESTORE                     0xc7UL
  252	#define HWRM_FW_SET_TIME                          0xc8UL
  253	#define HWRM_FW_GET_TIME                          0xc9UL
  254	#define HWRM_FW_SET_STRUCTURED_DATA               0xcaUL
  255	#define HWRM_FW_GET_STRUCTURED_DATA               0xcbUL
  256	#define HWRM_FW_IPC_MAILBOX                       0xccUL
  257	#define HWRM_FW_ECN_CFG                           0xcdUL
  258	#define HWRM_FW_ECN_QCFG                          0xceUL
  259	#define HWRM_FW_SECURE_CFG                        0xcfUL
  260	#define HWRM_EXEC_FWD_RESP                        0xd0UL
  261	#define HWRM_REJECT_FWD_RESP                      0xd1UL
  262	#define HWRM_FWD_RESP                             0xd2UL
  263	#define HWRM_FWD_ASYNC_EVENT_CMPL                 0xd3UL
  264	#define HWRM_OEM_CMD                              0xd4UL
  265	#define HWRM_PORT_PRBS_TEST                       0xd5UL
  266	#define HWRM_PORT_SFP_SIDEBAND_CFG                0xd6UL
  267	#define HWRM_PORT_SFP_SIDEBAND_QCFG               0xd7UL
  268	#define HWRM_FW_STATE_UNQUIESCE                   0xd8UL
  269	#define HWRM_PORT_DSC_DUMP                        0xd9UL
  270	#define HWRM_PORT_EP_TX_QCFG                      0xdaUL
  271	#define HWRM_PORT_EP_TX_CFG                       0xdbUL
  272	#define HWRM_PORT_CFG                             0xdcUL
  273	#define HWRM_PORT_QCFG                            0xddUL
  274	#define HWRM_PORT_MAC_QCAPS                       0xdfUL
  275	#define HWRM_TEMP_MONITOR_QUERY                   0xe0UL
  276	#define HWRM_REG_POWER_QUERY                      0xe1UL
  277	#define HWRM_CORE_FREQUENCY_QUERY                 0xe2UL
  278	#define HWRM_REG_POWER_HISTOGRAM                  0xe3UL
  279	#define HWRM_MONITOR_PAX_HISTOGRAM_START          0xe4UL
  280	#define HWRM_MONITOR_PAX_HISTOGRAM_COLLECT        0xe5UL
  281	#define HWRM_STAT_QUERY_ROCE_STATS                0xe6UL
  282	#define HWRM_STAT_QUERY_ROCE_STATS_EXT            0xe7UL
  283	#define HWRM_WOL_FILTER_ALLOC                     0xf0UL
  284	#define HWRM_WOL_FILTER_FREE                      0xf1UL
  285	#define HWRM_WOL_FILTER_QCFG                      0xf2UL
  286	#define HWRM_WOL_REASON_QCFG                      0xf3UL
  287	#define HWRM_CFA_METER_QCAPS                      0xf4UL
  288	#define HWRM_CFA_METER_PROFILE_ALLOC              0xf5UL
  289	#define HWRM_CFA_METER_PROFILE_FREE               0xf6UL
  290	#define HWRM_CFA_METER_PROFILE_CFG                0xf7UL
  291	#define HWRM_CFA_METER_INSTANCE_ALLOC             0xf8UL
  292	#define HWRM_CFA_METER_INSTANCE_FREE              0xf9UL
  293	#define HWRM_CFA_METER_INSTANCE_CFG               0xfaUL
  294	#define HWRM_CFA_VFR_ALLOC                        0xfdUL
  295	#define HWRM_CFA_VFR_FREE                         0xfeUL
  296	#define HWRM_CFA_VF_PAIR_ALLOC                    0x100UL
  297	#define HWRM_CFA_VF_PAIR_FREE                     0x101UL
  298	#define HWRM_CFA_VF_PAIR_INFO                     0x102UL
  299	#define HWRM_CFA_FLOW_ALLOC                       0x103UL
  300	#define HWRM_CFA_FLOW_FREE                        0x104UL
  301	#define HWRM_CFA_FLOW_FLUSH                       0x105UL
  302	#define HWRM_CFA_FLOW_STATS                       0x106UL
  303	#define HWRM_CFA_FLOW_INFO                        0x107UL
  304	#define HWRM_CFA_DECAP_FILTER_ALLOC               0x108UL
  305	#define HWRM_CFA_DECAP_FILTER_FREE                0x109UL
  306	#define HWRM_CFA_VLAN_ANTISPOOF_QCFG              0x10aUL
  307	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_ALLOC       0x10bUL
  308	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE        0x10cUL
  309	#define HWRM_CFA_PAIR_ALLOC                       0x10dUL
  310	#define HWRM_CFA_PAIR_FREE                        0x10eUL
  311	#define HWRM_CFA_PAIR_INFO                        0x10fUL
  312	#define HWRM_FW_IPC_MSG                           0x110UL
  313	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_INFO        0x111UL
  314	#define HWRM_CFA_REDIRECT_QUERY_TUNNEL_TYPE       0x112UL
  315	#define HWRM_CFA_FLOW_AGING_TIMER_RESET           0x113UL
  316	#define HWRM_CFA_FLOW_AGING_CFG                   0x114UL
  317	#define HWRM_CFA_FLOW_AGING_QCFG                  0x115UL
  318	#define HWRM_CFA_FLOW_AGING_QCAPS                 0x116UL
  319	#define HWRM_CFA_CTX_MEM_RGTR                     0x117UL
  320	#define HWRM_CFA_CTX_MEM_UNRGTR                   0x118UL
  321	#define HWRM_CFA_CTX_MEM_QCTX                     0x119UL
  322	#define HWRM_CFA_CTX_MEM_QCAPS                    0x11aUL
  323	#define HWRM_CFA_COUNTER_QCAPS                    0x11bUL
  324	#define HWRM_CFA_COUNTER_CFG                      0x11cUL
  325	#define HWRM_CFA_COUNTER_QCFG                     0x11dUL
  326	#define HWRM_CFA_COUNTER_QSTATS                   0x11eUL
  327	#define HWRM_CFA_TCP_FLAG_PROCESS_QCFG            0x11fUL
  328	#define HWRM_CFA_EEM_QCAPS                        0x120UL
  329	#define HWRM_CFA_EEM_CFG                          0x121UL
  330	#define HWRM_CFA_EEM_QCFG                         0x122UL
  331	#define HWRM_CFA_EEM_OP                           0x123UL
  332	#define HWRM_CFA_ADV_FLOW_MGNT_QCAPS              0x124UL
  333	#define HWRM_CFA_TFLIB                            0x125UL
  334	#define HWRM_CFA_LAG_GROUP_MEMBER_RGTR            0x126UL
  335	#define HWRM_CFA_LAG_GROUP_MEMBER_UNRGTR          0x127UL
  336	#define HWRM_CFA_TLS_FILTER_ALLOC                 0x128UL
  337	#define HWRM_CFA_TLS_FILTER_FREE                  0x129UL
  338	#define HWRM_CFA_RELEASE_AFM_FUNC                 0x12aUL
  339	#define HWRM_ENGINE_CKV_STATUS                    0x12eUL
  340	#define HWRM_ENGINE_CKV_CKEK_ADD                  0x12fUL
  341	#define HWRM_ENGINE_CKV_CKEK_DELETE               0x130UL
  342	#define HWRM_ENGINE_CKV_KEY_ADD                   0x131UL
  343	#define HWRM_ENGINE_CKV_KEY_DELETE                0x132UL
  344	#define HWRM_ENGINE_CKV_FLUSH                     0x133UL
  345	#define HWRM_ENGINE_CKV_RNG_GET                   0x134UL
  346	#define HWRM_ENGINE_CKV_KEY_GEN                   0x135UL
  347	#define HWRM_ENGINE_CKV_KEY_LABEL_CFG             0x136UL
  348	#define HWRM_ENGINE_CKV_KEY_LABEL_QCFG            0x137UL
  349	#define HWRM_ENGINE_QG_CONFIG_QUERY               0x13cUL
  350	#define HWRM_ENGINE_QG_QUERY                      0x13dUL
  351	#define HWRM_ENGINE_QG_METER_PROFILE_CONFIG_QUERY 0x13eUL
  352	#define HWRM_ENGINE_QG_METER_PROFILE_QUERY        0x13fUL
  353	#define HWRM_ENGINE_QG_METER_PROFILE_ALLOC        0x140UL
  354	#define HWRM_ENGINE_QG_METER_PROFILE_FREE         0x141UL
  355	#define HWRM_ENGINE_QG_METER_QUERY                0x142UL
  356	#define HWRM_ENGINE_QG_METER_BIND                 0x143UL
  357	#define HWRM_ENGINE_QG_METER_UNBIND               0x144UL
  358	#define HWRM_ENGINE_QG_FUNC_BIND                  0x145UL
  359	#define HWRM_ENGINE_SG_CONFIG_QUERY               0x146UL
  360	#define HWRM_ENGINE_SG_QUERY                      0x147UL
  361	#define HWRM_ENGINE_SG_METER_QUERY                0x148UL
  362	#define HWRM_ENGINE_SG_METER_CONFIG               0x149UL
  363	#define HWRM_ENGINE_SG_QG_BIND                    0x14aUL
  364	#define HWRM_ENGINE_QG_SG_UNBIND                  0x14bUL
  365	#define HWRM_ENGINE_CONFIG_QUERY                  0x154UL
  366	#define HWRM_ENGINE_STATS_CONFIG                  0x155UL
  367	#define HWRM_ENGINE_STATS_CLEAR                   0x156UL
  368	#define HWRM_ENGINE_STATS_QUERY                   0x157UL
  369	#define HWRM_ENGINE_STATS_QUERY_CONTINUOUS_ERROR  0x158UL
  370	#define HWRM_ENGINE_RQ_ALLOC                      0x15eUL
  371	#define HWRM_ENGINE_RQ_FREE                       0x15fUL
  372	#define HWRM_ENGINE_CQ_ALLOC                      0x160UL
  373	#define HWRM_ENGINE_CQ_FREE                       0x161UL
  374	#define HWRM_ENGINE_NQ_ALLOC                      0x162UL
  375	#define HWRM_ENGINE_NQ_FREE                       0x163UL
  376	#define HWRM_ENGINE_ON_DIE_RQE_CREDITS            0x164UL
  377	#define HWRM_ENGINE_FUNC_QCFG                     0x165UL
  378	#define HWRM_FUNC_RESOURCE_QCAPS                  0x190UL
  379	#define HWRM_FUNC_VF_RESOURCE_CFG                 0x191UL
  380	#define HWRM_FUNC_BACKING_STORE_QCAPS             0x192UL
  381	#define HWRM_FUNC_BACKING_STORE_CFG               0x193UL
  382	#define HWRM_FUNC_BACKING_STORE_QCFG              0x194UL
  383	#define HWRM_FUNC_VF_BW_CFG                       0x195UL
  384	#define HWRM_FUNC_VF_BW_QCFG                      0x196UL
  385	#define HWRM_FUNC_HOST_PF_IDS_QUERY               0x197UL
  386	#define HWRM_FUNC_QSTATS_EXT                      0x198UL
  387	#define HWRM_STAT_EXT_CTX_QUERY                   0x199UL
  388	#define HWRM_FUNC_SPD_CFG                         0x19aUL
  389	#define HWRM_FUNC_SPD_QCFG                        0x19bUL
  390	#define HWRM_FUNC_PTP_PIN_QCFG                    0x19cUL
  391	#define HWRM_FUNC_PTP_PIN_CFG                     0x19dUL
  392	#define HWRM_FUNC_PTP_CFG                         0x19eUL
  393	#define HWRM_FUNC_PTP_TS_QUERY                    0x19fUL
  394	#define HWRM_FUNC_PTP_EXT_CFG                     0x1a0UL
  395	#define HWRM_FUNC_PTP_EXT_QCFG                    0x1a1UL
  396	#define HWRM_FUNC_KEY_CTX_ALLOC                   0x1a2UL
  397	#define HWRM_FUNC_BACKING_STORE_CFG_V2            0x1a3UL
  398	#define HWRM_FUNC_BACKING_STORE_QCFG_V2           0x1a4UL
  399	#define HWRM_FUNC_DBR_PACING_CFG                  0x1a5UL
  400	#define HWRM_FUNC_DBR_PACING_QCFG                 0x1a6UL
  401	#define HWRM_FUNC_DBR_PACING_BROADCAST_EVENT      0x1a7UL
  402	#define HWRM_FUNC_BACKING_STORE_QCAPS_V2          0x1a8UL
  403	#define HWRM_FUNC_DBR_PACING_NQLIST_QUERY         0x1a9UL
  404	#define HWRM_FUNC_DBR_RECOVERY_COMPLETED          0x1aaUL
  405	#define HWRM_FUNC_SYNCE_CFG                       0x1abUL
  406	#define HWRM_FUNC_SYNCE_QCFG                      0x1acUL
  407	#define HWRM_FUNC_KEY_CTX_FREE                    0x1adUL
  408	#define HWRM_FUNC_LAG_MODE_CFG                    0x1aeUL
  409	#define HWRM_FUNC_LAG_MODE_QCFG                   0x1afUL
  410	#define HWRM_FUNC_LAG_CREATE                      0x1b0UL
  411	#define HWRM_FUNC_LAG_UPDATE                      0x1b1UL
  412	#define HWRM_FUNC_LAG_FREE                        0x1b2UL
  413	#define HWRM_FUNC_LAG_QCFG                        0x1b3UL
  414	#define HWRM_FUNC_TTX_PACING_RATE_PROF_QUERY      0x1c3UL
  415	#define HWRM_FUNC_TTX_PACING_RATE_QUERY           0x1c4UL
  416	#define HWRM_SELFTEST_QLIST                       0x200UL
  417	#define HWRM_SELFTEST_EXEC                        0x201UL
  418	#define HWRM_SELFTEST_IRQ                         0x202UL
  419	#define HWRM_SELFTEST_RETRIEVE_SERDES_DATA        0x203UL
  420	#define HWRM_PCIE_QSTATS                          0x204UL
  421	#define HWRM_MFG_FRU_WRITE_CONTROL                0x205UL
  422	#define HWRM_MFG_TIMERS_QUERY                     0x206UL
  423	#define HWRM_MFG_OTP_CFG                          0x207UL
  424	#define HWRM_MFG_OTP_QCFG                         0x208UL
  425	#define HWRM_MFG_HDMA_TEST                        0x209UL
  426	#define HWRM_MFG_FRU_EEPROM_WRITE                 0x20aUL
  427	#define HWRM_MFG_FRU_EEPROM_READ                  0x20bUL
  428	#define HWRM_MFG_SOC_IMAGE                        0x20cUL
  429	#define HWRM_MFG_SOC_QSTATUS                      0x20dUL
  430	#define HWRM_MFG_PARAM_CRITICAL_DATA_FINALIZE     0x20eUL
  431	#define HWRM_MFG_PARAM_CRITICAL_DATA_READ         0x20fUL
  432	#define HWRM_MFG_PARAM_CRITICAL_DATA_HEALTH       0x210UL
  433	#define HWRM_MFG_PRVSN_EXPORT_CSR                 0x211UL
  434	#define HWRM_MFG_PRVSN_IMPORT_CERT                0x212UL
  435	#define HWRM_MFG_PRVSN_GET_STATE                  0x213UL
  436	#define HWRM_MFG_GET_NVM_MEASUREMENT              0x214UL
  437	#define HWRM_MFG_PSOC_QSTATUS                     0x215UL
  438	#define HWRM_MFG_SELFTEST_QLIST                   0x216UL
  439	#define HWRM_MFG_SELFTEST_EXEC                    0x217UL
  440	#define HWRM_STAT_GENERIC_QSTATS                  0x218UL
  441	#define HWRM_MFG_PRVSN_EXPORT_CERT                0x219UL
  442	#define HWRM_STAT_DB_ERROR_QSTATS                 0x21aUL
  443	#define HWRM_MFG_TESTS                            0x21bUL
  444	#define HWRM_MFG_WRITE_CERT_NVM                   0x21cUL
  445	#define HWRM_PORT_POE_CFG                         0x230UL
  446	#define HWRM_PORT_POE_QCFG                        0x231UL
  447	#define HWRM_PORT_PHY_FDRSTAT                     0x232UL
  448	#define HWRM_UDCC_QCAPS                           0x258UL
  449	#define HWRM_UDCC_CFG                             0x259UL
  450	#define HWRM_UDCC_QCFG                            0x25aUL
  451	#define HWRM_UDCC_SESSION_CFG                     0x25bUL
  452	#define HWRM_UDCC_SESSION_QCFG                    0x25cUL
  453	#define HWRM_UDCC_SESSION_QUERY                   0x25dUL
  454	#define HWRM_UDCC_COMP_CFG                        0x25eUL
  455	#define HWRM_UDCC_COMP_QCFG                       0x25fUL
  456	#define HWRM_UDCC_COMP_QUERY                      0x260UL
  457	#define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS            0x261UL
  458	#define HWRM_QUEUE_PFCWD_TIMEOUT_CFG              0x262UL
  459	#define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG             0x263UL
  460	#define HWRM_QUEUE_ADPTV_QOS_RX_QCFG              0x264UL
  461	#define HWRM_QUEUE_ADPTV_QOS_TX_QCFG              0x265UL
  462	#define HWRM_TF                                   0x2bcUL
  463	#define HWRM_TF_VERSION_GET                       0x2bdUL
  464	#define HWRM_TF_SESSION_OPEN                      0x2c6UL
  465	#define HWRM_TF_SESSION_REGISTER                  0x2c8UL
  466	#define HWRM_TF_SESSION_UNREGISTER                0x2c9UL
  467	#define HWRM_TF_SESSION_CLOSE                     0x2caUL
  468	#define HWRM_TF_SESSION_QCFG                      0x2cbUL
  469	#define HWRM_TF_SESSION_RESC_QCAPS                0x2ccUL
  470	#define HWRM_TF_SESSION_RESC_ALLOC                0x2cdUL
  471	#define HWRM_TF_SESSION_RESC_FREE                 0x2ceUL
  472	#define HWRM_TF_SESSION_RESC_FLUSH                0x2cfUL
  473	#define HWRM_TF_SESSION_RESC_INFO                 0x2d0UL
  474	#define HWRM_TF_SESSION_HOTUP_STATE_SET           0x2d1UL
  475	#define HWRM_TF_SESSION_HOTUP_STATE_GET           0x2d2UL
  476	#define HWRM_TF_TBL_TYPE_GET                      0x2daUL
  477	#define HWRM_TF_TBL_TYPE_SET                      0x2dbUL
  478	#define HWRM_TF_TBL_TYPE_BULK_GET                 0x2dcUL
  479	#define HWRM_TF_EM_INSERT                         0x2eaUL
  480	#define HWRM_TF_EM_DELETE                         0x2ebUL
  481	#define HWRM_TF_EM_HASH_INSERT                    0x2ecUL
  482	#define HWRM_TF_EM_MOVE                           0x2edUL
  483	#define HWRM_TF_TCAM_SET                          0x2f8UL
  484	#define HWRM_TF_TCAM_GET                          0x2f9UL
  485	#define HWRM_TF_TCAM_MOVE                         0x2faUL
  486	#define HWRM_TF_TCAM_FREE                         0x2fbUL
  487	#define HWRM_TF_GLOBAL_CFG_SET                    0x2fcUL
  488	#define HWRM_TF_GLOBAL_CFG_GET                    0x2fdUL
  489	#define HWRM_TF_IF_TBL_SET                        0x2feUL
  490	#define HWRM_TF_IF_TBL_GET                        0x2ffUL
  491	#define HWRM_TF_RESC_USAGE_SET                    0x300UL
  492	#define HWRM_TF_RESC_USAGE_QUERY                  0x301UL
  493	#define HWRM_TF_TBL_TYPE_ALLOC                    0x302UL
  494	#define HWRM_TF_TBL_TYPE_FREE                     0x303UL
  495	#define HWRM_TFC_TBL_SCOPE_QCAPS                  0x380UL
  496	#define HWRM_TFC_TBL_SCOPE_ID_ALLOC               0x381UL
  497	#define HWRM_TFC_TBL_SCOPE_CONFIG                 0x382UL
  498	#define HWRM_TFC_TBL_SCOPE_DECONFIG               0x383UL
  499	#define HWRM_TFC_TBL_SCOPE_FID_ADD                0x384UL
  500	#define HWRM_TFC_TBL_SCOPE_FID_REM                0x385UL
  501	#define HWRM_TFC_TBL_SCOPE_POOL_ALLOC             0x386UL
  502	#define HWRM_TFC_TBL_SCOPE_POOL_FREE              0x387UL
  503	#define HWRM_TFC_SESSION_ID_ALLOC                 0x388UL
  504	#define HWRM_TFC_SESSION_FID_ADD                  0x389UL
  505	#define HWRM_TFC_SESSION_FID_REM                  0x38aUL
  506	#define HWRM_TFC_IDENT_ALLOC                      0x38bUL
  507	#define HWRM_TFC_IDENT_FREE                       0x38cUL
  508	#define HWRM_TFC_IDX_TBL_ALLOC                    0x38dUL
  509	#define HWRM_TFC_IDX_TBL_ALLOC_SET                0x38eUL
  510	#define HWRM_TFC_IDX_TBL_SET                      0x38fUL
  511	#define HWRM_TFC_IDX_TBL_GET                      0x390UL
  512	#define HWRM_TFC_IDX_TBL_FREE                     0x391UL
  513	#define HWRM_TFC_GLOBAL_ID_ALLOC                  0x392UL
  514	#define HWRM_TFC_TCAM_SET                         0x393UL
  515	#define HWRM_TFC_TCAM_GET                         0x394UL
  516	#define HWRM_TFC_TCAM_ALLOC                       0x395UL
  517	#define HWRM_TFC_TCAM_ALLOC_SET                   0x396UL
  518	#define HWRM_TFC_TCAM_FREE                        0x397UL
  519	#define HWRM_TFC_IF_TBL_SET                       0x398UL
  520	#define HWRM_TFC_IF_TBL_GET                       0x399UL
  521	#define HWRM_TFC_TBL_SCOPE_CONFIG_GET             0x39aUL
  522	#define HWRM_TFC_RESC_USAGE_QUERY                 0x39bUL
  523	#define HWRM_TFC_GLOBAL_ID_FREE                   0x39cUL
  524	#define HWRM_TFC_TCAM_PRI_UPDATE                  0x39dUL
  525	#define HWRM_TFC_HOT_UPGRADE_PROCESS              0x3a0UL
  526	#define HWRM_SV                                   0x400UL
  527	#define HWRM_DBG_SERDES_TEST                      0xff0eUL
  528	#define HWRM_DBG_LOG_BUFFER_FLUSH                 0xff0fUL
  529	#define HWRM_DBG_READ_DIRECT                      0xff10UL
  530	#define HWRM_DBG_READ_INDIRECT                    0xff11UL
  531	#define HWRM_DBG_WRITE_DIRECT                     0xff12UL
  532	#define HWRM_DBG_WRITE_INDIRECT                   0xff13UL
  533	#define HWRM_DBG_DUMP                             0xff14UL
  534	#define HWRM_DBG_ERASE_NVM                        0xff15UL
  535	#define HWRM_DBG_CFG                              0xff16UL
  536	#define HWRM_DBG_COREDUMP_LIST                    0xff17UL
  537	#define HWRM_DBG_COREDUMP_INITIATE                0xff18UL
  538	#define HWRM_DBG_COREDUMP_RETRIEVE                0xff19UL
  539	#define HWRM_DBG_FW_CLI                           0xff1aUL
  540	#define HWRM_DBG_I2C_CMD                          0xff1bUL
  541	#define HWRM_DBG_RING_INFO_GET                    0xff1cUL
  542	#define HWRM_DBG_CRASHDUMP_HEADER                 0xff1dUL
  543	#define HWRM_DBG_CRASHDUMP_ERASE                  0xff1eUL
  544	#define HWRM_DBG_DRV_TRACE                        0xff1fUL
  545	#define HWRM_DBG_QCAPS                            0xff20UL
  546	#define HWRM_DBG_QCFG                             0xff21UL
  547	#define HWRM_DBG_CRASHDUMP_MEDIUM_CFG             0xff22UL
  548	#define HWRM_DBG_USEQ_ALLOC                       0xff23UL
  549	#define HWRM_DBG_USEQ_FREE                        0xff24UL
  550	#define HWRM_DBG_USEQ_FLUSH                       0xff25UL
  551	#define HWRM_DBG_USEQ_QCAPS                       0xff26UL
  552	#define HWRM_DBG_USEQ_CW_CFG                      0xff27UL
  553	#define HWRM_DBG_USEQ_SCHED_CFG                   0xff28UL
  554	#define HWRM_DBG_USEQ_RUN                         0xff29UL
  555	#define HWRM_DBG_USEQ_DELIVERY_REQ                0xff2aUL
  556	#define HWRM_DBG_USEQ_RESP_HDR                    0xff2bUL
  557	#define HWRM_DBG_COREDUMP_CAPTURE                 0xff2cUL
  558	#define HWRM_DBG_PTRACE                           0xff2dUL
  559	#define HWRM_DBG_SIM_CABLE_STATE                  0xff2eUL
  560	#define HWRM_DBG_TOKEN_QUERY_AUTH_IDS             0xff2fUL
  561	#define HWRM_DBG_TOKEN_CFG                        0xff30UL
  562	#define HWRM_NVM_GET_VPD_FIELD_INFO               0xffeaUL
  563	#define HWRM_NVM_SET_VPD_FIELD_INFO               0xffebUL
  564	#define HWRM_NVM_DEFRAG                           0xffecUL
  565	#define HWRM_NVM_REQ_ARBITRATION                  0xffedUL
  566	#define HWRM_NVM_FACTORY_DEFAULTS                 0xffeeUL
  567	#define HWRM_NVM_VALIDATE_OPTION                  0xffefUL
  568	#define HWRM_NVM_FLUSH                            0xfff0UL
  569	#define HWRM_NVM_GET_VARIABLE                     0xfff1UL
  570	#define HWRM_NVM_SET_VARIABLE                     0xfff2UL
  571	#define HWRM_NVM_INSTALL_UPDATE                   0xfff3UL
  572	#define HWRM_NVM_MODIFY                           0xfff4UL
  573	#define HWRM_NVM_VERIFY_UPDATE                    0xfff5UL
  574	#define HWRM_NVM_GET_DEV_INFO                     0xfff6UL
  575	#define HWRM_NVM_ERASE_DIR_ENTRY                  0xfff7UL
  576	#define HWRM_NVM_MOD_DIR_ENTRY                    0xfff8UL
  577	#define HWRM_NVM_FIND_DIR_ENTRY                   0xfff9UL
  578	#define HWRM_NVM_GET_DIR_ENTRIES                  0xfffaUL
  579	#define HWRM_NVM_GET_DIR_INFO                     0xfffbUL
  580	#define HWRM_NVM_RAW_DUMP                         0xfffcUL
  581	#define HWRM_NVM_READ                             0xfffdUL
  582	#define HWRM_NVM_WRITE                            0xfffeUL
  583	#define HWRM_NVM_RAW_WRITE_BLK                    0xffffUL
  584	#define HWRM_LAST                                HWRM_NVM_RAW_WRITE_BLK
  585	__le16	unused_0[3];
  586};
  587
  588/* ret_codes (size:64b/8B) */
  589struct ret_codes {
  590	__le16	error_code;
  591	#define HWRM_ERR_CODE_SUCCESS                      0x0UL
  592	#define HWRM_ERR_CODE_FAIL                         0x1UL
  593	#define HWRM_ERR_CODE_INVALID_PARAMS               0x2UL
  594	#define HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED       0x3UL
  595	#define HWRM_ERR_CODE_RESOURCE_ALLOC_ERROR         0x4UL
  596	#define HWRM_ERR_CODE_INVALID_FLAGS                0x5UL
  597	#define HWRM_ERR_CODE_INVALID_ENABLES              0x6UL
  598	#define HWRM_ERR_CODE_UNSUPPORTED_TLV              0x7UL
  599	#define HWRM_ERR_CODE_NO_BUFFER                    0x8UL
  600	#define HWRM_ERR_CODE_UNSUPPORTED_OPTION_ERR       0x9UL
  601	#define HWRM_ERR_CODE_HOT_RESET_PROGRESS           0xaUL
  602	#define HWRM_ERR_CODE_HOT_RESET_FAIL               0xbUL
  603	#define HWRM_ERR_CODE_NO_FLOW_COUNTER_DURING_ALLOC 0xcUL
  604	#define HWRM_ERR_CODE_KEY_HASH_COLLISION           0xdUL
  605	#define HWRM_ERR_CODE_KEY_ALREADY_EXISTS           0xeUL
  606	#define HWRM_ERR_CODE_HWRM_ERROR                   0xfUL
  607	#define HWRM_ERR_CODE_BUSY                         0x10UL
  608	#define HWRM_ERR_CODE_RESOURCE_LOCKED              0x11UL
  609	#define HWRM_ERR_CODE_PF_UNAVAILABLE               0x12UL
  610	#define HWRM_ERR_CODE_ENTITY_NOT_PRESENT           0x13UL
  611	#define HWRM_ERR_CODE_SECURE_SOC_ERROR             0x14UL
  612	#define HWRM_ERR_CODE_TLV_ENCAPSULATED_RESPONSE    0x8000UL
  613	#define HWRM_ERR_CODE_UNKNOWN_ERR                  0xfffeUL
  614	#define HWRM_ERR_CODE_CMD_NOT_SUPPORTED            0xffffUL
  615	#define HWRM_ERR_CODE_LAST                        HWRM_ERR_CODE_CMD_NOT_SUPPORTED
  616	__le16	unused_0[3];
  617};
  618
  619/* hwrm_err_output (size:128b/16B) */
  620struct hwrm_err_output {
  621	__le16	error_code;
  622	__le16	req_type;
  623	__le16	seq_id;
  624	__le16	resp_len;
  625	__le32	opaque_0;
  626	__le16	opaque_1;
  627	u8	cmd_err;
  628	u8	valid;
  629};
  630#define HWRM_NA_SIGNATURE ((__le32)(-1))
  631#define HWRM_MAX_REQ_LEN 128
  632#define HWRM_MAX_RESP_LEN 704
  633#define HW_HASH_INDEX_SIZE 0x80
  634#define HW_HASH_KEY_SIZE 40
  635#define HWRM_RESP_VALID_KEY 1
  636#define HWRM_TARGET_ID_BONO 0xFFF8
  637#define HWRM_TARGET_ID_KONG 0xFFF9
  638#define HWRM_TARGET_ID_APE 0xFFFA
  639#define HWRM_TARGET_ID_TOOLS 0xFFFD
  640#define HWRM_VERSION_MAJOR 1
  641#define HWRM_VERSION_MINOR 10
  642#define HWRM_VERSION_UPDATE 3
  643#define HWRM_VERSION_RSVD 133
  644#define HWRM_VERSION_STR "1.10.3.133"
  645
  646/* hwrm_ver_get_input (size:192b/24B) */
  647struct hwrm_ver_get_input {
  648	__le16	req_type;
  649	__le16	cmpl_ring;
  650	__le16	seq_id;
  651	__le16	target_id;
  652	__le64	resp_addr;
  653	u8	hwrm_intf_maj;
  654	u8	hwrm_intf_min;
  655	u8	hwrm_intf_upd;
  656	u8	unused_0[5];
  657};
  658
  659/* hwrm_ver_get_output (size:1408b/176B) */
  660struct hwrm_ver_get_output {
  661	__le16	error_code;
  662	__le16	req_type;
  663	__le16	seq_id;
  664	__le16	resp_len;
  665	u8	hwrm_intf_maj_8b;
  666	u8	hwrm_intf_min_8b;
  667	u8	hwrm_intf_upd_8b;
  668	u8	hwrm_intf_rsvd_8b;
  669	u8	hwrm_fw_maj_8b;
  670	u8	hwrm_fw_min_8b;
  671	u8	hwrm_fw_bld_8b;
  672	u8	hwrm_fw_rsvd_8b;
  673	u8	mgmt_fw_maj_8b;
  674	u8	mgmt_fw_min_8b;
  675	u8	mgmt_fw_bld_8b;
  676	u8	mgmt_fw_rsvd_8b;
  677	u8	netctrl_fw_maj_8b;
  678	u8	netctrl_fw_min_8b;
  679	u8	netctrl_fw_bld_8b;
  680	u8	netctrl_fw_rsvd_8b;
  681	__le32	dev_caps_cfg;
  682	#define VER_GET_RESP_DEV_CAPS_CFG_SECURE_FW_UPD_SUPPORTED                  0x1UL
  683	#define VER_GET_RESP_DEV_CAPS_CFG_FW_DCBX_AGENT_SUPPORTED                  0x2UL
  684	#define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_SUPPORTED                      0x4UL
  685	#define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_REQUIRED                       0x8UL
  686	#define VER_GET_RESP_DEV_CAPS_CFG_KONG_MB_CHNL_SUPPORTED                   0x10UL
  687	#define VER_GET_RESP_DEV_CAPS_CFG_FLOW_HANDLE_64BIT_SUPPORTED              0x20UL
  688	#define VER_GET_RESP_DEV_CAPS_CFG_L2_FILTER_TYPES_ROCE_OR_L2_SUPPORTED     0x40UL
  689	#define VER_GET_RESP_DEV_CAPS_CFG_VIRTIO_VSWITCH_OFFLOAD_SUPPORTED         0x80UL
  690	#define VER_GET_RESP_DEV_CAPS_CFG_TRUSTED_VF_SUPPORTED                     0x100UL
  691	#define VER_GET_RESP_DEV_CAPS_CFG_FLOW_AGING_SUPPORTED                     0x200UL
  692	#define VER_GET_RESP_DEV_CAPS_CFG_ADV_FLOW_COUNTERS_SUPPORTED              0x400UL
  693	#define VER_GET_RESP_DEV_CAPS_CFG_CFA_EEM_SUPPORTED                        0x800UL
  694	#define VER_GET_RESP_DEV_CAPS_CFG_CFA_ADV_FLOW_MGNT_SUPPORTED              0x1000UL
  695	#define VER_GET_RESP_DEV_CAPS_CFG_CFA_TFLIB_SUPPORTED                      0x2000UL
  696	#define VER_GET_RESP_DEV_CAPS_CFG_CFA_TRUFLOW_SUPPORTED                    0x4000UL
  697	#define VER_GET_RESP_DEV_CAPS_CFG_SECURE_BOOT_CAPABLE                      0x8000UL
  698	#define VER_GET_RESP_DEV_CAPS_CFG_SECURE_SOC_CAPABLE                       0x10000UL
  699	#define VER_GET_RESP_DEV_CAPS_CFG_DEBUG_TOKEN_SUPPORTED                    0x20000UL
  700	u8	roce_fw_maj_8b;
  701	u8	roce_fw_min_8b;
  702	u8	roce_fw_bld_8b;
  703	u8	roce_fw_rsvd_8b;
  704	char	hwrm_fw_name[16];
  705	char	mgmt_fw_name[16];
  706	char	netctrl_fw_name[16];
  707	char	active_pkg_name[16];
  708	char	roce_fw_name[16];
  709	__le16	chip_num;
  710	u8	chip_rev;
  711	u8	chip_metal;
  712	u8	chip_bond_id;
  713	u8	chip_platform_type;
  714	#define VER_GET_RESP_CHIP_PLATFORM_TYPE_ASIC      0x0UL
  715	#define VER_GET_RESP_CHIP_PLATFORM_TYPE_FPGA      0x1UL
  716	#define VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM 0x2UL
  717	#define VER_GET_RESP_CHIP_PLATFORM_TYPE_LAST     VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM
  718	__le16	max_req_win_len;
  719	__le16	max_resp_len;
  720	__le16	def_req_timeout;
  721	u8	flags;
  722	#define VER_GET_RESP_FLAGS_DEV_NOT_RDY                   0x1UL
  723	#define VER_GET_RESP_FLAGS_EXT_VER_AVAIL                 0x2UL
  724	#define VER_GET_RESP_FLAGS_DEV_NOT_RDY_BACKING_STORE     0x4UL
  725	u8	unused_0[2];
  726	u8	always_1;
  727	__le16	hwrm_intf_major;
  728	__le16	hwrm_intf_minor;
  729	__le16	hwrm_intf_build;
  730	__le16	hwrm_intf_patch;
  731	__le16	hwrm_fw_major;
  732	__le16	hwrm_fw_minor;
  733	__le16	hwrm_fw_build;
  734	__le16	hwrm_fw_patch;
  735	__le16	mgmt_fw_major;
  736	__le16	mgmt_fw_minor;
  737	__le16	mgmt_fw_build;
  738	__le16	mgmt_fw_patch;
  739	__le16	netctrl_fw_major;
  740	__le16	netctrl_fw_minor;
  741	__le16	netctrl_fw_build;
  742	__le16	netctrl_fw_patch;
  743	__le16	roce_fw_major;
  744	__le16	roce_fw_minor;
  745	__le16	roce_fw_build;
  746	__le16	roce_fw_patch;
  747	__le16	max_ext_req_len;
  748	__le16	max_req_timeout;
  749	u8	unused_1[3];
  750	u8	valid;
  751};
  752
  753/* eject_cmpl (size:128b/16B) */
  754struct eject_cmpl {
  755	__le16	type;
  756	#define EJECT_CMPL_TYPE_MASK       0x3fUL
  757	#define EJECT_CMPL_TYPE_SFT        0
  758	#define EJECT_CMPL_TYPE_STAT_EJECT   0x1aUL
  759	#define EJECT_CMPL_TYPE_LAST        EJECT_CMPL_TYPE_STAT_EJECT
  760	#define EJECT_CMPL_FLAGS_MASK      0xffc0UL
  761	#define EJECT_CMPL_FLAGS_SFT       6
  762	#define EJECT_CMPL_FLAGS_ERROR      0x40UL
  763	__le16	len;
  764	__le32	opaque;
  765	__le16	v;
  766	#define EJECT_CMPL_V                              0x1UL
  767	#define EJECT_CMPL_ERRORS_MASK                    0xfffeUL
  768	#define EJECT_CMPL_ERRORS_SFT                     1
  769	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_MASK        0xeUL
  770	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_SFT         1
  771	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_NO_BUFFER     (0x0UL << 1)
  772	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_DID_NOT_FIT   (0x1UL << 1)
  773	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_BAD_FORMAT    (0x3UL << 1)
  774	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_FLUSH         (0x5UL << 1)
  775	#define EJECT_CMPL_ERRORS_BUFFER_ERROR_LAST         EJECT_CMPL_ERRORS_BUFFER_ERROR_FLUSH
  776	__le16	reserved16;
  777	__le32	unused_2;
  778};
  779
  780/* hwrm_cmpl (size:128b/16B) */
  781struct hwrm_cmpl {
  782	__le16	type;
  783	#define CMPL_TYPE_MASK     0x3fUL
  784	#define CMPL_TYPE_SFT      0
  785	#define CMPL_TYPE_HWRM_DONE  0x20UL
  786	#define CMPL_TYPE_LAST      CMPL_TYPE_HWRM_DONE
  787	__le16	sequence_id;
  788	__le32	unused_1;
  789	__le32	v;
  790	#define CMPL_V     0x1UL
  791	__le32	unused_3;
  792};
  793
  794/* hwrm_fwd_req_cmpl (size:128b/16B) */
  795struct hwrm_fwd_req_cmpl {
  796	__le16	req_len_type;
  797	#define FWD_REQ_CMPL_TYPE_MASK        0x3fUL
  798	#define FWD_REQ_CMPL_TYPE_SFT         0
  799	#define FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ  0x22UL
  800	#define FWD_REQ_CMPL_TYPE_LAST         FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ
  801	#define FWD_REQ_CMPL_REQ_LEN_MASK     0xffc0UL
  802	#define FWD_REQ_CMPL_REQ_LEN_SFT      6
  803	__le16	source_id;
  804	__le32	unused0;
  805	__le32	req_buf_addr_v[2];
  806	#define FWD_REQ_CMPL_V                0x1UL
  807	#define FWD_REQ_CMPL_REQ_BUF_ADDR_MASK 0xfffffffeUL
  808	#define FWD_REQ_CMPL_REQ_BUF_ADDR_SFT 1
  809};
  810
  811/* hwrm_fwd_resp_cmpl (size:128b/16B) */
  812struct hwrm_fwd_resp_cmpl {
  813	__le16	type;
  814	#define FWD_RESP_CMPL_TYPE_MASK         0x3fUL
  815	#define FWD_RESP_CMPL_TYPE_SFT          0
  816	#define FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP  0x24UL
  817	#define FWD_RESP_CMPL_TYPE_LAST          FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP
  818	__le16	source_id;
  819	__le16	resp_len;
  820	__le16	unused_1;
  821	__le32	resp_buf_addr_v[2];
  822	#define FWD_RESP_CMPL_V                 0x1UL
  823	#define FWD_RESP_CMPL_RESP_BUF_ADDR_MASK 0xfffffffeUL
  824	#define FWD_RESP_CMPL_RESP_BUF_ADDR_SFT 1
  825};
  826
  827/* hwrm_async_event_cmpl (size:128b/16B) */
  828struct hwrm_async_event_cmpl {
  829	__le16	type;
  830	#define ASYNC_EVENT_CMPL_TYPE_MASK            0x3fUL
  831	#define ASYNC_EVENT_CMPL_TYPE_SFT             0
  832	#define ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT  0x2eUL
  833	#define ASYNC_EVENT_CMPL_TYPE_LAST             ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT
  834	__le16	event_id;
  835	#define ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE              0x0UL
  836	#define ASYNC_EVENT_CMPL_EVENT_ID_LINK_MTU_CHANGE                 0x1UL
  837	#define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE               0x2UL
  838	#define ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE               0x3UL
  839	#define ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED           0x4UL
  840	#define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED      0x5UL
  841	#define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE           0x6UL
  842	#define ASYNC_EVENT_CMPL_EVENT_ID_PORT_PHY_CFG_CHANGE             0x7UL
  843	#define ASYNC_EVENT_CMPL_EVENT_ID_RESET_NOTIFY                    0x8UL
  844	#define ASYNC_EVENT_CMPL_EVENT_ID_ERROR_RECOVERY                  0x9UL
  845	#define ASYNC_EVENT_CMPL_EVENT_ID_RING_MONITOR_MSG                0xaUL
  846	#define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD                0x10UL
  847	#define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD                  0x11UL
  848	#define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_FLR_PROC_CMPLT             0x12UL
  849	#define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD                  0x20UL
  850	#define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_LOAD                    0x21UL
  851	#define ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR                          0x30UL
  852	#define ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE              0x31UL
  853	#define ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE        0x32UL
  854	#define ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE                   0x33UL
  855	#define ASYNC_EVENT_CMPL_EVENT_ID_LLFC_PFC_CHANGE                 0x34UL
  856	#define ASYNC_EVENT_CMPL_EVENT_ID_DEFAULT_VNIC_CHANGE             0x35UL
  857	#define ASYNC_EVENT_CMPL_EVENT_ID_HW_FLOW_AGED                    0x36UL
  858	#define ASYNC_EVENT_CMPL_EVENT_ID_DEBUG_NOTIFICATION              0x37UL
  859	#define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CACHE_FLUSH_REQ             0x38UL
  860	#define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CACHE_FLUSH_DONE            0x39UL
  861	#define ASYNC_EVENT_CMPL_EVENT_ID_TCP_FLAG_ACTION_CHANGE          0x3aUL
  862	#define ASYNC_EVENT_CMPL_EVENT_ID_EEM_FLOW_ACTIVE                 0x3bUL
  863	#define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CFG_CHANGE                  0x3cUL
  864	#define ASYNC_EVENT_CMPL_EVENT_ID_TFLIB_DEFAULT_VNIC_CHANGE       0x3dUL
  865	#define ASYNC_EVENT_CMPL_EVENT_ID_TFLIB_LINK_STATUS_CHANGE        0x3eUL
  866	#define ASYNC_EVENT_CMPL_EVENT_ID_QUIESCE_DONE                    0x3fUL
  867	#define ASYNC_EVENT_CMPL_EVENT_ID_DEFERRED_RESPONSE               0x40UL
  868	#define ASYNC_EVENT_CMPL_EVENT_ID_PFC_WATCHDOG_CFG_CHANGE         0x41UL
  869	#define ASYNC_EVENT_CMPL_EVENT_ID_ECHO_REQUEST                    0x42UL
  870	#define ASYNC_EVENT_CMPL_EVENT_ID_PHC_UPDATE                      0x43UL
  871	#define ASYNC_EVENT_CMPL_EVENT_ID_PPS_TIMESTAMP                   0x44UL
  872	#define ASYNC_EVENT_CMPL_EVENT_ID_ERROR_REPORT                    0x45UL
  873	#define ASYNC_EVENT_CMPL_EVENT_ID_DOORBELL_PACING_THRESHOLD       0x46UL
  874	#define ASYNC_EVENT_CMPL_EVENT_ID_RSS_CHANGE                      0x47UL
  875	#define ASYNC_EVENT_CMPL_EVENT_ID_DOORBELL_PACING_NQ_UPDATE       0x48UL
  876	#define ASYNC_EVENT_CMPL_EVENT_ID_HW_DOORBELL_RECOVERY_READ_ERROR 0x49UL
  877	#define ASYNC_EVENT_CMPL_EVENT_ID_CTX_ERROR                       0x4aUL
  878	#define ASYNC_EVENT_CMPL_EVENT_ID_UDCC_SESSION_CHANGE             0x4bUL
  879	#define ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER                0x4cUL
  880	#define ASYNC_EVENT_CMPL_EVENT_ID_PEER_MMAP_CHANGE                0x4dUL
  881	#define ASYNC_EVENT_CMPL_EVENT_ID_REPRESENTOR_PAIR_CHANGE         0x4eUL
  882	#define ASYNC_EVENT_CMPL_EVENT_ID_VF_STAT_CHANGE                  0x4fUL
  883	#define ASYNC_EVENT_CMPL_EVENT_ID_HOST_COREDUMP                   0x50UL
  884	#define ASYNC_EVENT_CMPL_EVENT_ID_ADPTV_QOS                       0x51UL
  885	#define ASYNC_EVENT_CMPL_EVENT_ID_MAX_RGTR_EVENT_ID               0x52UL
  886	#define ASYNC_EVENT_CMPL_EVENT_ID_FW_TRACE_MSG                    0xfeUL
  887	#define ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR                      0xffUL
  888	#define ASYNC_EVENT_CMPL_EVENT_ID_LAST                           ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR
  889	__le32	event_data2;
  890	u8	opaque_v;
  891	#define ASYNC_EVENT_CMPL_V          0x1UL
  892	#define ASYNC_EVENT_CMPL_OPAQUE_MASK 0xfeUL
  893	#define ASYNC_EVENT_CMPL_OPAQUE_SFT 1
  894	u8	timestamp_lo;
  895	__le16	timestamp_hi;
  896	__le32	event_data1;
  897};
  898
  899/* hwrm_async_event_cmpl_link_status_change (size:128b/16B) */
  900struct hwrm_async_event_cmpl_link_status_change {
  901	__le16	type;
  902	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_MASK            0x3fUL
  903	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_SFT             0
  904	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
  905	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_LAST             ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT
  906	__le16	event_id;
  907	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE 0x0UL
  908	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LAST              ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE
  909	__le32	event_data2;
  910	u8	opaque_v;
  911	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_V          0x1UL
  912	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_MASK 0xfeUL
  913	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_SFT 1
  914	u8	timestamp_lo;
  915	__le16	timestamp_hi;
  916	__le32	event_data1;
  917	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE     0x1UL
  918	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN  0x0UL
  919	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP    0x1UL
  920	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP
  921	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK       0xeUL
  922	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT        1
  923	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK    0xffff0UL
  924	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_SFT     4
  925	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PF_ID_MASK      0xff00000UL
  926	#define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PF_ID_SFT       20
  927};
  928
  929/* hwrm_async_event_cmpl_port_conn_not_allowed (size:128b/16B) */
  930struct hwrm_async_event_cmpl_port_conn_not_allowed {
  931	__le16	type;
  932	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_MASK            0x3fUL
  933	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_SFT             0
  934	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT  0x2eUL
  935	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_LAST             ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT
  936	__le16	event_id;
  937	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL
  938	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_LAST                 ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED
  939	__le32	event_data2;
  940	u8	opaque_v;
  941	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_V          0x1UL
  942	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_MASK 0xfeUL
  943	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_SFT 1
  944	u8	timestamp_lo;
  945	__le16	timestamp_hi;
  946	__le32	event_data1;
  947	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK                 0xffffUL
  948	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT                  0
  949	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_MASK      0xff0000UL
  950	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_SFT       16
  951	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_NONE        (0x0UL << 16)
  952	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_DISABLETX   (0x1UL << 16)
  953	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_WARNINGMSG  (0x2UL << 16)
  954	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN     (0x3UL << 16)
  955	#define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST       ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN
  956};
  957
  958/* hwrm_async_event_cmpl_link_speed_cfg_change (size:128b/16B) */
  959struct hwrm_async_event_cmpl_link_speed_cfg_change {
  960	__le16	type;
  961	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_MASK            0x3fUL
  962	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_SFT             0
  963	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
  964	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_LAST             ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT
  965	__le16	event_id;
  966	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL
  967	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LAST                 ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE
  968	__le32	event_data2;
  969	u8	opaque_v;
  970	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_V          0x1UL
  971	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_MASK 0xfeUL
  972	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_SFT 1
  973	u8	timestamp_lo;
  974	__le16	timestamp_hi;
  975	__le32	event_data1;
  976	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_MASK                     0xffffUL
  977	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_SFT                      0
  978	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_SUPPORTED_LINK_SPEEDS_CHANGE     0x10000UL
  979	#define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG           0x20000UL
  980};
  981
  982/* hwrm_async_event_cmpl_reset_notify (size:128b/16B) */
  983struct hwrm_async_event_cmpl_reset_notify {
  984	__le16	type;
  985	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_MASK            0x3fUL
  986	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_SFT             0
  987	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_HWRM_ASYNC_EVENT  0x2eUL
  988	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_LAST             ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_HWRM_ASYNC_EVENT
  989	__le16	event_id;
  990	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_RESET_NOTIFY 0x8UL
  991	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_LAST        ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_RESET_NOTIFY
  992	__le32	event_data2;
  993	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA2_FW_STATUS_CODE_MASK 0xffffUL
  994	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA2_FW_STATUS_CODE_SFT 0
  995	u8	opaque_v;
  996	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_V          0x1UL
  997	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_OPAQUE_MASK 0xfeUL
  998	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_OPAQUE_SFT 1
  999	u8	timestamp_lo;
 1000	__le16	timestamp_hi;
 1001	__le32	event_data1;
 1002	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_MASK                  0xffUL
 1003	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_SFT                   0
 1004	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_STOP_TX_QUEUE    0x1UL
 1005	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_IFDOWN           0x2UL
 1006	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_LAST                   ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_IFDOWN
 1007	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_MASK                    0xff00UL
 1008	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_SFT                     8
 1009	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_MANAGEMENT_RESET_REQUEST  (0x1UL << 8)
 1010	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_FATAL        (0x2UL << 8)
 1011	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_NON_FATAL    (0x3UL << 8)
 1012	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FAST_RESET                (0x4UL << 8)
 1013	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_ACTIVATION             (0x5UL << 8)
 1014	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_LAST                     ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_ACTIVATION
 1015	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DELAY_IN_100MS_TICKS_MASK           0xffff0000UL
 1016	#define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DELAY_IN_100MS_TICKS_SFT            16
 1017};
 1018
 1019/* hwrm_async_event_cmpl_error_recovery (size:128b/16B) */
 1020struct hwrm_async_event_cmpl_error_recovery {
 1021	__le16	type;
 1022	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_MASK            0x3fUL
 1023	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_SFT             0
 1024	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1025	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_HWRM_ASYNC_EVENT
 1026	__le16	event_id;
 1027	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_ERROR_RECOVERY 0x9UL
 1028	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_LAST          ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_ERROR_RECOVERY
 1029	__le32	event_data2;
 1030	u8	opaque_v;
 1031	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_V          0x1UL
 1032	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_OPAQUE_MASK 0xfeUL
 1033	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_OPAQUE_SFT 1
 1034	u8	timestamp_lo;
 1035	__le16	timestamp_hi;
 1036	__le32	event_data1;
 1037	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASK                 0xffUL
 1038	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_SFT                  0
 1039	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASTER_FUNC           0x1UL
 1040	#define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_RECOVERY_ENABLED      0x2UL
 1041};
 1042
 1043/* hwrm_async_event_cmpl_ring_monitor_msg (size:128b/16B) */
 1044struct hwrm_async_event_cmpl_ring_monitor_msg {
 1045	__le16	type;
 1046	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_MASK            0x3fUL
 1047	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_SFT             0
 1048	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1049	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_LAST             ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_HWRM_ASYNC_EVENT
 1050	__le16	event_id;
 1051	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_RING_MONITOR_MSG 0xaUL
 1052	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_LAST            ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_RING_MONITOR_MSG
 1053	__le32	event_data2;
 1054	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_MASK 0xffUL
 1055	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_SFT 0
 1056	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_TX    0x0UL
 1057	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_RX    0x1UL
 1058	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_CMPL  0x2UL
 1059	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_LAST ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_CMPL
 1060	u8	opaque_v;
 1061	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_V          0x1UL
 1062	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_OPAQUE_MASK 0xfeUL
 1063	#define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_OPAQUE_SFT 1
 1064	u8	timestamp_lo;
 1065	__le16	timestamp_hi;
 1066	__le32	event_data1;
 1067};
 1068
 1069/* hwrm_async_event_cmpl_vf_cfg_change (size:128b/16B) */
 1070struct hwrm_async_event_cmpl_vf_cfg_change {
 1071	__le16	type;
 1072	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_MASK            0x3fUL
 1073	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_SFT             0
 1074	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1075	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_LAST             ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT
 1076	__le16	event_id;
 1077	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE 0x33UL
 1078	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_LAST         ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE
 1079	__le32	event_data2;
 1080	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA2_VF_ID_MASK 0xffffUL
 1081	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA2_VF_ID_SFT 0
 1082	u8	opaque_v;
 1083	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_V          0x1UL
 1084	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_MASK 0xfeUL
 1085	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_SFT 1
 1086	u8	timestamp_lo;
 1087	__le16	timestamp_hi;
 1088	__le32	event_data1;
 1089	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MTU_CHANGE                0x1UL
 1090	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MRU_CHANGE                0x2UL
 1091	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_MAC_ADDR_CHANGE      0x4UL
 1092	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_VLAN_CHANGE          0x8UL
 1093	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_TRUSTED_VF_CFG_CHANGE     0x10UL
 1094	#define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_TF_OWNERSHIP_RELEASE      0x20UL
 1095};
 1096
 1097/* hwrm_async_event_cmpl_default_vnic_change (size:128b/16B) */
 1098struct hwrm_async_event_cmpl_default_vnic_change {
 1099	__le16	type;
 1100	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_MASK            0x3fUL
 1101	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_SFT             0
 1102	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1103	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_LAST             ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_HWRM_ASYNC_EVENT
 1104	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_UNUSED1_MASK         0xffc0UL
 1105	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_UNUSED1_SFT          6
 1106	__le16	event_id;
 1107	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_ALLOC_FREE_NOTIFICATION 0x35UL
 1108	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_LAST                   ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_ALLOC_FREE_NOTIFICATION
 1109	__le32	event_data2;
 1110	u8	opaque_v;
 1111	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_V          0x1UL
 1112	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_OPAQUE_MASK 0xfeUL
 1113	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_OPAQUE_SFT 1
 1114	u8	timestamp_lo;
 1115	__le16	timestamp_hi;
 1116	__le32	event_data1;
 1117	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_MASK          0x3UL
 1118	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_SFT           0
 1119	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_ALLOC  0x1UL
 1120	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_FREE   0x2UL
 1121	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_LAST           ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_FREE
 1122	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_PF_ID_MASK                   0x3fcUL
 1123	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_PF_ID_SFT                    2
 1124	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_MASK                   0x3fffc00UL
 1125	#define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_SFT                    10
 1126};
 1127
 1128/* hwrm_async_event_cmpl_hw_flow_aged (size:128b/16B) */
 1129struct hwrm_async_event_cmpl_hw_flow_aged {
 1130	__le16	type;
 1131	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_MASK            0x3fUL
 1132	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_SFT             0
 1133	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1134	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_LAST             ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_HWRM_ASYNC_EVENT
 1135	__le16	event_id;
 1136	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_HW_FLOW_AGED 0x36UL
 1137	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_LAST        ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_HW_FLOW_AGED
 1138	__le32	event_data2;
 1139	u8	opaque_v;
 1140	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_V          0x1UL
 1141	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_OPAQUE_MASK 0xfeUL
 1142	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_OPAQUE_SFT 1
 1143	u8	timestamp_lo;
 1144	__le16	timestamp_hi;
 1145	__le32	event_data1;
 1146	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_ID_MASK       0x7fffffffUL
 1147	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_ID_SFT        0
 1148	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION     0x80000000UL
 1149	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_RX    (0x0UL << 31)
 1150	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_TX    (0x1UL << 31)
 1151	#define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_LAST ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_TX
 1152};
 1153
 1154/* hwrm_async_event_cmpl_eem_cache_flush_req (size:128b/16B) */
 1155struct hwrm_async_event_cmpl_eem_cache_flush_req {
 1156	__le16	type;
 1157	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_MASK            0x3fUL
 1158	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_SFT             0
 1159	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1160	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_LAST             ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_HWRM_ASYNC_EVENT
 1161	__le16	event_id;
 1162	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_EEM_CACHE_FLUSH_REQ 0x38UL
 1163	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_LAST               ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_EEM_CACHE_FLUSH_REQ
 1164	__le32	event_data2;
 1165	u8	opaque_v;
 1166	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_V          0x1UL
 1167	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_OPAQUE_MASK 0xfeUL
 1168	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_OPAQUE_SFT 1
 1169	u8	timestamp_lo;
 1170	__le16	timestamp_hi;
 1171	__le32	event_data1;
 1172};
 1173
 1174/* hwrm_async_event_cmpl_eem_cache_flush_done (size:128b/16B) */
 1175struct hwrm_async_event_cmpl_eem_cache_flush_done {
 1176	__le16	type;
 1177	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_MASK            0x3fUL
 1178	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_SFT             0
 1179	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1180	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_LAST             ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_HWRM_ASYNC_EVENT
 1181	__le16	event_id;
 1182	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_EEM_CACHE_FLUSH_DONE 0x39UL
 1183	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_LAST                ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_EEM_CACHE_FLUSH_DONE
 1184	__le32	event_data2;
 1185	u8	opaque_v;
 1186	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_V          0x1UL
 1187	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_OPAQUE_MASK 0xfeUL
 1188	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_OPAQUE_SFT 1
 1189	u8	timestamp_lo;
 1190	__le16	timestamp_hi;
 1191	__le32	event_data1;
 1192	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_DATA1_FID_MASK 0xffffUL
 1193	#define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_DATA1_FID_SFT 0
 1194};
 1195
 1196/* hwrm_async_event_cmpl_deferred_response (size:128b/16B) */
 1197struct hwrm_async_event_cmpl_deferred_response {
 1198	__le16	type;
 1199	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_MASK            0x3fUL
 1200	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_SFT             0
 1201	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1202	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_LAST             ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_HWRM_ASYNC_EVENT
 1203	__le16	event_id;
 1204	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_DEFERRED_RESPONSE 0x40UL
 1205	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_LAST             ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_DEFERRED_RESPONSE
 1206	__le32	event_data2;
 1207	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_DATA2_SEQ_ID_MASK 0xffffUL
 1208	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_DATA2_SEQ_ID_SFT 0
 1209	u8	opaque_v;
 1210	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_V          0x1UL
 1211	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_OPAQUE_MASK 0xfeUL
 1212	#define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_OPAQUE_SFT 1
 1213	u8	timestamp_lo;
 1214	__le16	timestamp_hi;
 1215	__le32	event_data1;
 1216};
 1217
 1218/* hwrm_async_event_cmpl_echo_request (size:128b/16B) */
 1219struct hwrm_async_event_cmpl_echo_request {
 1220	__le16	type;
 1221	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_TYPE_MASK            0x3fUL
 1222	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_TYPE_SFT             0
 1223	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1224	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_TYPE_LAST             ASYNC_EVENT_CMPL_ECHO_REQUEST_TYPE_HWRM_ASYNC_EVENT
 1225	__le16	event_id;
 1226	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_EVENT_ID_ECHO_REQUEST 0x42UL
 1227	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ECHO_REQUEST_EVENT_ID_ECHO_REQUEST
 1228	__le32	event_data2;
 1229	u8	opaque_v;
 1230	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_V          0x1UL
 1231	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_OPAQUE_MASK 0xfeUL
 1232	#define ASYNC_EVENT_CMPL_ECHO_REQUEST_OPAQUE_SFT 1
 1233	u8	timestamp_lo;
 1234	__le16	timestamp_hi;
 1235	__le32	event_data1;
 1236};
 1237
 1238/* hwrm_async_event_cmpl_phc_update (size:128b/16B) */
 1239struct hwrm_async_event_cmpl_phc_update {
 1240	__le16	type;
 1241	#define ASYNC_EVENT_CMPL_PHC_UPDATE_TYPE_MASK            0x3fUL
 1242	#define ASYNC_EVENT_CMPL_PHC_UPDATE_TYPE_SFT             0
 1243	#define ASYNC_EVENT_CMPL_PHC_UPDATE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1244	#define ASYNC_EVENT_CMPL_PHC_UPDATE_TYPE_LAST             ASYNC_EVENT_CMPL_PHC_UPDATE_TYPE_HWRM_ASYNC_EVENT
 1245	__le16	event_id;
 1246	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_ID_PHC_UPDATE 0x43UL
 1247	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_ID_LAST      ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_ID_PHC_UPDATE
 1248	__le32	event_data2;
 1249	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA2_PHC_MASTER_FID_MASK 0xffffUL
 1250	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA2_PHC_MASTER_FID_SFT 0
 1251	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA2_PHC_SEC_FID_MASK   0xffff0000UL
 1252	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA2_PHC_SEC_FID_SFT    16
 1253	u8	opaque_v;
 1254	#define ASYNC_EVENT_CMPL_PHC_UPDATE_V          0x1UL
 1255	#define ASYNC_EVENT_CMPL_PHC_UPDATE_OPAQUE_MASK 0xfeUL
 1256	#define ASYNC_EVENT_CMPL_PHC_UPDATE_OPAQUE_SFT 1
 1257	u8	timestamp_lo;
 1258	__le16	timestamp_hi;
 1259	__le32	event_data1;
 1260	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_MASK          0xfUL
 1261	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_SFT           0
 1262	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_PHC_MASTER      0x1UL
 1263	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_PHC_SECONDARY   0x2UL
 1264	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_PHC_FAILOVER    0x3UL
 1265	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_PHC_RTC_UPDATE  0x4UL
 1266	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_LAST           ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_FLAGS_PHC_RTC_UPDATE
 1267	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_PHC_TIME_MSB_MASK   0xffff0UL
 1268	#define ASYNC_EVENT_CMPL_PHC_UPDATE_EVENT_DATA1_PHC_TIME_MSB_SFT    4
 1269};
 1270
 1271/* hwrm_async_event_cmpl_pps_timestamp (size:128b/16B) */
 1272struct hwrm_async_event_cmpl_pps_timestamp {
 1273	__le16	type;
 1274	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_TYPE_MASK            0x3fUL
 1275	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_TYPE_SFT             0
 1276	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1277	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_TYPE_LAST             ASYNC_EVENT_CMPL_PPS_TIMESTAMP_TYPE_HWRM_ASYNC_EVENT
 1278	__le16	event_id;
 1279	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_ID_PPS_TIMESTAMP 0x44UL
 1280	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_ID_LAST         ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_ID_PPS_TIMESTAMP
 1281	__le32	event_data2;
 1282	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE              0x1UL
 1283	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE_INTERNAL       0x0UL
 1284	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE_EXTERNAL       0x1UL
 1285	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE_LAST          ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE_EXTERNAL
 1286	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_MASK         0xeUL
 1287	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_SFT          1
 1288	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_MASK 0xffff0UL
 1289	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_SFT 4
 1290	u8	opaque_v;
 1291	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_V          0x1UL
 1292	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_OPAQUE_MASK 0xfeUL
 1293	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_OPAQUE_SFT 1
 1294	u8	timestamp_lo;
 1295	__le16	timestamp_hi;
 1296	__le32	event_data1;
 1297	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_MASK 0xffffffffUL
 1298	#define ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_SFT 0
 1299};
 1300
 1301/* hwrm_async_event_cmpl_error_report (size:128b/16B) */
 1302struct hwrm_async_event_cmpl_error_report {
 1303	__le16	type;
 1304	#define ASYNC_EVENT_CMPL_ERROR_REPORT_TYPE_MASK            0x3fUL
 1305	#define ASYNC_EVENT_CMPL_ERROR_REPORT_TYPE_SFT             0
 1306	#define ASYNC_EVENT_CMPL_ERROR_REPORT_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1307	#define ASYNC_EVENT_CMPL_ERROR_REPORT_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_TYPE_HWRM_ASYNC_EVENT
 1308	__le16	event_id;
 1309	#define ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_ID_ERROR_REPORT 0x45UL
 1310	#define ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_ID_ERROR_REPORT
 1311	__le32	event_data2;
 1312	u8	opaque_v;
 1313	#define ASYNC_EVENT_CMPL_ERROR_REPORT_V          0x1UL
 1314	#define ASYNC_EVENT_CMPL_ERROR_REPORT_OPAQUE_MASK 0xfeUL
 1315	#define ASYNC_EVENT_CMPL_ERROR_REPORT_OPAQUE_SFT 1
 1316	u8	timestamp_lo;
 1317	__le16	timestamp_hi;
 1318	__le32	event_data1;
 1319	#define ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_DATA1_ERROR_TYPE_MASK 0xffUL
 1320	#define ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_DATA1_ERROR_TYPE_SFT 0
 1321};
 1322
 1323/* hwrm_async_event_cmpl_dbg_buf_producer (size:128b/16B) */
 1324struct hwrm_async_event_cmpl_dbg_buf_producer {
 1325	__le16	type;
 1326	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_MASK            0x3fUL
 1327	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_SFT             0
 1328	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1329	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_LAST             ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_HWRM_ASYNC_EVENT
 1330	__le16	event_id;
 1331	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_DBG_BUF_PRODUCER 0x4cUL
 1332	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_LAST            ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_DBG_BUF_PRODUCER
 1333	__le32	event_data2;
 1334	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_MASK 0xffffffffUL
 1335	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_SFT 0
 1336	u8	opaque_v;
 1337	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_V          0x1UL
 1338	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_OPAQUE_MASK 0xfeUL
 1339	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_OPAQUE_SFT 1
 1340	u8	timestamp_lo;
 1341	__le16	timestamp_hi;
 1342	__le32	event_data1;
 1343	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_MASK               0xffffUL
 1344	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SFT                0
 1345	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT_TRACE            0x0UL
 1346	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT2_TRACE           0x1UL
 1347	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT_TRACE            0x2UL
 1348	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT2_TRACE           0x3UL
 1349	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP0_TRACE          0x4UL
 1350	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE        0x5UL
 1351	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE      0x6UL
 1352	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE            0x7UL
 1353	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE            0x8UL
 1354	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE            0x9UL
 1355	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE          0xaUL
 1356	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE  0xbUL
 1357	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ERR_QPC_TRACE        0xcUL
 1358	#define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST                ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ERR_QPC_TRACE
 1359};
 1360
 1361/* hwrm_async_event_cmpl_hwrm_error (size:128b/16B) */
 1362struct hwrm_async_event_cmpl_hwrm_error {
 1363	__le16	type;
 1364	#define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_MASK            0x3fUL
 1365	#define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_SFT             0
 1366	#define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1367	#define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_LAST             ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_HWRM_ASYNC_EVENT
 1368	__le16	event_id;
 1369	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_ID_HWRM_ERROR 0xffUL
 1370	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_ID_LAST      ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_ID_HWRM_ERROR
 1371	__le32	event_data2;
 1372	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_MASK    0xffUL
 1373	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_SFT     0
 1374	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_WARNING   0x0UL
 1375	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_NONFATAL  0x1UL
 1376	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL     0x2UL
 1377	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_LAST     ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL
 1378	u8	opaque_v;
 1379	#define ASYNC_EVENT_CMPL_HWRM_ERROR_V          0x1UL
 1380	#define ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_MASK 0xfeUL
 1381	#define ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_SFT 1
 1382	u8	timestamp_lo;
 1383	__le16	timestamp_hi;
 1384	__le32	event_data1;
 1385	#define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA1_TIMESTAMP     0x1UL
 1386};
 1387
 1388/* hwrm_async_event_cmpl_error_report_base (size:128b/16B) */
 1389struct hwrm_async_event_cmpl_error_report_base {
 1390	__le16	type;
 1391	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_TYPE_MASK            0x3fUL
 1392	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_TYPE_SFT             0
 1393	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1394	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_TYPE_HWRM_ASYNC_EVENT
 1395	__le16	event_id;
 1396	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_ID_ERROR_REPORT 0x45UL
 1397	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_ID_ERROR_REPORT
 1398	__le32	event_data2;
 1399	u8	opaque_v;
 1400	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_V          0x1UL
 1401	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_OPAQUE_MASK 0xfeUL
 1402	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_OPAQUE_SFT 1
 1403	u8	timestamp_lo;
 1404	__le16	timestamp_hi;
 1405	__le32	event_data1;
 1406	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_MASK                        0xffUL
 1407	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_SFT                         0
 1408	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_RESERVED                      0x0UL
 1409	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_PAUSE_STORM                   0x1UL
 1410	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_INVALID_SIGNAL                0x2UL
 1411	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_NVM                           0x3UL
 1412	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DOORBELL_DROP_THRESHOLD       0x4UL
 1413	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_THERMAL_THRESHOLD             0x5UL
 1414	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED  0x6UL
 1415	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DUP_UDCC_SES                  0x7UL
 1416	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DB_DROP                       0x8UL
 1417	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_MD_TEMP                       0x9UL
 1418	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_VNIC_ERR                      0xaUL
 1419	#define ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_LAST                         ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_VNIC_ERR
 1420};
 1421
 1422/* hwrm_async_event_cmpl_error_report_pause_storm (size:128b/16B) */
 1423struct hwrm_async_event_cmpl_error_report_pause_storm {
 1424	__le16	type;
 1425	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_TYPE_MASK            0x3fUL
 1426	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_TYPE_SFT             0
 1427	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1428	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_TYPE_HWRM_ASYNC_EVENT
 1429	__le16	event_id;
 1430	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_ID_ERROR_REPORT 0x45UL
 1431	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_ID_ERROR_REPORT
 1432	__le32	event_data2;
 1433	u8	opaque_v;
 1434	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_V          0x1UL
 1435	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_OPAQUE_MASK 0xfeUL
 1436	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_OPAQUE_SFT 1
 1437	u8	timestamp_lo;
 1438	__le16	timestamp_hi;
 1439	__le32	event_data1;
 1440	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_DATA1_ERROR_TYPE_MASK       0xffUL
 1441	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_DATA1_ERROR_TYPE_SFT        0
 1442	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_DATA1_ERROR_TYPE_PAUSE_STORM  0x1UL
 1443	#define ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_DATA1_ERROR_TYPE_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_PAUSE_STORM_EVENT_DATA1_ERROR_TYPE_PAUSE_STORM
 1444};
 1445
 1446/* hwrm_async_event_cmpl_error_report_invalid_signal (size:128b/16B) */
 1447struct hwrm_async_event_cmpl_error_report_invalid_signal {
 1448	__le16	type;
 1449	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_TYPE_MASK            0x3fUL
 1450	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_TYPE_SFT             0
 1451	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1452	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_TYPE_HWRM_ASYNC_EVENT
 1453	__le16	event_id;
 1454	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_ID_ERROR_REPORT 0x45UL
 1455	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_ID_ERROR_REPORT
 1456	__le32	event_data2;
 1457	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA2_PIN_ID_MASK 0xffUL
 1458	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA2_PIN_ID_SFT 0
 1459	u8	opaque_v;
 1460	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_V          0x1UL
 1461	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_OPAQUE_MASK 0xfeUL
 1462	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_OPAQUE_SFT 1
 1463	u8	timestamp_lo;
 1464	__le16	timestamp_hi;
 1465	__le32	event_data1;
 1466	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA1_ERROR_TYPE_MASK          0xffUL
 1467	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA1_ERROR_TYPE_SFT           0
 1468	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA1_ERROR_TYPE_INVALID_SIGNAL  0x2UL
 1469	#define ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA1_ERROR_TYPE_LAST           ASYNC_EVENT_CMPL_ERROR_REPORT_INVALID_SIGNAL_EVENT_DATA1_ERROR_TYPE_INVALID_SIGNAL
 1470};
 1471
 1472/* hwrm_async_event_cmpl_error_report_nvm (size:128b/16B) */
 1473struct hwrm_async_event_cmpl_error_report_nvm {
 1474	__le16	type;
 1475	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_TYPE_MASK            0x3fUL
 1476	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_TYPE_SFT             0
 1477	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1478	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_TYPE_HWRM_ASYNC_EVENT
 1479	__le16	event_id;
 1480	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_ID_ERROR_REPORT 0x45UL
 1481	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_ID_ERROR_REPORT
 1482	__le32	event_data2;
 1483	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA2_ERR_ADDR_MASK 0xffffffffUL
 1484	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA2_ERR_ADDR_SFT 0
 1485	u8	opaque_v;
 1486	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_V          0x1UL
 1487	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_OPAQUE_MASK 0xfeUL
 1488	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_OPAQUE_SFT 1
 1489	u8	timestamp_lo;
 1490	__le16	timestamp_hi;
 1491	__le32	event_data1;
 1492	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_ERROR_TYPE_MASK     0xffUL
 1493	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_ERROR_TYPE_SFT      0
 1494	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_ERROR_TYPE_NVM_ERROR  0x3UL
 1495	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_ERROR_TYPE_LAST      ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_ERROR_TYPE_NVM_ERROR
 1496	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_MASK   0xff00UL
 1497	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_SFT    8
 1498	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_WRITE    (0x1UL << 8)
 1499	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_ERASE    (0x2UL << 8)
 1500	#define ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_LAST    ASYNC_EVENT_CMPL_ERROR_REPORT_NVM_EVENT_DATA1_NVM_ERR_TYPE_ERASE
 1501};
 1502
 1503/* hwrm_async_event_cmpl_error_report_doorbell_drop_threshold (size:128b/16B) */
 1504struct hwrm_async_event_cmpl_error_report_doorbell_drop_threshold {
 1505	__le16	type;
 1506	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_TYPE_MASK            0x3fUL
 1507	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_TYPE_SFT             0
 1508	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1509	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_TYPE_HWRM_ASYNC_EVENT
 1510	__le16	event_id;
 1511	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_ID_ERROR_REPORT 0x45UL
 1512	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_ID_ERROR_REPORT
 1513	__le32	event_data2;
 1514	u8	opaque_v;
 1515	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_V          0x1UL
 1516	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_OPAQUE_MASK 0xfeUL
 1517	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_OPAQUE_SFT 1
 1518	u8	timestamp_lo;
 1519	__le16	timestamp_hi;
 1520	__le32	event_data1;
 1521	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_ERROR_TYPE_MASK                   0xffUL
 1522	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_ERROR_TYPE_SFT                    0
 1523	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_ERROR_TYPE_DOORBELL_DROP_THRESHOLD  0x4UL
 1524	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_ERROR_TYPE_LAST                    ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_ERROR_TYPE_DOORBELL_DROP_THRESHOLD
 1525	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_EPOCH_MASK                        0xffffff00UL
 1526	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DOORBELL_DROP_THRESHOLD_EVENT_DATA1_EPOCH_SFT                         8
 1527};
 1528
 1529/* hwrm_async_event_cmpl_error_report_thermal (size:128b/16B) */
 1530struct hwrm_async_event_cmpl_error_report_thermal {
 1531	__le16	type;
 1532	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_TYPE_MASK            0x3fUL
 1533	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_TYPE_SFT             0
 1534	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1535	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_TYPE_HWRM_ASYNC_EVENT
 1536	__le16	event_id;
 1537	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_ID_ERROR_REPORT 0x45UL
 1538	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_ID_ERROR_REPORT
 1539	__le32	event_data2;
 1540	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_CURRENT_TEMP_MASK  0xffUL
 1541	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_CURRENT_TEMP_SFT   0
 1542	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_THRESHOLD_TEMP_MASK 0xff00UL
 1543	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_THRESHOLD_TEMP_SFT 8
 1544	u8	opaque_v;
 1545	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_V          0x1UL
 1546	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_OPAQUE_MASK 0xfeUL
 1547	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_OPAQUE_SFT 1
 1548	u8	timestamp_lo;
 1549	__le16	timestamp_hi;
 1550	__le32	event_data1;
 1551	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_ERROR_TYPE_MASK          0xffUL
 1552	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_ERROR_TYPE_SFT           0
 1553	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_ERROR_TYPE_THERMAL_EVENT   0x5UL
 1554	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_ERROR_TYPE_LAST           ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_ERROR_TYPE_THERMAL_EVENT
 1555	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_MASK      0x700UL
 1556	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_SFT       8
 1557	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_WARN        (0x0UL << 8)
 1558	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_CRITICAL    (0x1UL << 8)
 1559	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_FATAL       (0x2UL << 8)
 1560	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_SHUTDOWN    (0x3UL << 8)
 1561	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_LAST       ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_THRESHOLD_TYPE_SHUTDOWN
 1562	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_TRANSITION_DIR           0x800UL
 1563	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_TRANSITION_DIR_DECREASING  (0x0UL << 11)
 1564	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_TRANSITION_DIR_INCREASING  (0x1UL << 11)
 1565	#define ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_TRANSITION_DIR_LAST       ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA1_TRANSITION_DIR_INCREASING
 1566};
 1567
 1568/* hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported (size:128b/16B) */
 1569struct hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported {
 1570	__le16	type;
 1571	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_TYPE_MASK            0x3fUL
 1572	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_TYPE_SFT             0
 1573	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_TYPE_HWRM_ASYNC_EVENT  0x2eUL
 1574	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_TYPE_LAST             ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_TYPE_HWRM_ASYNC_EVENT
 1575	__le16	event_id;
 1576	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_ID_ERROR_REPORT 0x45UL
 1577	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_ID_LAST        ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_ID_ERROR_REPORT
 1578	__le32	event_data2;
 1579	u8	opaque_v;
 1580	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_V          0x1UL
 1581	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_OPAQUE_MASK 0xfeUL
 1582	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_OPAQUE_SFT 1
 1583	u8	timestamp_lo;
 1584	__le16	timestamp_hi;
 1585	__le32	event_data1;
 1586	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_MASK                        0xffUL
 1587	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_SFT                         0
 1588	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED  0x6UL
 1589	#define ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_LAST                         ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED
 1590};
 1591
 1592/* hwrm_func_reset_input (size:192b/24B) */
 1593struct hwrm_func_reset_input {
 1594	__le16	req_type;
 1595	__le16	cmpl_ring;
 1596	__le16	seq_id;
 1597	__le16	target_id;
 1598	__le64	resp_addr;
 1599	__le32	enables;
 1600	#define FUNC_RESET_REQ_ENABLES_VF_ID_VALID     0x1UL
 1601	__le16	vf_id;
 1602	u8	func_reset_level;
 1603	#define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETALL      0x0UL
 1604	#define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETME       0x1UL
 1605	#define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETCHILDREN 0x2UL
 1606	#define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF       0x3UL
 1607	#define FUNC_RESET_REQ_FUNC_RESET_LEVEL_LAST         FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF
 1608	u8	unused_0;
 1609};
 1610
 1611/* hwrm_func_reset_output (size:128b/16B) */
 1612struct hwrm_func_reset_output {
 1613	__le16	error_code;
 1614	__le16	req_type;
 1615	__le16	seq_id;
 1616	__le16	resp_len;
 1617	u8	unused_0[7];
 1618	u8	valid;
 1619};
 1620
 1621/* hwrm_func_getfid_input (size:192b/24B) */
 1622struct hwrm_func_getfid_input {
 1623	__le16	req_type;
 1624	__le16	cmpl_ring;
 1625	__le16	seq_id;
 1626	__le16	target_id;
 1627	__le64	resp_addr;
 1628	__le32	enables;
 1629	#define FUNC_GETFID_REQ_ENABLES_PCI_ID     0x1UL
 1630	__le16	pci_id;
 1631	u8	unused_0[2];
 1632};
 1633
 1634/* hwrm_func_getfid_output (size:128b/16B) */
 1635struct hwrm_func_getfid_output {
 1636	__le16	error_code;
 1637	__le16	req_type;
 1638	__le16	seq_id;
 1639	__le16	resp_len;
 1640	__le16	fid;
 1641	u8	unused_0[5];
 1642	u8	valid;
 1643};
 1644
 1645/* hwrm_func_vf_alloc_input (size:192b/24B) */
 1646struct hwrm_func_vf_alloc_input {
 1647	__le16	req_type;
 1648	__le16	cmpl_ring;
 1649	__le16	seq_id;
 1650	__le16	target_id;
 1651	__le64	resp_addr;
 1652	__le32	enables;
 1653	#define FUNC_VF_ALLOC_REQ_ENABLES_FIRST_VF_ID     0x1UL
 1654	__le16	first_vf_id;
 1655	__le16	num_vfs;
 1656};
 1657
 1658/* hwrm_func_vf_alloc_output (size:128b/16B) */
 1659struct hwrm_func_vf_alloc_output {
 1660	__le16	error_code;
 1661	__le16	req_type;
 1662	__le16	seq_id;
 1663	__le16	resp_len;
 1664	__le16	first_vf_id;
 1665	u8	unused_0[5];
 1666	u8	valid;
 1667};
 1668
 1669/* hwrm_func_vf_free_input (size:192b/24B) */
 1670struct hwrm_func_vf_free_input {
 1671	__le16	req_type;
 1672	__le16	cmpl_ring;
 1673	__le16	seq_id;
 1674	__le16	target_id;
 1675	__le64	resp_addr;
 1676	__le32	enables;
 1677	#define FUNC_VF_FREE_REQ_ENABLES_FIRST_VF_ID     0x1UL
 1678	__le16	first_vf_id;
 1679	__le16	num_vfs;
 1680};
 1681
 1682/* hwrm_func_vf_free_output (size:128b/16B) */
 1683struct hwrm_func_vf_free_output {
 1684	__le16	error_code;
 1685	__le16	req_type;
 1686	__le16	seq_id;
 1687	__le16	resp_len;
 1688	u8	unused_0[7];
 1689	u8	valid;
 1690};
 1691
 1692/* hwrm_func_vf_cfg_input (size:576b/72B) */
 1693struct hwrm_func_vf_cfg_input {
 1694	__le16	req_type;
 1695	__le16	cmpl_ring;
 1696	__le16	seq_id;
 1697	__le16	target_id;
 1698	__le64	resp_addr;
 1699	__le32	enables;
 1700	#define FUNC_VF_CFG_REQ_ENABLES_MTU                      0x1UL
 1701	#define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN               0x2UL
 1702	#define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR           0x4UL
 1703	#define FUNC_VF_CFG_REQ_ENABLES_DFLT_MAC_ADDR            0x8UL
 1704	#define FUNC_VF_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS          0x10UL
 1705	#define FUNC_VF_CFG_REQ_ENABLES_NUM_CMPL_RINGS           0x20UL
 1706	#define FUNC_VF_CFG_REQ_ENABLES_NUM_TX_RINGS             0x40UL
 1707	#define FUNC_VF_CFG_REQ_ENABLES_NUM_RX_RINGS             0x80UL
 1708	#define FUNC_VF_CFG_REQ_ENABLES_NUM_L2_CTXS              0x100UL
 1709	#define FUNC_VF_CFG_REQ_ENABLES_NUM_VNICS                0x200UL
 1710	#define FUNC_VF_CFG_REQ_ENABLES_NUM_STAT_CTXS            0x400UL
 1711	#define FUNC_VF_CFG_REQ_ENABLES_NUM_HW_RING_GRPS         0x800UL
 1712	#define FUNC_VF_CFG_REQ_ENABLES_NUM_KTLS_TX_KEY_CTXS     0x1000UL
 1713	#define FUNC_VF_CFG_REQ_ENABLES_NUM_KTLS_RX_KEY_CTXS     0x2000UL
 1714	#define FUNC_VF_CFG_REQ_ENABLES_NUM_QUIC_TX_KEY_CTXS     0x4000UL
 1715	#define FUNC_VF_CFG_REQ_ENABLES_NUM_QUIC_RX_KEY_CTXS     0x8000UL
 1716	__le16	mtu;
 1717	__le16	guest_vlan;
 1718	__le16	async_event_cr;
 1719	u8	dflt_mac_addr[6];
 1720	__le32	flags;
 1721	#define FUNC_VF_CFG_REQ_FLAGS_TX_ASSETS_TEST             0x1UL
 1722	#define FUNC_VF_CFG_REQ_FLAGS_RX_ASSETS_TEST             0x2UL
 1723	#define FUNC_VF_CFG_REQ_FLAGS_CMPL_ASSETS_TEST           0x4UL
 1724	#define FUNC_VF_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST     0x8UL
 1725	#define FUNC_VF_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST       0x10UL
 1726	#define FUNC_VF_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST       0x20UL
 1727	#define FUNC_VF_CFG_REQ_FLAGS_VNIC_ASSETS_TEST           0x40UL
 1728	#define FUNC_VF_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST         0x80UL
 1729	#define FUNC_VF_CFG_REQ_FLAGS_PPP_PUSH_MODE_ENABLE       0x100UL
 1730	#define FUNC_VF_CFG_REQ_FLAGS_PPP_PUSH_MODE_DISABLE      0x200UL
 1731	__le16	num_rsscos_ctxs;
 1732	__le16	num_cmpl_rings;
 1733	__le16	num_tx_rings;
 1734	__le16	num_rx_rings;
 1735	__le16	num_l2_ctxs;
 1736	__le16	num_vnics;
 1737	__le16	num_stat_ctxs;
 1738	__le16	num_hw_ring_grps;
 1739	__le32	num_ktls_tx_key_ctxs;
 1740	__le32	num_ktls_rx_key_ctxs;
 1741	__le16	num_msix;
 1742	u8	unused[2];
 1743	__le32	num_quic_tx_key_ctxs;
 1744	__le32	num_quic_rx_key_ctxs;
 1745};
 1746
 1747/* hwrm_func_vf_cfg_output (size:128b/16B) */
 1748struct hwrm_func_vf_cfg_output {
 1749	__le16	error_code;
 1750	__le16	req_type;
 1751	__le16	seq_id;
 1752	__le16	resp_len;
 1753	u8	unused_0[7];
 1754	u8	valid;
 1755};
 1756
 1757/* hwrm_func_qcaps_input (size:192b/24B) */
 1758struct hwrm_func_qcaps_input {
 1759	__le16	req_type;
 1760	__le16	cmpl_ring;
 1761	__le16	seq_id;
 1762	__le16	target_id;
 1763	__le64	resp_addr;
 1764	__le16	fid;
 1765	u8	unused_0[6];
 1766};
 1767
 1768/* hwrm_func_qcaps_output (size:1152b/144B) */
 1769struct hwrm_func_qcaps_output {
 1770	__le16	error_code;
 1771	__le16	req_type;
 1772	__le16	seq_id;
 1773	__le16	resp_len;
 1774	__le16	fid;
 1775	__le16	port_id;
 1776	__le32	flags;
 1777	#define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED                   0x1UL
 1778	#define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING               0x2UL
 1779	#define FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED                         0x4UL
 1780	#define FUNC_QCAPS_RESP_FLAGS_ROCE_V1_SUPPORTED                     0x8UL
 1781	#define FUNC_QCAPS_RESP_FLAGS_ROCE_V2_SUPPORTED                     0x10UL
 1782	#define FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED                0x20UL
 1783	#define FUNC_QCAPS_RESP_FLAGS_WOL_BMP_SUPPORTED                     0x40UL
 1784	#define FUNC_QCAPS_RESP_FLAGS_TX_RING_RL_SUPPORTED                  0x80UL
 1785	#define FUNC_QCAPS_RESP_FLAGS_TX_BW_CFG_SUPPORTED                   0x100UL
 1786	#define FUNC_QCAPS_RESP_FLAGS_VF_TX_RING_RL_SUPPORTED               0x200UL
 1787	#define FUNC_QCAPS_RESP_FLAGS_VF_BW_CFG_SUPPORTED                   0x400UL
 1788	#define FUNC_QCAPS_RESP_FLAGS_STD_TX_RING_MODE_SUPPORTED            0x800UL
 1789	#define FUNC_QCAPS_RESP_FLAGS_GENEVE_TUN_FLAGS_SUPPORTED            0x1000UL
 1790	#define FUNC_QCAPS_RESP_FLAGS_NVGRE_TUN_FLAGS_SUPPORTED             0x2000UL
 1791	#define FUNC_QCAPS_RESP_FLAGS_GRE_TUN_FLAGS_SUPPORTED               0x4000UL
 1792	#define FUNC_QCAPS_RESP_FLAGS_MPLS_TUN_FLAGS_SUPPORTED              0x8000UL
 1793	#define FUNC_QCAPS_RESP_FLAGS_PCIE_STATS_SUPPORTED                  0x10000UL
 1794	#define FUNC_QCAPS_RESP_FLAGS_ADOPTED_PF_SUPPORTED                  0x20000UL
 1795	#define FUNC_QCAPS_RESP_FLAGS_ADMIN_PF_SUPPORTED                    0x40000UL
 1796	#define FUNC_QCAPS_RESP_FLAGS_LINK_ADMIN_STATUS_SUPPORTED           0x80000UL
 1797	#define FUNC_QCAPS_RESP_FLAGS_WCB_PUSH_MODE                         0x100000UL
 1798	#define FUNC_QCAPS_RESP_FLAGS_DYNAMIC_TX_RING_ALLOC                 0x200000UL
 1799	#define FUNC_QCAPS_RESP_FLAGS_HOT_RESET_CAPABLE                     0x400000UL
 1800	#define FUNC_QCAPS_RESP_FLAGS_ERROR_RECOVERY_CAPABLE                0x800000UL
 1801	#define FUNC_QCAPS_RESP_FLAGS_EXT_STATS_SUPPORTED                   0x1000000UL
 1802	#define FUNC_QCAPS_RESP_FLAGS_ERR_RECOVER_RELOAD                    0x2000000UL
 1803	#define FUNC_QCAPS_RESP_FLAGS_NOTIFY_VF_DEF_VNIC_CHNG_SUPPORTED     0x4000000UL
 1804	#define FUNC_QCAPS_RESP_FLAGS_VLAN_ACCELERATION_TX_DISABLED         0x8000000UL
 1805	#define FUNC_QCAPS_RESP_FLAGS_COREDUMP_CMD_SUPPORTED                0x10000000UL
 1806	#define FUNC_QCAPS_RESP_FLAGS_CRASHDUMP_CMD_SUPPORTED               0x20000000UL
 1807	#define FUNC_QCAPS_RESP_FLAGS_PFC_WD_STATS_SUPPORTED                0x40000000UL
 1808	#define FUNC_QCAPS_RESP_FLAGS_DBG_QCAPS_CMD_SUPPORTED               0x80000000UL
 1809	u8	mac_address[6];
 1810	__le16	max_rsscos_ctx;
 1811	__le16	max_cmpl_rings;
 1812	__le16	max_tx_rings;
 1813	__le16	max_rx_rings;
 1814	__le16	max_l2_ctxs;
 1815	__le16	max_vnics;
 1816	__le16	first_vf_id;
 1817	__le16	max_vfs;
 1818	__le16	max_stat_ctx;
 1819	__le32	max_encap_records;
 1820	__le32	max_decap_records;
 1821	__le32	max_tx_em_flows;
 1822	__le32	max_tx_wm_flows;
 1823	__le32	max_rx_em_flows;
 1824	__le32	max_rx_wm_flows;
 1825	__le32	max_mcast_filters;
 1826	__le32	max_flow_id;
 1827	__le32	max_hw_ring_grps;
 1828	__le16	max_sp_tx_rings;
 1829	__le16	max_msix_vfs;
 1830	__le32	flags_ext;
 1831	#define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_MARK_SUPPORTED                          0x1UL
 1832	#define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_STATS_SUPPORTED                         0x2UL
 1833	#define FUNC_QCAPS_RESP_FLAGS_EXT_EXT_HW_STATS_SUPPORTED                      0x4UL
 1834	#define FUNC_QCAPS_RESP_FLAGS_EXT_HOT_RESET_IF_SUPPORT                        0x8UL
 1835	#define FUNC_QCAPS_RESP_FLAGS_EXT_PROXY_MODE_SUPPORT                          0x10UL
 1836	#define FUNC_QCAPS_RESP_FLAGS_EXT_TX_PROXY_SRC_INTF_OVERRIDE_SUPPORT          0x20UL
 1837	#define FUNC_QCAPS_RESP_FLAGS_EXT_SCHQ_SUPPORTED                              0x40UL
 1838	#define FUNC_QCAPS_RESP_FLAGS_EXT_PPP_PUSH_MODE_SUPPORTED                     0x80UL
 1839	#define FUNC_QCAPS_RESP_FLAGS_EXT_EVB_MODE_CFG_NOT_SUPPORTED                  0x100UL
 1840	#define FUNC_QCAPS_RESP_FLAGS_EXT_SOC_SPD_SUPPORTED                           0x200UL
 1841	#define FUNC_QCAPS_RESP_FLAGS_EXT_FW_LIVEPATCH_SUPPORTED                      0x400UL
 1842	#define FUNC_QCAPS_RESP_FLAGS_EXT_FAST_RESET_CAPABLE                          0x800UL
 1843	#define FUNC_QCAPS_RESP_FLAGS_EXT_TX_METADATA_CFG_CAPABLE                     0x1000UL
 1844	#define FUNC_QCAPS_RESP_FLAGS_EXT_NVM_OPTION_ACTION_SUPPORTED                 0x2000UL
 1845	#define FUNC_QCAPS_RESP_FLAGS_EXT_BD_METADATA_SUPPORTED                       0x4000UL
 1846	#define FUNC_QCAPS_RESP_FLAGS_EXT_ECHO_REQUEST_SUPPORTED                      0x8000UL
 1847	#define FUNC_QCAPS_RESP_FLAGS_EXT_NPAR_1_2_SUPPORTED                          0x10000UL
 1848	#define FUNC_QCAPS_RESP_FLAGS_EXT_PTP_PTM_SUPPORTED                           0x20000UL
 1849	#define FUNC_QCAPS_RESP_FLAGS_EXT_PTP_PPS_SUPPORTED                           0x40000UL
 1850	#define FUNC_QCAPS_RESP_FLAGS_EXT_VF_CFG_ASYNC_FOR_PF_SUPPORTED               0x80000UL
 1851	#define FUNC_QCAPS_RESP_FLAGS_EXT_PARTITION_BW_SUPPORTED                      0x100000UL
 1852	#define FUNC_QCAPS_RESP_FLAGS_EXT_DFLT_VLAN_TPID_PCP_SUPPORTED                0x200000UL
 1853	#define FUNC_QCAPS_RESP_FLAGS_EXT_KTLS_SUPPORTED                              0x400000UL
 1854	#define FUNC_QCAPS_RESP_FLAGS_EXT_EP_RATE_CONTROL                             0x800000UL
 1855	#define FUNC_QCAPS_RESP_FLAGS_EXT_MIN_BW_SUPPORTED                            0x1000000UL
 1856	#define FUNC_QCAPS_RESP_FLAGS_EXT_TX_COAL_CMPL_CAP                            0x2000000UL
 1857	#define FUNC_QCAPS_RESP_FLAGS_EXT_BS_V2_SUPPORTED                             0x4000000UL
 1858	#define FUNC_QCAPS_RESP_FLAGS_EXT_BS_V2_REQUIRED                              0x8000000UL
 1859	#define FUNC_QCAPS_RESP_FLAGS_EXT_PTP_64BIT_RTC_SUPPORTED                     0x10000000UL
 1860	#define FUNC_QCAPS_RESP_FLAGS_EXT_DBR_PACING_SUPPORTED                        0x20000000UL
 1861	#define FUNC_QCAPS_RESP_FLAGS_EXT_HW_DBR_DROP_RECOV_SUPPORTED                 0x40000000UL
 1862	#define FUNC_QCAPS_RESP_FLAGS_EXT_DISABLE_CQ_OVERFLOW_DETECTION_SUPPORTED     0x80000000UL
 1863	u8	max_schqs;
 1864	u8	mpc_chnls_cap;
 1865	#define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_TCE         0x1UL
 1866	#define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_RCE         0x2UL
 1867	#define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_TE_CFA      0x4UL
 1868	#define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_RE_CFA      0x8UL
 1869	#define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_PRIMATE     0x10UL
 1870	__le16	max_key_ctxs_alloc;
 1871	__le32	flags_ext2;
 1872	#define FUNC_QCAPS_RESP_FLAGS_EXT2_RX_ALL_PKTS_TIMESTAMPS_SUPPORTED      0x1UL
 1873	#define FUNC_QCAPS_RESP_FLAGS_EXT2_QUIC_SUPPORTED                        0x2UL
 1874	#define FUNC_QCAPS_RESP_FLAGS_EXT2_KDNET_SUPPORTED                       0x4UL
 1875	#define FUNC_QCAPS_RESP_FLAGS_EXT2_DBR_PACING_EXT_SUPPORTED              0x8UL
 1876	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SW_DBR_DROP_RECOVERY_SUPPORTED        0x10UL
 1877	#define FUNC_QCAPS_RESP_FLAGS_EXT2_GENERIC_STATS_SUPPORTED               0x20UL
 1878	#define FUNC_QCAPS_RESP_FLAGS_EXT2_UDP_GSO_SUPPORTED                     0x40UL
 1879	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SYNCE_SUPPORTED                       0x80UL
 1880	#define FUNC_QCAPS_RESP_FLAGS_EXT2_DBR_PACING_V0_SUPPORTED               0x100UL
 1881	#define FUNC_QCAPS_RESP_FLAGS_EXT2_TX_PKT_TS_CMPL_SUPPORTED              0x200UL
 1882	#define FUNC_QCAPS_RESP_FLAGS_EXT2_HW_LAG_SUPPORTED                      0x400UL
 1883	#define FUNC_QCAPS_RESP_FLAGS_EXT2_ON_CHIP_CTX_SUPPORTED                 0x800UL
 1884	#define FUNC_QCAPS_RESP_FLAGS_EXT2_STEERING_TAG_SUPPORTED                0x1000UL
 1885	#define FUNC_QCAPS_RESP_FLAGS_EXT2_ENHANCED_VF_SCALE_SUPPORTED           0x2000UL
 1886	#define FUNC_QCAPS_RESP_FLAGS_EXT2_KEY_XID_PARTITION_SUPPORTED           0x4000UL
 1887	#define FUNC_QCAPS_RESP_FLAGS_EXT2_CONCURRENT_KTLS_QUIC_SUPPORTED        0x8000UL
 1888	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SCHQ_CROSS_TC_CAP_SUPPORTED           0x10000UL
 1889	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SCHQ_PER_TC_CAP_SUPPORTED             0x20000UL
 1890	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SCHQ_PER_TC_RESERVATION_SUPPORTED     0x40000UL
 1891	#define FUNC_QCAPS_RESP_FLAGS_EXT2_DB_ERROR_STATS_SUPPORTED              0x80000UL
 1892	#define FUNC_QCAPS_RESP_FLAGS_EXT2_ROCE_VF_RESOURCE_MGMT_SUPPORTED       0x100000UL
 1893	#define FUNC_QCAPS_RESP_FLAGS_EXT2_UDCC_SUPPORTED                        0x200000UL
 1894	#define FUNC_QCAPS_RESP_FLAGS_EXT2_TIMED_TX_SO_TXTIME_SUPPORTED          0x400000UL
 1895	#define FUNC_QCAPS_RESP_FLAGS_EXT2_SW_MAX_RESOURCE_LIMITS_SUPPORTED      0x800000UL
 1896	#define FUNC_QCAPS_RESP_FLAGS_EXT2_TF_INGRESS_NIC_FLOW_SUPPORTED         0x1000000UL
 1897	#define FUNC_QCAPS_RESP_FLAGS_EXT2_LPBK_STATS_SUPPORTED                  0x2000000UL
 1898	#define FUNC_QCAPS_RESP_FLAGS_EXT2_TF_EGRESS_NIC_FLOW_SUPPORTED          0x4000000UL
 1899	#define FUNC_QCAPS_RESP_FLAGS_EXT2_MULTI_LOSSLESS_QUEUES_SUPPORTED       0x8000000UL
 1900	#define FUNC_QCAPS_RESP_FLAGS_EXT2_PEER_MMAP_SUPPORTED                   0x10000000UL
 1901	#define FUNC_QCAPS_RESP_FLAGS_EXT2_TIMED_TX_PACING_SUPPORTED             0x20000000UL
 1902	#define FUNC_QCAPS_RESP_FLAGS_EXT2_VF_STAT_EJECTION_SUPPORTED            0x40000000UL
 1903	#define FUNC_QCAPS_RESP_FLAGS_EXT2_HOST_COREDUMP_SUPPORTED               0x80000000UL
 1904	__le16	tunnel_disable_flag;
 1905	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_VXLAN      0x1UL
 1906	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_NGE        0x2UL
 1907	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_NVGRE      0x4UL
 1908	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_L2GRE      0x8UL
 1909	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_GRE        0x10UL
 1910	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_IPINIP     0x20UL
 1911	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_MPLS       0x40UL
 1912	#define FUNC_QCAPS_RESP_TUNNEL_DISABLE_FLAG_DISABLE_PPPOE      0x80UL
 1913	__le16	xid_partition_cap;
 1914	#define FUNC_QCAPS_RESP_XID_PARTITION_CAP_TX_CK     0x1UL
 1915	#define FUNC_QCAPS_RESP_XID_PARTITION_CAP_RX_CK     0x2UL
 1916	u8	device_serial_number[8];
 1917	__le16	ctxs_per_partition;
 1918	__le16	max_tso_segs;
 1919	__le32	roce_vf_max_av;
 1920	__le32	roce_vf_max_cq;
 1921	__le32	roce_vf_max_mrw;
 1922	__le32	roce_vf_max_qp;
 1923	__le32	roce_vf_max_srq;
 1924	__le32	roce_vf_max_gid;
 1925	__le32	flags_ext3;
 1926	#define FUNC_QCAPS_RESP_FLAGS_EXT3_RM_RSV_WHILE_ALLOC_CAP            0x1UL
 1927	#define FUNC_QCAPS_RESP_FLAGS_EXT3_REQUIRE_L2_FILTER                 0x2UL
 1928	#define FUNC_QCAPS_RESP_FLAGS_EXT3_MAX_ROCE_VFS_SUPPORTED            0x4UL
 1929	#define FUNC_QCAPS_RESP_FLAGS_EXT3_RX_RATE_PROFILE_SEL_SUPPORTED     0x8UL
 1930	#define FUNC_QCAPS_RESP_FLAGS_EXT3_BIDI_OPT_SUPPORTED                0x10UL
 1931	#define FUNC_QCAPS_RESP_FLAGS_EXT3_MIRROR_ON_ROCE_SUPPORTED          0x20UL
 1932	#define FUNC_QCAPS_RESP_FLAGS_EXT3_ROCE_VF_DYN_ALLOC_SUPPORT         0x40UL
 1933	#define FUNC_QCAPS_RESP_FLAGS_EXT3_CHANGE_UDP_SRCPORT_SUPPORT        0x80UL
 1934	#define FUNC_QCAPS_RESP_FLAGS_EXT3_PCIE_COMPLIANCE_SUPPORTED         0x100UL
 1935	#define FUNC_QCAPS_RESP_FLAGS_EXT3_MULTI_L2_DB_SUPPORTED             0x200UL
 1936	#define FUNC_QCAPS_RESP_FLAGS_EXT3_PCIE_SECURE_ATS_SUPPORTED         0x400UL
 1937	#define FUNC_QCAPS_RESP_FLAGS_EXT3_MBUF_STATS_SUPPORTED              0x800UL
 1938	__le16	max_roce_vfs;
 1939	__le16	max_crypto_rx_flow_filters;
 1940	u8	unused_3[3];
 1941	u8	valid;
 1942};
 1943
 1944/* hwrm_func_qcfg_input (size:192b/24B) */
 1945struct hwrm_func_qcfg_input {
 1946	__le16	req_type;
 1947	__le16	cmpl_ring;
 1948	__le16	seq_id;
 1949	__le16	target_id;
 1950	__le64	resp_addr;
 1951	__le16	fid;
 1952	u8	unused_0[6];
 1953};
 1954
 1955/* hwrm_func_qcfg_output (size:1408b/176B) */
 1956struct hwrm_func_qcfg_output {
 1957	__le16	error_code;
 1958	__le16	req_type;
 1959	__le16	seq_id;
 1960	__le16	resp_len;
 1961	__le16	fid;
 1962	__le16	port_id;
 1963	__le16	vlan;
 1964	__le16	flags;
 1965	#define FUNC_QCFG_RESP_FLAGS_OOB_WOL_MAGICPKT_ENABLED     0x1UL
 1966	#define FUNC_QCFG_RESP_FLAGS_OOB_WOL_BMP_ENABLED          0x2UL
 1967	#define FUNC_QCFG_RESP_FLAGS_FW_DCBX_AGENT_ENABLED        0x4UL
 1968	#define FUNC_QCFG_RESP_FLAGS_STD_TX_RING_MODE_ENABLED     0x8UL
 1969	#define FUNC_QCFG_RESP_FLAGS_FW_LLDP_AGENT_ENABLED        0x10UL
 1970	#define FUNC_QCFG_RESP_FLAGS_MULTI_HOST                   0x20UL
 1971	#define FUNC_QCFG_RESP_FLAGS_TRUSTED_VF                   0x40UL
 1972	#define FUNC_QCFG_RESP_FLAGS_SECURE_MODE_ENABLED          0x80UL
 1973	#define FUNC_QCFG_RESP_FLAGS_PREBOOT_LEGACY_L2_RINGS      0x100UL
 1974	#define FUNC_QCFG_RESP_FLAGS_HOT_RESET_ALLOWED            0x200UL
 1975	#define FUNC_QCFG_RESP_FLAGS_PPP_PUSH_MODE_ENABLED        0x400UL
 1976	#define FUNC_QCFG_RESP_FLAGS_RING_MONITOR_ENABLED         0x800UL
 1977	#define FUNC_QCFG_RESP_FLAGS_FAST_RESET_ALLOWED           0x1000UL
 1978	#define FUNC_QCFG_RESP_FLAGS_MULTI_ROOT                   0x2000UL
 1979	#define FUNC_QCFG_RESP_FLAGS_ENABLE_RDMA_SRIOV            0x4000UL
 1980	#define FUNC_QCFG_RESP_FLAGS_ROCE_VNIC_ID_VALID           0x8000UL
 1981	u8	mac_address[6];
 1982	__le16	pci_id;
 1983	__le16	alloc_rsscos_ctx;
 1984	__le16	alloc_cmpl_rings;
 1985	__le16	alloc_tx_rings;
 1986	__le16	alloc_rx_rings;
 1987	__le16	alloc_l2_ctx;
 1988	__le16	alloc_vnics;
 1989	__le16	admin_mtu;
 1990	__le16	mru;
 1991	__le16	stat_ctx_id;
 1992	u8	port_partition_type;
 1993	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_SPF     0x0UL
 1994	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_MPFS    0x1UL
 1995	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0 0x2UL
 1996	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5 0x3UL
 1997	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0 0x4UL
 1998	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_2 0x5UL
 1999	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN 0xffUL
 2000	#define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_LAST   FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN
 2001	u8	port_pf_cnt;
 2002	#define FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL 0x0UL
 2003	#define FUNC_QCFG_RESP_PORT_PF_CNT_LAST   FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL
 2004	__le16	dflt_vnic_id;
 2005	__le16	max_mtu_configured;
 2006	__le32	min_bw;
 2007	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 2008	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_SFT              0
 2009	#define FUNC_QCFG_RESP_MIN_BW_SCALE                     0x10000000UL
 2010	#define FUNC_QCFG_RESP_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 2011	#define FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 2012	#define FUNC_QCFG_RESP_MIN_BW_SCALE_LAST                 FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES
 2013	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2014	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_SFT         29
 2015	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 2016	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 2017	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 2018	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 2019	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2020	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 2021	#define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_LAST         FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID
 2022	__le32	max_bw;
 2023	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 2024	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_SFT              0
 2025	#define FUNC_QCFG_RESP_MAX_BW_SCALE                     0x10000000UL
 2026	#define FUNC_QCFG_RESP_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 2027	#define FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 2028	#define FUNC_QCFG_RESP_MAX_BW_SCALE_LAST                 FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES
 2029	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2030	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_SFT         29
 2031	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 2032	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 2033	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 2034	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 2035	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2036	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 2037	#define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_LAST         FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID
 2038	u8	evb_mode;
 2039	#define FUNC_QCFG_RESP_EVB_MODE_NO_EVB 0x0UL
 2040	#define FUNC_QCFG_RESP_EVB_MODE_VEB    0x1UL
 2041	#define FUNC_QCFG_RESP_EVB_MODE_VEPA   0x2UL
 2042	#define FUNC_QCFG_RESP_EVB_MODE_LAST  FUNC_QCFG_RESP_EVB_MODE_VEPA
 2043	u8	options;
 2044	#define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_MASK         0x3UL
 2045	#define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SFT          0
 2046	#define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_64        0x0UL
 2047	#define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_128       0x1UL
 2048	#define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_LAST          FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_128
 2049	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_MASK       0xcUL
 2050	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_SFT        2
 2051	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_FORCED_DOWN  (0x0UL << 2)
 2052	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_FORCED_UP    (0x1UL << 2)
 2053	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_AUTO         (0x2UL << 2)
 2054	#define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_LAST        FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_AUTO
 2055	#define FUNC_QCFG_RESP_OPTIONS_RSVD_MASK                   0xf0UL
 2056	#define FUNC_QCFG_RESP_OPTIONS_RSVD_SFT                    4
 2057	__le16	alloc_vfs;
 2058	__le32	alloc_mcast_filters;
 2059	__le32	alloc_hw_ring_grps;
 2060	__le16	alloc_sp_tx_rings;
 2061	__le16	alloc_stat_ctx;
 2062	__le16	alloc_msix;
 2063	__le16	registered_vfs;
 2064	__le16	l2_doorbell_bar_size_kb;
 2065	u8	active_endpoints;
 2066	u8	always_1;
 2067	__le32	reset_addr_poll;
 2068	__le16	legacy_l2_db_size_kb;
 2069	__le16	svif_info;
 2070	#define FUNC_QCFG_RESP_SVIF_INFO_SVIF_MASK      0x7fffUL
 2071	#define FUNC_QCFG_RESP_SVIF_INFO_SVIF_SFT       0
 2072	#define FUNC_QCFG_RESP_SVIF_INFO_SVIF_VALID     0x8000UL
 2073	u8	mpc_chnls;
 2074	#define FUNC_QCFG_RESP_MPC_CHNLS_TCE_ENABLED         0x1UL
 2075	#define FUNC_QCFG_RESP_MPC_CHNLS_RCE_ENABLED         0x2UL
 2076	#define FUNC_QCFG_RESP_MPC_CHNLS_TE_CFA_ENABLED      0x4UL
 2077	#define FUNC_QCFG_RESP_MPC_CHNLS_RE_CFA_ENABLED      0x8UL
 2078	#define FUNC_QCFG_RESP_MPC_CHNLS_PRIMATE_ENABLED     0x10UL
 2079	u8	db_page_size;
 2080	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_4KB   0x0UL
 2081	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_8KB   0x1UL
 2082	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_16KB  0x2UL
 2083	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_32KB  0x3UL
 2084	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_64KB  0x4UL
 2085	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_128KB 0x5UL
 2086	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_256KB 0x6UL
 2087	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_512KB 0x7UL
 2088	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_1MB   0x8UL
 2089	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_2MB   0x9UL
 2090	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_4MB   0xaUL
 2091	#define FUNC_QCFG_RESP_DB_PAGE_SIZE_LAST FUNC_QCFG_RESP_DB_PAGE_SIZE_4MB
 2092	__le16	roce_vnic_id;
 2093	__le32	partition_min_bw;
 2094	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 2095	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_SFT              0
 2096	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_SCALE                     0x10000000UL
 2097	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 2098	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 2099	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_SCALE_LAST                 FUNC_QCFG_RESP_PARTITION_MIN_BW_SCALE_BYTES
 2100	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2101	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_UNIT_SFT         29
 2102	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2103	#define FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_UNIT_LAST         FUNC_QCFG_RESP_PARTITION_MIN_BW_BW_VALUE_UNIT_PERCENT1_100
 2104	__le32	partition_max_bw;
 2105	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 2106	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_SFT              0
 2107	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_SCALE                     0x10000000UL
 2108	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 2109	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 2110	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_SCALE_LAST                 FUNC_QCFG_RESP_PARTITION_MAX_BW_SCALE_BYTES
 2111	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2112	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_UNIT_SFT         29
 2113	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2114	#define FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_UNIT_LAST         FUNC_QCFG_RESP_PARTITION_MAX_BW_BW_VALUE_UNIT_PERCENT1_100
 2115	__le16	host_mtu;
 2116	__le16	flags2;
 2117	#define FUNC_QCFG_RESP_FLAGS2_SRIOV_DSCP_INSERT_ENABLED     0x1UL
 2118	__le16	stag_vid;
 2119	u8	port_kdnet_mode;
 2120	#define FUNC_QCFG_RESP_PORT_KDNET_MODE_DISABLED 0x0UL
 2121	#define FUNC_QCFG_RESP_PORT_KDNET_MODE_ENABLED  0x1UL
 2122	#define FUNC_QCFG_RESP_PORT_KDNET_MODE_LAST    FUNC_QCFG_RESP_PORT_KDNET_MODE_ENABLED
 2123	u8	kdnet_pcie_function;
 2124	__le16	port_kdnet_fid;
 2125	u8	unused_5;
 2126	u8	roce_bidi_opt_mode;
 2127	#define FUNC_QCFG_RESP_ROCE_BIDI_OPT_MODE_DISABLED      0x1UL
 2128	#define FUNC_QCFG_RESP_ROCE_BIDI_OPT_MODE_DEDICATED     0x2UL
 2129	#define FUNC_QCFG_RESP_ROCE_BIDI_OPT_MODE_SHARED        0x4UL
 2130	__le32	num_ktls_tx_key_ctxs;
 2131	__le32	num_ktls_rx_key_ctxs;
 2132	u8	lag_id;
 2133	u8	parif;
 2134	u8	fw_lag_id;
 2135	u8	unused_6;
 2136	__le32	num_quic_tx_key_ctxs;
 2137	__le32	num_quic_rx_key_ctxs;
 2138	__le32	roce_max_av_per_vf;
 2139	__le32	roce_max_cq_per_vf;
 2140	__le32	roce_max_mrw_per_vf;
 2141	__le32	roce_max_qp_per_vf;
 2142	__le32	roce_max_srq_per_vf;
 2143	__le32	roce_max_gid_per_vf;
 2144	__le16	xid_partition_cfg;
 2145	#define FUNC_QCFG_RESP_XID_PARTITION_CFG_TX_CK     0x1UL
 2146	#define FUNC_QCFG_RESP_XID_PARTITION_CFG_RX_CK     0x2UL
 2147	__le16	mirror_vnic_id;
 2148	u8	max_link_width;
 2149	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_UNKNOWN 0x0UL
 2150	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_X1      0x1UL
 2151	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_X2      0x2UL
 2152	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_X4      0x4UL
 2153	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_X8      0x8UL
 2154	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_X16     0x10UL
 2155	#define FUNC_QCFG_RESP_MAX_LINK_WIDTH_LAST   FUNC_QCFG_RESP_MAX_LINK_WIDTH_X16
 2156	u8	max_link_speed;
 2157	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_UNKNOWN 0x0UL
 2158	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_G1      0x1UL
 2159	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_G2      0x2UL
 2160	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_G3      0x3UL
 2161	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_G4      0x4UL
 2162	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_G5      0x5UL
 2163	#define FUNC_QCFG_RESP_MAX_LINK_SPEED_LAST   FUNC_QCFG_RESP_MAX_LINK_SPEED_G5
 2164	u8	negotiated_link_width;
 2165	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_UNKNOWN 0x0UL
 2166	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X1      0x1UL
 2167	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X2      0x2UL
 2168	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X4      0x4UL
 2169	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X8      0x8UL
 2170	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X16     0x10UL
 2171	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_LAST   FUNC_QCFG_RESP_NEGOTIATED_LINK_WIDTH_X16
 2172	u8	negotiated_link_speed;
 2173	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_UNKNOWN 0x0UL
 2174	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G1      0x1UL
 2175	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G2      0x2UL
 2176	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G3      0x3UL
 2177	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G4      0x4UL
 2178	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G5      0x5UL
 2179	#define FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_LAST   FUNC_QCFG_RESP_NEGOTIATED_LINK_SPEED_G5
 2180	u8	unused_7[2];
 2181	u8	pcie_compliance;
 2182	u8	unused_8;
 2183	__le16	l2_db_multi_page_size_kb;
 2184	u8	unused_9[5];
 2185	u8	valid;
 2186};
 2187
 2188/* hwrm_func_cfg_input (size:1280b/160B) */
 2189struct hwrm_func_cfg_input {
 2190	__le16	req_type;
 2191	__le16	cmpl_ring;
 2192	__le16	seq_id;
 2193	__le16	target_id;
 2194	__le64	resp_addr;
 2195	__le16	fid;
 2196	__le16	num_msix;
 2197	__le32	flags;
 2198	#define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_DISABLE     0x1UL
 2199	#define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_ENABLE      0x2UL
 2200	#define FUNC_CFG_REQ_FLAGS_RSVD_MASK                      0x1fcUL
 2201	#define FUNC_CFG_REQ_FLAGS_RSVD_SFT                       2
 2202	#define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_ENABLE        0x200UL
 2203	#define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_DISABLE       0x400UL
 2204	#define FUNC_CFG_REQ_FLAGS_VIRT_MAC_PERSIST               0x800UL
 2205	#define FUNC_CFG_REQ_FLAGS_NO_AUTOCLEAR_STATISTIC         0x1000UL
 2206	#define FUNC_CFG_REQ_FLAGS_TX_ASSETS_TEST                 0x2000UL
 2207	#define FUNC_CFG_REQ_FLAGS_RX_ASSETS_TEST                 0x4000UL
 2208	#define FUNC_CFG_REQ_FLAGS_CMPL_ASSETS_TEST               0x8000UL
 2209	#define FUNC_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST         0x10000UL
 2210	#define FUNC_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST           0x20000UL
 2211	#define FUNC_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST           0x40000UL
 2212	#define FUNC_CFG_REQ_FLAGS_VNIC_ASSETS_TEST               0x80000UL
 2213	#define FUNC_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST             0x100000UL
 2214	#define FUNC_CFG_REQ_FLAGS_TRUSTED_VF_ENABLE              0x200000UL
 2215	#define FUNC_CFG_REQ_FLAGS_DYNAMIC_TX_RING_ALLOC          0x400000UL
 2216	#define FUNC_CFG_REQ_FLAGS_NQ_ASSETS_TEST                 0x800000UL
 2217	#define FUNC_CFG_REQ_FLAGS_TRUSTED_VF_DISABLE             0x1000000UL
 2218	#define FUNC_CFG_REQ_FLAGS_PREBOOT_LEGACY_L2_RINGS        0x2000000UL
 2219	#define FUNC_CFG_REQ_FLAGS_HOT_RESET_IF_EN_DIS            0x4000000UL
 2220	#define FUNC_CFG_REQ_FLAGS_PPP_PUSH_MODE_ENABLE           0x8000000UL
 2221	#define FUNC_CFG_REQ_FLAGS_PPP_PUSH_MODE_DISABLE          0x10000000UL
 2222	#define FUNC_CFG_REQ_FLAGS_BD_METADATA_ENABLE             0x20000000UL
 2223	#define FUNC_CFG_REQ_FLAGS_BD_METADATA_DISABLE            0x40000000UL
 2224	__le32	enables;
 2225	#define FUNC_CFG_REQ_ENABLES_ADMIN_MTU                0x1UL
 2226	#define FUNC_CFG_REQ_ENABLES_MRU                      0x2UL
 2227	#define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS          0x4UL
 2228	#define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS           0x8UL
 2229	#define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS             0x10UL
 2230	#define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS             0x20UL
 2231	#define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS              0x40UL
 2232	#define FUNC_CFG_REQ_ENABLES_NUM_VNICS                0x80UL
 2233	#define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS            0x100UL
 2234	#define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR            0x200UL
 2235	#define FUNC_CFG_REQ_ENABLES_DFLT_VLAN                0x400UL
 2236	#define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR             0x800UL
 2237	#define FUNC_CFG_REQ_ENABLES_MIN_BW                   0x1000UL
 2238	#define FUNC_CFG_REQ_ENABLES_MAX_BW                   0x2000UL
 2239	#define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR           0x4000UL
 2240	#define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE      0x8000UL
 2241	#define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS        0x10000UL
 2242	#define FUNC_CFG_REQ_ENABLES_EVB_MODE                 0x20000UL
 2243	#define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS        0x40000UL
 2244	#define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS         0x80000UL
 2245	#define FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE           0x100000UL
 2246	#define FUNC_CFG_REQ_ENABLES_NUM_MSIX                 0x200000UL
 2247	#define FUNC_CFG_REQ_ENABLES_ADMIN_LINK_STATE         0x400000UL
 2248	#define FUNC_CFG_REQ_ENABLES_HOT_RESET_IF_SUPPORT     0x800000UL
 2249	#define FUNC_CFG_REQ_ENABLES_SCHQ_ID                  0x1000000UL
 2250	#define FUNC_CFG_REQ_ENABLES_MPC_CHNLS                0x2000000UL
 2251	#define FUNC_CFG_REQ_ENABLES_PARTITION_MIN_BW         0x4000000UL
 2252	#define FUNC_CFG_REQ_ENABLES_PARTITION_MAX_BW         0x8000000UL
 2253	#define FUNC_CFG_REQ_ENABLES_TPID                     0x10000000UL
 2254	#define FUNC_CFG_REQ_ENABLES_HOST_MTU                 0x20000000UL
 2255	#define FUNC_CFG_REQ_ENABLES_KTLS_TX_KEY_CTXS         0x40000000UL
 2256	#define FUNC_CFG_REQ_ENABLES_KTLS_RX_KEY_CTXS         0x80000000UL
 2257	__le16	admin_mtu;
 2258	__le16	mru;
 2259	__le16	num_rsscos_ctxs;
 2260	__le16	num_cmpl_rings;
 2261	__le16	num_tx_rings;
 2262	__le16	num_rx_rings;
 2263	__le16	num_l2_ctxs;
 2264	__le16	num_vnics;
 2265	__le16	num_stat_ctxs;
 2266	__le16	num_hw_ring_grps;
 2267	u8	dflt_mac_addr[6];
 2268	__le16	dflt_vlan;
 2269	__be32	dflt_ip_addr[4];
 2270	__le32	min_bw;
 2271	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 2272	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_SFT              0
 2273	#define FUNC_CFG_REQ_MIN_BW_SCALE                     0x10000000UL
 2274	#define FUNC_CFG_REQ_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 2275	#define FUNC_CFG_REQ_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 2276	#define FUNC_CFG_REQ_MIN_BW_SCALE_LAST                 FUNC_CFG_REQ_MIN_BW_SCALE_BYTES
 2277	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2278	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_SFT         29
 2279	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 2280	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 2281	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 2282	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 2283	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2284	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 2285	#define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_LAST         FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID
 2286	__le32	max_bw;
 2287	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 2288	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_SFT              0
 2289	#define FUNC_CFG_REQ_MAX_BW_SCALE                     0x10000000UL
 2290	#define FUNC_CFG_REQ_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 2291	#define FUNC_CFG_REQ_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 2292	#define FUNC_CFG_REQ_MAX_BW_SCALE_LAST                 FUNC_CFG_REQ_MAX_BW_SCALE_BYTES
 2293	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2294	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_SFT         29
 2295	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 2296	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 2297	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 2298	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 2299	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2300	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 2301	#define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_LAST         FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID
 2302	__le16	async_event_cr;
 2303	u8	vlan_antispoof_mode;
 2304	#define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_NOCHECK                 0x0UL
 2305	#define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_VALIDATE_VLAN           0x1UL
 2306	#define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_IF_VLANDNE       0x2UL
 2307	#define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN 0x3UL
 2308	#define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_LAST                   FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN
 2309	u8	allowed_vlan_pris;
 2310	u8	evb_mode;
 2311	#define FUNC_CFG_REQ_EVB_MODE_NO_EVB 0x0UL
 2312	#define FUNC_CFG_REQ_EVB_MODE_VEB    0x1UL
 2313	#define FUNC_CFG_REQ_EVB_MODE_VEPA   0x2UL
 2314	#define FUNC_CFG_REQ_EVB_MODE_LAST  FUNC_CFG_REQ_EVB_MODE_VEPA
 2315	u8	options;
 2316	#define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_MASK         0x3UL
 2317	#define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SFT          0
 2318	#define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_64        0x0UL
 2319	#define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_128       0x1UL
 2320	#define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_LAST          FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_128
 2321	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_MASK       0xcUL
 2322	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_SFT        2
 2323	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_FORCED_DOWN  (0x0UL << 2)
 2324	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_FORCED_UP    (0x1UL << 2)
 2325	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_AUTO         (0x2UL << 2)
 2326	#define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_LAST        FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_AUTO
 2327	#define FUNC_CFG_REQ_OPTIONS_RSVD_MASK                   0xf0UL
 2328	#define FUNC_CFG_REQ_OPTIONS_RSVD_SFT                    4
 2329	__le16	num_mcast_filters;
 2330	__le16	schq_id;
 2331	__le16	mpc_chnls;
 2332	#define FUNC_CFG_REQ_MPC_CHNLS_TCE_ENABLE          0x1UL
 2333	#define FUNC_CFG_REQ_MPC_CHNLS_TCE_DISABLE         0x2UL
 2334	#define FUNC_CFG_REQ_MPC_CHNLS_RCE_ENABLE          0x4UL
 2335	#define FUNC_CFG_REQ_MPC_CHNLS_RCE_DISABLE         0x8UL
 2336	#define FUNC_CFG_REQ_MPC_CHNLS_TE_CFA_ENABLE       0x10UL
 2337	#define FUNC_CFG_REQ_MPC_CHNLS_TE_CFA_DISABLE      0x20UL
 2338	#define FUNC_CFG_REQ_MPC_CHNLS_RE_CFA_ENABLE       0x40UL
 2339	#define FUNC_CFG_REQ_MPC_CHNLS_RE_CFA_DISABLE      0x80UL
 2340	#define FUNC_CFG_REQ_MPC_CHNLS_PRIMATE_ENABLE      0x100UL
 2341	#define FUNC_CFG_REQ_MPC_CHNLS_PRIMATE_DISABLE     0x200UL
 2342	__le32	partition_min_bw;
 2343	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 2344	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_SFT              0
 2345	#define FUNC_CFG_REQ_PARTITION_MIN_BW_SCALE                     0x10000000UL
 2346	#define FUNC_CFG_REQ_PARTITION_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 2347	#define FUNC_CFG_REQ_PARTITION_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 2348	#define FUNC_CFG_REQ_PARTITION_MIN_BW_SCALE_LAST                 FUNC_CFG_REQ_PARTITION_MIN_BW_SCALE_BYTES
 2349	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2350	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_UNIT_SFT         29
 2351	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2352	#define FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_UNIT_LAST         FUNC_CFG_REQ_PARTITION_MIN_BW_BW_VALUE_UNIT_PERCENT1_100
 2353	__le32	partition_max_bw;
 2354	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 2355	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_SFT              0
 2356	#define FUNC_CFG_REQ_PARTITION_MAX_BW_SCALE                     0x10000000UL
 2357	#define FUNC_CFG_REQ_PARTITION_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 2358	#define FUNC_CFG_REQ_PARTITION_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 2359	#define FUNC_CFG_REQ_PARTITION_MAX_BW_SCALE_LAST                 FUNC_CFG_REQ_PARTITION_MAX_BW_SCALE_BYTES
 2360	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 2361	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_UNIT_SFT         29
 2362	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 2363	#define FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_UNIT_LAST         FUNC_CFG_REQ_PARTITION_MAX_BW_BW_VALUE_UNIT_PERCENT1_100
 2364	__be16	tpid;
 2365	__le16	host_mtu;
 2366	__le32	flags2;
 2367	#define FUNC_CFG_REQ_FLAGS2_KTLS_KEY_CTX_ASSETS_TEST     0x1UL
 2368	#define FUNC_CFG_REQ_FLAGS2_QUIC_KEY_CTX_ASSETS_TEST     0x2UL
 2369	__le32	enables2;
 2370	#define FUNC_CFG_REQ_ENABLES2_KDNET                    0x1UL
 2371	#define FUNC_CFG_REQ_ENABLES2_DB_PAGE_SIZE             0x2UL
 2372	#define FUNC_CFG_REQ_ENABLES2_QUIC_TX_KEY_CTXS         0x4UL
 2373	#define FUNC_CFG_REQ_ENABLES2_QUIC_RX_KEY_CTXS         0x8UL
 2374	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_AV_PER_VF       0x10UL
 2375	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_CQ_PER_VF       0x20UL
 2376	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_MRW_PER_VF      0x40UL
 2377	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_QP_PER_VF       0x80UL
 2378	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_SRQ_PER_VF      0x100UL
 2379	#define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_GID_PER_VF      0x200UL
 2380	#define FUNC_CFG_REQ_ENABLES2_XID_PARTITION_CFG        0x400UL
 2381	#define FUNC_CFG_REQ_ENABLES2_PHYSICAL_SLOT_NUMBER     0x800UL
 2382	#define FUNC_CFG_REQ_ENABLES2_PCIE_COMPLIANCE          0x1000UL
 2383	u8	port_kdnet_mode;
 2384	#define FUNC_CFG_REQ_PORT_KDNET_MODE_DISABLED 0x0UL
 2385	#define FUNC_CFG_REQ_PORT_KDNET_MODE_ENABLED  0x1UL
 2386	#define FUNC_CFG_REQ_PORT_KDNET_MODE_LAST    FUNC_CFG_REQ_PORT_KDNET_MODE_ENABLED
 2387	u8	db_page_size;
 2388	#define FUNC_CFG_REQ_DB_PAGE_SIZE_4KB   0x0UL
 2389	#define FUNC_CFG_REQ_DB_PAGE_SIZE_8KB   0x1UL
 2390	#define FUNC_CFG_REQ_DB_PAGE_SIZE_16KB  0x2UL
 2391	#define FUNC_CFG_REQ_DB_PAGE_SIZE_32KB  0x3UL
 2392	#define FUNC_CFG_REQ_DB_PAGE_SIZE_64KB  0x4UL
 2393	#define FUNC_CFG_REQ_DB_PAGE_SIZE_128KB 0x5UL
 2394	#define FUNC_CFG_REQ_DB_PAGE_SIZE_256KB 0x6UL
 2395	#define FUNC_CFG_REQ_DB_PAGE_SIZE_512KB 0x7UL
 2396	#define FUNC_CFG_REQ_DB_PAGE_SIZE_1MB   0x8UL
 2397	#define FUNC_CFG_REQ_DB_PAGE_SIZE_2MB   0x9UL
 2398	#define FUNC_CFG_REQ_DB_PAGE_SIZE_4MB   0xaUL
 2399	#define FUNC_CFG_REQ_DB_PAGE_SIZE_LAST FUNC_CFG_REQ_DB_PAGE_SIZE_4MB
 2400	__le16	physical_slot_number;
 2401	__le32	num_ktls_tx_key_ctxs;
 2402	__le32	num_ktls_rx_key_ctxs;
 2403	__le32	num_quic_tx_key_ctxs;
 2404	__le32	num_quic_rx_key_ctxs;
 2405	__le32	roce_max_av_per_vf;
 2406	__le32	roce_max_cq_per_vf;
 2407	__le32	roce_max_mrw_per_vf;
 2408	__le32	roce_max_qp_per_vf;
 2409	__le32	roce_max_srq_per_vf;
 2410	__le32	roce_max_gid_per_vf;
 2411	__le16	xid_partition_cfg;
 2412	#define FUNC_CFG_REQ_XID_PARTITION_CFG_TX_CK     0x1UL
 2413	#define FUNC_CFG_REQ_XID_PARTITION_CFG_RX_CK     0x2UL
 2414	u8	pcie_compliance;
 2415	u8	unused_2;
 2416};
 2417
 2418/* hwrm_func_cfg_output (size:128b/16B) */
 2419struct hwrm_func_cfg_output {
 2420	__le16	error_code;
 2421	__le16	req_type;
 2422	__le16	seq_id;
 2423	__le16	resp_len;
 2424	u8	unused_0[7];
 2425	u8	valid;
 2426};
 2427
 2428/* hwrm_func_cfg_cmd_err (size:64b/8B) */
 2429struct hwrm_func_cfg_cmd_err {
 2430	u8	code;
 2431	#define FUNC_CFG_CMD_ERR_CODE_UNKNOWN                      0x0UL
 2432	#define FUNC_CFG_CMD_ERR_CODE_PARTITION_BW_OUT_OF_RANGE    0x1UL
 2433	#define FUNC_CFG_CMD_ERR_CODE_NPAR_PARTITION_DOWN_FAILED   0x2UL
 2434	#define FUNC_CFG_CMD_ERR_CODE_TPID_SET_DFLT_VLAN_NOT_SET   0x3UL
 2435	#define FUNC_CFG_CMD_ERR_CODE_RES_ARRAY_ALLOC_FAILED       0x4UL
 2436	#define FUNC_CFG_CMD_ERR_CODE_TX_RING_ASSET_TEST_FAILED    0x5UL
 2437	#define FUNC_CFG_CMD_ERR_CODE_TX_RING_RES_UPDATE_FAILED    0x6UL
 2438	#define FUNC_CFG_CMD_ERR_CODE_APPLY_MAX_BW_FAILED          0x7UL
 2439	#define FUNC_CFG_CMD_ERR_CODE_ENABLE_EVB_FAILED            0x8UL
 2440	#define FUNC_CFG_CMD_ERR_CODE_RSS_CTXT_ASSET_TEST_FAILED   0x9UL
 2441	#define FUNC_CFG_CMD_ERR_CODE_RSS_CTXT_RES_UPDATE_FAILED   0xaUL
 2442	#define FUNC_CFG_CMD_ERR_CODE_CMPL_RING_ASSET_TEST_FAILED  0xbUL
 2443	#define FUNC_CFG_CMD_ERR_CODE_CMPL_RING_RES_UPDATE_FAILED  0xcUL
 2444	#define FUNC_CFG_CMD_ERR_CODE_NQ_ASSET_TEST_FAILED         0xdUL
 2445	#define FUNC_CFG_CMD_ERR_CODE_NQ_RES_UPDATE_FAILED         0xeUL
 2446	#define FUNC_CFG_CMD_ERR_CODE_RX_RING_ASSET_TEST_FAILED    0xfUL
 2447	#define FUNC_CFG_CMD_ERR_CODE_RX_RING_RES_UPDATE_FAILED    0x10UL
 2448	#define FUNC_CFG_CMD_ERR_CODE_VNIC_ASSET_TEST_FAILED       0x11UL
 2449	#define FUNC_CFG_CMD_ERR_CODE_VNIC_RES_UPDATE_FAILED       0x12UL
 2450	#define FUNC_CFG_CMD_ERR_CODE_FAILED_TO_START_STATS_THREAD 0x13UL
 2451	#define FUNC_CFG_CMD_ERR_CODE_RDMA_SRIOV_DISABLED          0x14UL
 2452	#define FUNC_CFG_CMD_ERR_CODE_TX_KTLS_DISABLED             0x15UL
 2453	#define FUNC_CFG_CMD_ERR_CODE_TX_KTLS_ASSET_TEST_FAILED    0x16UL
 2454	#define FUNC_CFG_CMD_ERR_CODE_TX_KTLS_RES_UPDATE_FAILED    0x17UL
 2455	#define FUNC_CFG_CMD_ERR_CODE_RX_KTLS_DISABLED             0x18UL
 2456	#define FUNC_CFG_CMD_ERR_CODE_RX_KTLS_ASSET_TEST_FAILED    0x19UL
 2457	#define FUNC_CFG_CMD_ERR_CODE_RX_KTLS_RES_UPDATE_FAILED    0x1aUL
 2458	#define FUNC_CFG_CMD_ERR_CODE_TX_QUIC_DISABLED             0x1bUL
 2459	#define FUNC_CFG_CMD_ERR_CODE_TX_QUIC_ASSET_TEST_FAILED    0x1cUL
 2460	#define FUNC_CFG_CMD_ERR_CODE_TX_QUIC_RES_UPDATE_FAILED    0x1dUL
 2461	#define FUNC_CFG_CMD_ERR_CODE_RX_QUIC_DISABLED             0x1eUL
 2462	#define FUNC_CFG_CMD_ERR_CODE_RX_QUIC_ASSET_TEST_FAILED    0x1fUL
 2463	#define FUNC_CFG_CMD_ERR_CODE_RX_QUIC_RES_UPDATE_FAILED    0x20UL
 2464	#define FUNC_CFG_CMD_ERR_CODE_INVALID_KDNET_MODE           0x21UL
 2465	#define FUNC_CFG_CMD_ERR_CODE_SCHQ_CFG_FAIL                0x22UL
 2466	#define FUNC_CFG_CMD_ERR_CODE_LAST                        FUNC_CFG_CMD_ERR_CODE_SCHQ_CFG_FAIL
 2467	u8	unused_0[7];
 2468};
 2469
 2470/* hwrm_func_qstats_input (size:192b/24B) */
 2471struct hwrm_func_qstats_input {
 2472	__le16	req_type;
 2473	__le16	cmpl_ring;
 2474	__le16	seq_id;
 2475	__le16	target_id;
 2476	__le64	resp_addr;
 2477	__le16	fid;
 2478	u8	flags;
 2479	#define FUNC_QSTATS_REQ_FLAGS_ROCE_ONLY        0x1UL
 2480	#define FUNC_QSTATS_REQ_FLAGS_COUNTER_MASK     0x2UL
 2481	#define FUNC_QSTATS_REQ_FLAGS_L2_ONLY          0x4UL
 2482	u8	unused_0[5];
 2483};
 2484
 2485/* hwrm_func_qstats_output (size:1408b/176B) */
 2486struct hwrm_func_qstats_output {
 2487	__le16	error_code;
 2488	__le16	req_type;
 2489	__le16	seq_id;
 2490	__le16	resp_len;
 2491	__le64	tx_ucast_pkts;
 2492	__le64	tx_mcast_pkts;
 2493	__le64	tx_bcast_pkts;
 2494	__le64	tx_discard_pkts;
 2495	__le64	tx_drop_pkts;
 2496	__le64	tx_ucast_bytes;
 2497	__le64	tx_mcast_bytes;
 2498	__le64	tx_bcast_bytes;
 2499	__le64	rx_ucast_pkts;
 2500	__le64	rx_mcast_pkts;
 2501	__le64	rx_bcast_pkts;
 2502	__le64	rx_discard_pkts;
 2503	__le64	rx_drop_pkts;
 2504	__le64	rx_ucast_bytes;
 2505	__le64	rx_mcast_bytes;
 2506	__le64	rx_bcast_bytes;
 2507	__le64	rx_agg_pkts;
 2508	__le64	rx_agg_bytes;
 2509	__le64	rx_agg_events;
 2510	__le64	rx_agg_aborts;
 2511	u8	clear_seq;
 2512	u8	unused_0[6];
 2513	u8	valid;
 2514};
 2515
 2516/* hwrm_func_qstats_ext_input (size:256b/32B) */
 2517struct hwrm_func_qstats_ext_input {
 2518	__le16	req_type;
 2519	__le16	cmpl_ring;
 2520	__le16	seq_id;
 2521	__le16	target_id;
 2522	__le64	resp_addr;
 2523	__le16	fid;
 2524	u8	flags;
 2525	#define FUNC_QSTATS_EXT_REQ_FLAGS_ROCE_ONLY        0x1UL
 2526	#define FUNC_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK     0x2UL
 2527	u8	unused_0[1];
 2528	__le32	enables;
 2529	#define FUNC_QSTATS_EXT_REQ_ENABLES_SCHQ_ID     0x1UL
 2530	__le16	schq_id;
 2531	__le16	traffic_class;
 2532	u8	unused_1[4];
 2533};
 2534
 2535/* hwrm_func_qstats_ext_output (size:1536b/192B) */
 2536struct hwrm_func_qstats_ext_output {
 2537	__le16	error_code;
 2538	__le16	req_type;
 2539	__le16	seq_id;
 2540	__le16	resp_len;
 2541	__le64	rx_ucast_pkts;
 2542	__le64	rx_mcast_pkts;
 2543	__le64	rx_bcast_pkts;
 2544	__le64	rx_discard_pkts;
 2545	__le64	rx_error_pkts;
 2546	__le64	rx_ucast_bytes;
 2547	__le64	rx_mcast_bytes;
 2548	__le64	rx_bcast_bytes;
 2549	__le64	tx_ucast_pkts;
 2550	__le64	tx_mcast_pkts;
 2551	__le64	tx_bcast_pkts;
 2552	__le64	tx_error_pkts;
 2553	__le64	tx_discard_pkts;
 2554	__le64	tx_ucast_bytes;
 2555	__le64	tx_mcast_bytes;
 2556	__le64	tx_bcast_bytes;
 2557	__le64	rx_tpa_eligible_pkt;
 2558	__le64	rx_tpa_eligible_bytes;
 2559	__le64	rx_tpa_pkt;
 2560	__le64	rx_tpa_bytes;
 2561	__le64	rx_tpa_errors;
 2562	__le64	rx_tpa_events;
 2563	u8	unused_0[7];
 2564	u8	valid;
 2565};
 2566
 2567/* hwrm_func_clr_stats_input (size:192b/24B) */
 2568struct hwrm_func_clr_stats_input {
 2569	__le16	req_type;
 2570	__le16	cmpl_ring;
 2571	__le16	seq_id;
 2572	__le16	target_id;
 2573	__le64	resp_addr;
 2574	__le16	fid;
 2575	u8	unused_0[6];
 2576};
 2577
 2578/* hwrm_func_clr_stats_output (size:128b/16B) */
 2579struct hwrm_func_clr_stats_output {
 2580	__le16	error_code;
 2581	__le16	req_type;
 2582	__le16	seq_id;
 2583	__le16	resp_len;
 2584	u8	unused_0[7];
 2585	u8	valid;
 2586};
 2587
 2588/* hwrm_func_vf_resc_free_input (size:192b/24B) */
 2589struct hwrm_func_vf_resc_free_input {
 2590	__le16	req_type;
 2591	__le16	cmpl_ring;
 2592	__le16	seq_id;
 2593	__le16	target_id;
 2594	__le64	resp_addr;
 2595	__le16	vf_id;
 2596	u8	unused_0[6];
 2597};
 2598
 2599/* hwrm_func_vf_resc_free_output (size:128b/16B) */
 2600struct hwrm_func_vf_resc_free_output {
 2601	__le16	error_code;
 2602	__le16	req_type;
 2603	__le16	seq_id;
 2604	__le16	resp_len;
 2605	u8	unused_0[7];
 2606	u8	valid;
 2607};
 2608
 2609/* hwrm_func_drv_rgtr_input (size:896b/112B) */
 2610struct hwrm_func_drv_rgtr_input {
 2611	__le16	req_type;
 2612	__le16	cmpl_ring;
 2613	__le16	seq_id;
 2614	__le16	target_id;
 2615	__le64	resp_addr;
 2616	__le32	flags;
 2617	#define FUNC_DRV_RGTR_REQ_FLAGS_FWD_ALL_MODE                     0x1UL
 2618	#define FUNC_DRV_RGTR_REQ_FLAGS_FWD_NONE_MODE                    0x2UL
 2619	#define FUNC_DRV_RGTR_REQ_FLAGS_16BIT_VER_MODE                   0x4UL
 2620	#define FUNC_DRV_RGTR_REQ_FLAGS_FLOW_HANDLE_64BIT_MODE           0x8UL
 2621	#define FUNC_DRV_RGTR_REQ_FLAGS_HOT_RESET_SUPPORT                0x10UL
 2622	#define FUNC_DRV_RGTR_REQ_FLAGS_ERROR_RECOVERY_SUPPORT           0x20UL
 2623	#define FUNC_DRV_RGTR_REQ_FLAGS_MASTER_SUPPORT                   0x40UL
 2624	#define FUNC_DRV_RGTR_REQ_FLAGS_FAST_RESET_SUPPORT               0x80UL
 2625	#define FUNC_DRV_RGTR_REQ_FLAGS_RSS_STRICT_HASH_TYPE_SUPPORT     0x100UL
 2626	#define FUNC_DRV_RGTR_REQ_FLAGS_NPAR_1_2_SUPPORT                 0x200UL
 2627	#define FUNC_DRV_RGTR_REQ_FLAGS_ASYM_QUEUE_CFG_SUPPORT           0x400UL
 2628	#define FUNC_DRV_RGTR_REQ_FLAGS_TF_INGRESS_NIC_FLOW_MODE         0x800UL
 2629	#define FUNC_DRV_RGTR_REQ_FLAGS_TF_EGRESS_NIC_FLOW_MODE          0x1000UL
 2630	__le32	enables;
 2631	#define FUNC_DRV_RGTR_REQ_ENABLES_OS_TYPE             0x1UL
 2632	#define FUNC_DRV_RGTR_REQ_ENABLES_VER                 0x2UL
 2633	#define FUNC_DRV_RGTR_REQ_ENABLES_TIMESTAMP           0x4UL
 2634	#define FUNC_DRV_RGTR_REQ_ENABLES_VF_REQ_FWD          0x8UL
 2635	#define FUNC_DRV_RGTR_REQ_ENABLES_ASYNC_EVENT_FWD     0x10UL
 2636	__le16	os_type;
 2637	#define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN   0x0UL
 2638	#define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER     0x1UL
 2639	#define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS     0xeUL
 2640	#define FUNC_DRV_RGTR_REQ_OS_TYPE_WINDOWS   0x12UL
 2641	#define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS   0x1dUL
 2642	#define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX     0x24UL
 2643	#define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD   0x2aUL
 2644	#define FUNC_DRV_RGTR_REQ_OS_TYPE_ESXI      0x68UL
 2645	#define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN864    0x73UL
 2646	#define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN2012R2 0x74UL
 2647	#define FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI      0x8000UL
 2648	#define FUNC_DRV_RGTR_REQ_OS_TYPE_LAST     FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI
 2649	u8	ver_maj_8b;
 2650	u8	ver_min_8b;
 2651	u8	ver_upd_8b;
 2652	u8	unused_0[3];
 2653	__le32	timestamp;
 2654	u8	unused_1[4];
 2655	__le32	vf_req_fwd[8];
 2656	__le32	async_event_fwd[8];
 2657	__le16	ver_maj;
 2658	__le16	ver_min;
 2659	__le16	ver_upd;
 2660	__le16	ver_patch;
 2661};
 2662
 2663/* hwrm_func_drv_rgtr_output (size:128b/16B) */
 2664struct hwrm_func_drv_rgtr_output {
 2665	__le16	error_code;
 2666	__le16	req_type;
 2667	__le16	seq_id;
 2668	__le16	resp_len;
 2669	__le32	flags;
 2670	#define FUNC_DRV_RGTR_RESP_FLAGS_IF_CHANGE_SUPPORTED     0x1UL
 2671	u8	unused_0[3];
 2672	u8	valid;
 2673};
 2674
 2675/* hwrm_func_drv_unrgtr_input (size:192b/24B) */
 2676struct hwrm_func_drv_unrgtr_input {
 2677	__le16	req_type;
 2678	__le16	cmpl_ring;
 2679	__le16	seq_id;
 2680	__le16	target_id;
 2681	__le64	resp_addr;
 2682	__le32	flags;
 2683	#define FUNC_DRV_UNRGTR_REQ_FLAGS_PREPARE_FOR_SHUTDOWN     0x1UL
 2684	u8	unused_0[4];
 2685};
 2686
 2687/* hwrm_func_drv_unrgtr_output (size:128b/16B) */
 2688struct hwrm_func_drv_unrgtr_output {
 2689	__le16	error_code;
 2690	__le16	req_type;
 2691	__le16	seq_id;
 2692	__le16	resp_len;
 2693	u8	unused_0[7];
 2694	u8	valid;
 2695};
 2696
 2697/* hwrm_func_buf_rgtr_input (size:1024b/128B) */
 2698struct hwrm_func_buf_rgtr_input {
 2699	__le16	req_type;
 2700	__le16	cmpl_ring;
 2701	__le16	seq_id;
 2702	__le16	target_id;
 2703	__le64	resp_addr;
 2704	__le32	enables;
 2705	#define FUNC_BUF_RGTR_REQ_ENABLES_VF_ID            0x1UL
 2706	#define FUNC_BUF_RGTR_REQ_ENABLES_ERR_BUF_ADDR     0x2UL
 2707	__le16	vf_id;
 2708	__le16	req_buf_num_pages;
 2709	__le16	req_buf_page_size;
 2710	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_16B 0x4UL
 2711	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4K  0xcUL
 2712	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_8K  0xdUL
 2713	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_64K 0x10UL
 2714	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_2M  0x15UL
 2715	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4M  0x16UL
 2716	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G  0x1eUL
 2717	#define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_LAST FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G
 2718	__le16	req_buf_len;
 2719	__le16	resp_buf_len;
 2720	u8	unused_0[2];
 2721	__le64	req_buf_page_addr0;
 2722	__le64	req_buf_page_addr1;
 2723	__le64	req_buf_page_addr2;
 2724	__le64	req_buf_page_addr3;
 2725	__le64	req_buf_page_addr4;
 2726	__le64	req_buf_page_addr5;
 2727	__le64	req_buf_page_addr6;
 2728	__le64	req_buf_page_addr7;
 2729	__le64	req_buf_page_addr8;
 2730	__le64	req_buf_page_addr9;
 2731	__le64	error_buf_addr;
 2732	__le64	resp_buf_addr;
 2733};
 2734
 2735/* hwrm_func_buf_rgtr_output (size:128b/16B) */
 2736struct hwrm_func_buf_rgtr_output {
 2737	__le16	error_code;
 2738	__le16	req_type;
 2739	__le16	seq_id;
 2740	__le16	resp_len;
 2741	u8	unused_0[7];
 2742	u8	valid;
 2743};
 2744
 2745/* hwrm_func_drv_qver_input (size:192b/24B) */
 2746struct hwrm_func_drv_qver_input {
 2747	__le16	req_type;
 2748	__le16	cmpl_ring;
 2749	__le16	seq_id;
 2750	__le16	target_id;
 2751	__le64	resp_addr;
 2752	__le32	reserved;
 2753	__le16	fid;
 2754	u8	driver_type;
 2755	#define FUNC_DRV_QVER_REQ_DRIVER_TYPE_L2   0x0UL
 2756	#define FUNC_DRV_QVER_REQ_DRIVER_TYPE_ROCE 0x1UL
 2757	#define FUNC_DRV_QVER_REQ_DRIVER_TYPE_LAST FUNC_DRV_QVER_REQ_DRIVER_TYPE_ROCE
 2758	u8	unused_0;
 2759};
 2760
 2761/* hwrm_func_drv_qver_output (size:256b/32B) */
 2762struct hwrm_func_drv_qver_output {
 2763	__le16	error_code;
 2764	__le16	req_type;
 2765	__le16	seq_id;
 2766	__le16	resp_len;
 2767	__le16	os_type;
 2768	#define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN   0x0UL
 2769	#define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER     0x1UL
 2770	#define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS     0xeUL
 2771	#define FUNC_DRV_QVER_RESP_OS_TYPE_WINDOWS   0x12UL
 2772	#define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS   0x1dUL
 2773	#define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX     0x24UL
 2774	#define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD   0x2aUL
 2775	#define FUNC_DRV_QVER_RESP_OS_TYPE_ESXI      0x68UL
 2776	#define FUNC_DRV_QVER_RESP_OS_TYPE_WIN864    0x73UL
 2777	#define FUNC_DRV_QVER_RESP_OS_TYPE_WIN2012R2 0x74UL
 2778	#define FUNC_DRV_QVER_RESP_OS_TYPE_UEFI      0x8000UL
 2779	#define FUNC_DRV_QVER_RESP_OS_TYPE_LAST     FUNC_DRV_QVER_RESP_OS_TYPE_UEFI
 2780	u8	ver_maj_8b;
 2781	u8	ver_min_8b;
 2782	u8	ver_upd_8b;
 2783	u8	unused_0[3];
 2784	__le16	ver_maj;
 2785	__le16	ver_min;
 2786	__le16	ver_upd;
 2787	__le16	ver_patch;
 2788	u8	unused_1[7];
 2789	u8	valid;
 2790};
 2791
 2792/* hwrm_func_resource_qcaps_input (size:192b/24B) */
 2793struct hwrm_func_resource_qcaps_input {
 2794	__le16	req_type;
 2795	__le16	cmpl_ring;
 2796	__le16	seq_id;
 2797	__le16	target_id;
 2798	__le64	resp_addr;
 2799	__le16	fid;
 2800	u8	unused_0[6];
 2801};
 2802
 2803/* hwrm_func_resource_qcaps_output (size:704b/88B) */
 2804struct hwrm_func_resource_qcaps_output {
 2805	__le16	error_code;
 2806	__le16	req_type;
 2807	__le16	seq_id;
 2808	__le16	resp_len;
 2809	__le16	max_vfs;
 2810	__le16	max_msix;
 2811	__le16	vf_reservation_strategy;
 2812	#define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MAXIMAL        0x0UL
 2813	#define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL        0x1UL
 2814	#define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL_STATIC 0x2UL
 2815	#define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_LAST          FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL_STATIC
 2816	__le16	min_rsscos_ctx;
 2817	__le16	max_rsscos_ctx;
 2818	__le16	min_cmpl_rings;
 2819	__le16	max_cmpl_rings;
 2820	__le16	min_tx_rings;
 2821	__le16	max_tx_rings;
 2822	__le16	min_rx_rings;
 2823	__le16	max_rx_rings;
 2824	__le16	min_l2_ctxs;
 2825	__le16	max_l2_ctxs;
 2826	__le16	min_vnics;
 2827	__le16	max_vnics;
 2828	__le16	min_stat_ctx;
 2829	__le16	max_stat_ctx;
 2830	__le16	min_hw_ring_grps;
 2831	__le16	max_hw_ring_grps;
 2832	__le16	max_tx_scheduler_inputs;
 2833	__le16	flags;
 2834	#define FUNC_RESOURCE_QCAPS_RESP_FLAGS_MIN_GUARANTEED     0x1UL
 2835	__le16	min_msix;
 2836	__le32	min_ktls_tx_key_ctxs;
 2837	__le32	max_ktls_tx_key_ctxs;
 2838	__le32	min_ktls_rx_key_ctxs;
 2839	__le32	max_ktls_rx_key_ctxs;
 2840	__le32	min_quic_tx_key_ctxs;
 2841	__le32	max_quic_tx_key_ctxs;
 2842	__le32	min_quic_rx_key_ctxs;
 2843	__le32	max_quic_rx_key_ctxs;
 2844	u8	unused_0[3];
 2845	u8	valid;
 2846};
 2847
 2848/* hwrm_func_vf_resource_cfg_input (size:704b/88B) */
 2849struct hwrm_func_vf_resource_cfg_input {
 2850	__le16	req_type;
 2851	__le16	cmpl_ring;
 2852	__le16	seq_id;
 2853	__le16	target_id;
 2854	__le64	resp_addr;
 2855	__le16	vf_id;
 2856	__le16	max_msix;
 2857	__le16	min_rsscos_ctx;
 2858	__le16	max_rsscos_ctx;
 2859	__le16	min_cmpl_rings;
 2860	__le16	max_cmpl_rings;
 2861	__le16	min_tx_rings;
 2862	__le16	max_tx_rings;
 2863	__le16	min_rx_rings;
 2864	__le16	max_rx_rings;
 2865	__le16	min_l2_ctxs;
 2866	__le16	max_l2_ctxs;
 2867	__le16	min_vnics;
 2868	__le16	max_vnics;
 2869	__le16	min_stat_ctx;
 2870	__le16	max_stat_ctx;
 2871	__le16	min_hw_ring_grps;
 2872	__le16	max_hw_ring_grps;
 2873	__le16	flags;
 2874	#define FUNC_VF_RESOURCE_CFG_REQ_FLAGS_MIN_GUARANTEED     0x1UL
 2875	__le16	min_msix;
 2876	__le32	min_ktls_tx_key_ctxs;
 2877	__le32	max_ktls_tx_key_ctxs;
 2878	__le32	min_ktls_rx_key_ctxs;
 2879	__le32	max_ktls_rx_key_ctxs;
 2880	__le32	min_quic_tx_key_ctxs;
 2881	__le32	max_quic_tx_key_ctxs;
 2882	__le32	min_quic_rx_key_ctxs;
 2883	__le32	max_quic_rx_key_ctxs;
 2884};
 2885
 2886/* hwrm_func_vf_resource_cfg_output (size:384b/48B) */
 2887struct hwrm_func_vf_resource_cfg_output {
 2888	__le16	error_code;
 2889	__le16	req_type;
 2890	__le16	seq_id;
 2891	__le16	resp_len;
 2892	__le16	reserved_rsscos_ctx;
 2893	__le16	reserved_cmpl_rings;
 2894	__le16	reserved_tx_rings;
 2895	__le16	reserved_rx_rings;
 2896	__le16	reserved_l2_ctxs;
 2897	__le16	reserved_vnics;
 2898	__le16	reserved_stat_ctx;
 2899	__le16	reserved_hw_ring_grps;
 2900	__le32	reserved_ktls_tx_key_ctxs;
 2901	__le32	reserved_ktls_rx_key_ctxs;
 2902	__le32	reserved_quic_tx_key_ctxs;
 2903	__le32	reserved_quic_rx_key_ctxs;
 2904	u8	unused_0[7];
 2905	u8	valid;
 2906};
 2907
 2908/* hwrm_func_backing_store_qcaps_input (size:128b/16B) */
 2909struct hwrm_func_backing_store_qcaps_input {
 2910	__le16	req_type;
 2911	__le16	cmpl_ring;
 2912	__le16	seq_id;
 2913	__le16	target_id;
 2914	__le64	resp_addr;
 2915};
 2916
 2917/* hwrm_func_backing_store_qcaps_output (size:832b/104B) */
 2918struct hwrm_func_backing_store_qcaps_output {
 2919	__le16	error_code;
 2920	__le16	req_type;
 2921	__le16	seq_id;
 2922	__le16	resp_len;
 2923	__le32	qp_max_entries;
 2924	__le16	qp_min_qp1_entries;
 2925	__le16	qp_max_l2_entries;
 2926	__le16	qp_entry_size;
 2927	__le16	srq_max_l2_entries;
 2928	__le32	srq_max_entries;
 2929	__le16	srq_entry_size;
 2930	__le16	cq_max_l2_entries;
 2931	__le32	cq_max_entries;
 2932	__le16	cq_entry_size;
 2933	__le16	vnic_max_vnic_entries;
 2934	__le16	vnic_max_ring_table_entries;
 2935	__le16	vnic_entry_size;
 2936	__le32	stat_max_entries;
 2937	__le16	stat_entry_size;
 2938	__le16	tqm_entry_size;
 2939	__le32	tqm_min_entries_per_ring;
 2940	__le32	tqm_max_entries_per_ring;
 2941	__le32	mrav_max_entries;
 2942	__le16	mrav_entry_size;
 2943	__le16	tim_entry_size;
 2944	__le32	tim_max_entries;
 2945	__le16	mrav_num_entries_units;
 2946	u8	tqm_entries_multiple;
 2947	u8	ctx_kind_initializer;
 2948	__le16	ctx_init_mask;
 2949	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_QP       0x1UL
 2950	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_SRQ      0x2UL
 2951	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_CQ       0x4UL
 2952	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_VNIC     0x8UL
 2953	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_STAT     0x10UL
 2954	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_MRAV     0x20UL
 2955	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_TKC      0x40UL
 2956	#define FUNC_BACKING_STORE_QCAPS_RESP_CTX_INIT_MASK_RKC      0x80UL
 2957	u8	qp_init_offset;
 2958	u8	srq_init_offset;
 2959	u8	cq_init_offset;
 2960	u8	vnic_init_offset;
 2961	u8	tqm_fp_rings_count;
 2962	u8	stat_init_offset;
 2963	u8	mrav_init_offset;
 2964	u8	tqm_fp_rings_count_ext;
 2965	u8	tkc_init_offset;
 2966	u8	rkc_init_offset;
 2967	__le16	tkc_entry_size;
 2968	__le16	rkc_entry_size;
 2969	__le32	tkc_max_entries;
 2970	__le32	rkc_max_entries;
 2971	__le16	fast_qpmd_qp_num_entries;
 2972	u8	rsvd1[5];
 2973	u8	valid;
 2974};
 2975
 2976/* tqm_fp_ring_cfg (size:128b/16B) */
 2977struct tqm_fp_ring_cfg {
 2978	u8	tqm_ring_pg_size_tqm_ring_lvl;
 2979	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_MASK      0xfUL
 2980	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_SFT       0
 2981	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_LVL_0       0x0UL
 2982	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_LVL_1       0x1UL
 2983	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_LVL_2       0x2UL
 2984	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_LAST       TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_LVL_LVL_2
 2985	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_MASK  0xf0UL
 2986	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_SFT   4
 2987	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_4K   (0x0UL << 4)
 2988	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_8K   (0x1UL << 4)
 2989	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_64K  (0x2UL << 4)
 2990	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_2M   (0x3UL << 4)
 2991	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_8M   (0x4UL << 4)
 2992	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_1G   (0x5UL << 4)
 2993	#define TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_LAST   TQM_FP_RING_CFG_TQM_RING_CFG_TQM_RING_PG_SIZE_PG_1G
 2994	u8	unused[3];
 2995	__le32	tqm_ring_num_entries;
 2996	__le64	tqm_ring_page_dir;
 2997};
 2998
 2999/* hwrm_func_backing_store_cfg_input (size:2688b/336B) */
 3000struct hwrm_func_backing_store_cfg_input {
 3001	__le16	req_type;
 3002	__le16	cmpl_ring;
 3003	__le16	seq_id;
 3004	__le16	target_id;
 3005	__le64	resp_addr;
 3006	__le32	flags;
 3007	#define FUNC_BACKING_STORE_CFG_REQ_FLAGS_PREBOOT_MODE               0x1UL
 3008	#define FUNC_BACKING_STORE_CFG_REQ_FLAGS_MRAV_RESERVATION_SPLIT     0x2UL
 3009	__le32	enables;
 3010	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_QP               0x1UL
 3011	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_SRQ              0x2UL
 3012	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_CQ               0x4UL
 3013	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_VNIC             0x8UL
 3014	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_STAT             0x10UL
 3015	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_SP           0x20UL
 3016	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING0        0x40UL
 3017	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING1        0x80UL
 3018	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING2        0x100UL
 3019	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING3        0x200UL
 3020	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING4        0x400UL
 3021	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING5        0x800UL
 3022	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING6        0x1000UL
 3023	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING7        0x2000UL
 3024	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_MRAV             0x4000UL
 3025	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TIM              0x8000UL
 3026	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING8        0x10000UL
 3027	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING9        0x20000UL
 3028	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING10       0x40000UL
 3029	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TKC              0x80000UL
 3030	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_RKC              0x100000UL
 3031	#define FUNC_BACKING_STORE_CFG_REQ_ENABLES_QP_FAST_QPMD     0x200000UL
 3032	u8	qpc_pg_size_qpc_lvl;
 3033	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_MASK      0xfUL
 3034	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_SFT       0
 3035	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_0       0x0UL
 3036	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_1       0x1UL
 3037	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_2       0x2UL
 3038	#define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_2
 3039	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_MASK  0xf0UL
 3040	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_SFT   4
 3041	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_4K   (0x0UL << 4)
 3042	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_8K   (0x1UL << 4)
 3043	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_64K  (0x2UL << 4)
 3044	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_2M   (0x3UL << 4)
 3045	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_8M   (0x4UL << 4)
 3046	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_1G   (0x5UL << 4)
 3047	#define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_1G
 3048	u8	srq_pg_size_srq_lvl;
 3049	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_MASK      0xfUL
 3050	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_SFT       0
 3051	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_0       0x0UL
 3052	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_1       0x1UL
 3053	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_2       0x2UL
 3054	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_2
 3055	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_MASK  0xf0UL
 3056	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_SFT   4
 3057	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_4K   (0x0UL << 4)
 3058	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_8K   (0x1UL << 4)
 3059	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_64K  (0x2UL << 4)
 3060	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_2M   (0x3UL << 4)
 3061	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_8M   (0x4UL << 4)
 3062	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_1G   (0x5UL << 4)
 3063	#define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_1G
 3064	u8	cq_pg_size_cq_lvl;
 3065	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_MASK      0xfUL
 3066	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_SFT       0
 3067	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_0       0x0UL
 3068	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_1       0x1UL
 3069	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_2       0x2UL
 3070	#define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_2
 3071	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_MASK  0xf0UL
 3072	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_SFT   4
 3073	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_4K   (0x0UL << 4)
 3074	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_8K   (0x1UL << 4)
 3075	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_64K  (0x2UL << 4)
 3076	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_2M   (0x3UL << 4)
 3077	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_8M   (0x4UL << 4)
 3078	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_1G   (0x5UL << 4)
 3079	#define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_1G
 3080	u8	vnic_pg_size_vnic_lvl;
 3081	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_MASK      0xfUL
 3082	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_SFT       0
 3083	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_0       0x0UL
 3084	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_1       0x1UL
 3085	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_2       0x2UL
 3086	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_2
 3087	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_MASK  0xf0UL
 3088	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_SFT   4
 3089	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_4K   (0x0UL << 4)
 3090	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_8K   (0x1UL << 4)
 3091	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_64K  (0x2UL << 4)
 3092	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_2M   (0x3UL << 4)
 3093	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_8M   (0x4UL << 4)
 3094	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_1G   (0x5UL << 4)
 3095	#define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_1G
 3096	u8	stat_pg_size_stat_lvl;
 3097	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_MASK      0xfUL
 3098	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_SFT       0
 3099	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_0       0x0UL
 3100	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_1       0x1UL
 3101	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_2       0x2UL
 3102	#define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_2
 3103	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_MASK  0xf0UL
 3104	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_SFT   4
 3105	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_4K   (0x0UL << 4)
 3106	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_8K   (0x1UL << 4)
 3107	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_64K  (0x2UL << 4)
 3108	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_2M   (0x3UL << 4)
 3109	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_8M   (0x4UL << 4)
 3110	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_1G   (0x5UL << 4)
 3111	#define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_1G
 3112	u8	tqm_sp_pg_size_tqm_sp_lvl;
 3113	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_MASK      0xfUL
 3114	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_SFT       0
 3115	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_0       0x0UL
 3116	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_1       0x1UL
 3117	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_2       0x2UL
 3118	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_2
 3119	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_MASK  0xf0UL
 3120	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_SFT   4
 3121	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_4K   (0x0UL << 4)
 3122	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_8K   (0x1UL << 4)
 3123	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_64K  (0x2UL << 4)
 3124	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_2M   (0x3UL << 4)
 3125	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_8M   (0x4UL << 4)
 3126	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_1G   (0x5UL << 4)
 3127	#define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_1G
 3128	u8	tqm_ring0_pg_size_tqm_ring0_lvl;
 3129	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_MASK      0xfUL
 3130	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_SFT       0
 3131	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_0       0x0UL
 3132	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_1       0x1UL
 3133	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_2       0x2UL
 3134	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_2
 3135	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_MASK  0xf0UL
 3136	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_SFT   4
 3137	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_4K   (0x0UL << 4)
 3138	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_8K   (0x1UL << 4)
 3139	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_64K  (0x2UL << 4)
 3140	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_2M   (0x3UL << 4)
 3141	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_8M   (0x4UL << 4)
 3142	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_1G   (0x5UL << 4)
 3143	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_1G
 3144	u8	tqm_ring1_pg_size_tqm_ring1_lvl;
 3145	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_MASK      0xfUL
 3146	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_SFT       0
 3147	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_0       0x0UL
 3148	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_1       0x1UL
 3149	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_2       0x2UL
 3150	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_2
 3151	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_MASK  0xf0UL
 3152	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_SFT   4
 3153	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_4K   (0x0UL << 4)
 3154	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_8K   (0x1UL << 4)
 3155	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_64K  (0x2UL << 4)
 3156	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_2M   (0x3UL << 4)
 3157	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_8M   (0x4UL << 4)
 3158	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_1G   (0x5UL << 4)
 3159	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_1G
 3160	u8	tqm_ring2_pg_size_tqm_ring2_lvl;
 3161	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_MASK      0xfUL
 3162	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_SFT       0
 3163	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_0       0x0UL
 3164	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_1       0x1UL
 3165	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_2       0x2UL
 3166	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_2
 3167	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_MASK  0xf0UL
 3168	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_SFT   4
 3169	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_4K   (0x0UL << 4)
 3170	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_8K   (0x1UL << 4)
 3171	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_64K  (0x2UL << 4)
 3172	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_2M   (0x3UL << 4)
 3173	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_8M   (0x4UL << 4)
 3174	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_1G   (0x5UL << 4)
 3175	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_1G
 3176	u8	tqm_ring3_pg_size_tqm_ring3_lvl;
 3177	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_MASK      0xfUL
 3178	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_SFT       0
 3179	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_0       0x0UL
 3180	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_1       0x1UL
 3181	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_2       0x2UL
 3182	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_2
 3183	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_MASK  0xf0UL
 3184	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_SFT   4
 3185	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_4K   (0x0UL << 4)
 3186	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_8K   (0x1UL << 4)
 3187	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_64K  (0x2UL << 4)
 3188	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_2M   (0x3UL << 4)
 3189	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_8M   (0x4UL << 4)
 3190	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_1G   (0x5UL << 4)
 3191	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_1G
 3192	u8	tqm_ring4_pg_size_tqm_ring4_lvl;
 3193	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_MASK      0xfUL
 3194	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_SFT       0
 3195	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_0       0x0UL
 3196	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_1       0x1UL
 3197	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_2       0x2UL
 3198	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_2
 3199	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_MASK  0xf0UL
 3200	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_SFT   4
 3201	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_4K   (0x0UL << 4)
 3202	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_8K   (0x1UL << 4)
 3203	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_64K  (0x2UL << 4)
 3204	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_2M   (0x3UL << 4)
 3205	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_8M   (0x4UL << 4)
 3206	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_1G   (0x5UL << 4)
 3207	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_1G
 3208	u8	tqm_ring5_pg_size_tqm_ring5_lvl;
 3209	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_MASK      0xfUL
 3210	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_SFT       0
 3211	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_0       0x0UL
 3212	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_1       0x1UL
 3213	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_2       0x2UL
 3214	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_2
 3215	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_MASK  0xf0UL
 3216	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_SFT   4
 3217	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_4K   (0x0UL << 4)
 3218	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_8K   (0x1UL << 4)
 3219	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_64K  (0x2UL << 4)
 3220	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_2M   (0x3UL << 4)
 3221	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_8M   (0x4UL << 4)
 3222	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_1G   (0x5UL << 4)
 3223	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_1G
 3224	u8	tqm_ring6_pg_size_tqm_ring6_lvl;
 3225	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_MASK      0xfUL
 3226	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_SFT       0
 3227	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_0       0x0UL
 3228	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_1       0x1UL
 3229	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_2       0x2UL
 3230	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_2
 3231	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_MASK  0xf0UL
 3232	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_SFT   4
 3233	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_4K   (0x0UL << 4)
 3234	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_8K   (0x1UL << 4)
 3235	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_64K  (0x2UL << 4)
 3236	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_2M   (0x3UL << 4)
 3237	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_8M   (0x4UL << 4)
 3238	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_1G   (0x5UL << 4)
 3239	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_1G
 3240	u8	tqm_ring7_pg_size_tqm_ring7_lvl;
 3241	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_MASK      0xfUL
 3242	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_SFT       0
 3243	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_0       0x0UL
 3244	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_1       0x1UL
 3245	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_2       0x2UL
 3246	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_2
 3247	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_MASK  0xf0UL
 3248	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_SFT   4
 3249	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_4K   (0x0UL << 4)
 3250	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_8K   (0x1UL << 4)
 3251	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_64K  (0x2UL << 4)
 3252	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_2M   (0x3UL << 4)
 3253	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_8M   (0x4UL << 4)
 3254	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_1G   (0x5UL << 4)
 3255	#define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_1G
 3256	u8	mrav_pg_size_mrav_lvl;
 3257	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_MASK      0xfUL
 3258	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_SFT       0
 3259	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_0       0x0UL
 3260	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_1       0x1UL
 3261	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_2       0x2UL
 3262	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_2
 3263	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_MASK  0xf0UL
 3264	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_SFT   4
 3265	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_4K   (0x0UL << 4)
 3266	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_8K   (0x1UL << 4)
 3267	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_64K  (0x2UL << 4)
 3268	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_2M   (0x3UL << 4)
 3269	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_8M   (0x4UL << 4)
 3270	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_1G   (0x5UL << 4)
 3271	#define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_1G
 3272	u8	tim_pg_size_tim_lvl;
 3273	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_MASK      0xfUL
 3274	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_SFT       0
 3275	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_0       0x0UL
 3276	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_1       0x1UL
 3277	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_2       0x2UL
 3278	#define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_2
 3279	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_MASK  0xf0UL
 3280	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_SFT   4
 3281	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_4K   (0x0UL << 4)
 3282	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_8K   (0x1UL << 4)
 3283	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_64K  (0x2UL << 4)
 3284	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_2M   (0x3UL << 4)
 3285	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_8M   (0x4UL << 4)
 3286	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_1G   (0x5UL << 4)
 3287	#define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_1G
 3288	__le64	qpc_page_dir;
 3289	__le64	srq_page_dir;
 3290	__le64	cq_page_dir;
 3291	__le64	vnic_page_dir;
 3292	__le64	stat_page_dir;
 3293	__le64	tqm_sp_page_dir;
 3294	__le64	tqm_ring0_page_dir;
 3295	__le64	tqm_ring1_page_dir;
 3296	__le64	tqm_ring2_page_dir;
 3297	__le64	tqm_ring3_page_dir;
 3298	__le64	tqm_ring4_page_dir;
 3299	__le64	tqm_ring5_page_dir;
 3300	__le64	tqm_ring6_page_dir;
 3301	__le64	tqm_ring7_page_dir;
 3302	__le64	mrav_page_dir;
 3303	__le64	tim_page_dir;
 3304	__le32	qp_num_entries;
 3305	__le32	srq_num_entries;
 3306	__le32	cq_num_entries;
 3307	__le32	stat_num_entries;
 3308	__le32	tqm_sp_num_entries;
 3309	__le32	tqm_ring0_num_entries;
 3310	__le32	tqm_ring1_num_entries;
 3311	__le32	tqm_ring2_num_entries;
 3312	__le32	tqm_ring3_num_entries;
 3313	__le32	tqm_ring4_num_entries;
 3314	__le32	tqm_ring5_num_entries;
 3315	__le32	tqm_ring6_num_entries;
 3316	__le32	tqm_ring7_num_entries;
 3317	__le32	mrav_num_entries;
 3318	__le32	tim_num_entries;
 3319	__le16	qp_num_qp1_entries;
 3320	__le16	qp_num_l2_entries;
 3321	__le16	qp_entry_size;
 3322	__le16	srq_num_l2_entries;
 3323	__le16	srq_entry_size;
 3324	__le16	cq_num_l2_entries;
 3325	__le16	cq_entry_size;
 3326	__le16	vnic_num_vnic_entries;
 3327	__le16	vnic_num_ring_table_entries;
 3328	__le16	vnic_entry_size;
 3329	__le16	stat_entry_size;
 3330	__le16	tqm_entry_size;
 3331	__le16	mrav_entry_size;
 3332	__le16	tim_entry_size;
 3333	u8	tqm_ring8_pg_size_tqm_ring_lvl;
 3334	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_MASK      0xfUL
 3335	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_SFT       0
 3336	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_LVL_0       0x0UL
 3337	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_LVL_1       0x1UL
 3338	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_LVL_2       0x2UL
 3339	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_LVL_LVL_2
 3340	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_MASK  0xf0UL
 3341	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_SFT   4
 3342	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_4K   (0x0UL << 4)
 3343	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_8K   (0x1UL << 4)
 3344	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_64K  (0x2UL << 4)
 3345	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_2M   (0x3UL << 4)
 3346	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_8M   (0x4UL << 4)
 3347	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_1G   (0x5UL << 4)
 3348	#define FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_RING8_TQM_RING_PG_SIZE_PG_1G
 3349	u8	ring8_unused[3];
 3350	__le32	tqm_ring8_num_entries;
 3351	__le64	tqm_ring8_page_dir;
 3352	u8	tqm_ring9_pg_size_tqm_ring_lvl;
 3353	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_MASK      0xfUL
 3354	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_SFT       0
 3355	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_LVL_0       0x0UL
 3356	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_LVL_1       0x1UL
 3357	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_LVL_2       0x2UL
 3358	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_LVL_LVL_2
 3359	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_MASK  0xf0UL
 3360	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_SFT   4
 3361	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_4K   (0x0UL << 4)
 3362	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_8K   (0x1UL << 4)
 3363	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_64K  (0x2UL << 4)
 3364	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_2M   (0x3UL << 4)
 3365	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_8M   (0x4UL << 4)
 3366	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_1G   (0x5UL << 4)
 3367	#define FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_RING9_TQM_RING_PG_SIZE_PG_1G
 3368	u8	ring9_unused[3];
 3369	__le32	tqm_ring9_num_entries;
 3370	__le64	tqm_ring9_page_dir;
 3371	u8	tqm_ring10_pg_size_tqm_ring_lvl;
 3372	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_MASK      0xfUL
 3373	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_SFT       0
 3374	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_LVL_0       0x0UL
 3375	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_LVL_1       0x1UL
 3376	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_LVL_2       0x2UL
 3377	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_LVL_LVL_2
 3378	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_MASK  0xf0UL
 3379	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_SFT   4
 3380	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_4K   (0x0UL << 4)
 3381	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_8K   (0x1UL << 4)
 3382	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_64K  (0x2UL << 4)
 3383	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_2M   (0x3UL << 4)
 3384	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_8M   (0x4UL << 4)
 3385	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_1G   (0x5UL << 4)
 3386	#define FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_RING10_TQM_RING_PG_SIZE_PG_1G
 3387	u8	ring10_unused[3];
 3388	__le32	tqm_ring10_num_entries;
 3389	__le64	tqm_ring10_page_dir;
 3390	__le32	tkc_num_entries;
 3391	__le32	rkc_num_entries;
 3392	__le64	tkc_page_dir;
 3393	__le64	rkc_page_dir;
 3394	__le16	tkc_entry_size;
 3395	__le16	rkc_entry_size;
 3396	u8	tkc_pg_size_tkc_lvl;
 3397	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_MASK      0xfUL
 3398	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_SFT       0
 3399	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_LVL_0       0x0UL
 3400	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_LVL_1       0x1UL
 3401	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_LVL_2       0x2UL
 3402	#define FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_TKC_LVL_LVL_2
 3403	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_MASK  0xf0UL
 3404	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_SFT   4
 3405	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_4K   (0x0UL << 4)
 3406	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_8K   (0x1UL << 4)
 3407	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_64K  (0x2UL << 4)
 3408	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_2M   (0x3UL << 4)
 3409	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_8M   (0x4UL << 4)
 3410	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_1G   (0x5UL << 4)
 3411	#define FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_TKC_PG_SIZE_PG_1G
 3412	u8	rkc_pg_size_rkc_lvl;
 3413	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_MASK      0xfUL
 3414	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_SFT       0
 3415	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_LVL_0       0x0UL
 3416	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_LVL_1       0x1UL
 3417	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_LVL_2       0x2UL
 3418	#define FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_LAST       FUNC_BACKING_STORE_CFG_REQ_RKC_LVL_LVL_2
 3419	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_MASK  0xf0UL
 3420	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_SFT   4
 3421	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_4K   (0x0UL << 4)
 3422	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_8K   (0x1UL << 4)
 3423	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_64K  (0x2UL << 4)
 3424	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_2M   (0x3UL << 4)
 3425	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_8M   (0x4UL << 4)
 3426	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_1G   (0x5UL << 4)
 3427	#define FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_LAST   FUNC_BACKING_STORE_CFG_REQ_RKC_PG_SIZE_PG_1G
 3428	__le16	qp_num_fast_qpmd_entries;
 3429};
 3430
 3431/* hwrm_func_backing_store_cfg_output (size:128b/16B) */
 3432struct hwrm_func_backing_store_cfg_output {
 3433	__le16	error_code;
 3434	__le16	req_type;
 3435	__le16	seq_id;
 3436	__le16	resp_len;
 3437	u8	unused_0[7];
 3438	u8	valid;
 3439};
 3440
 3441/* hwrm_error_recovery_qcfg_input (size:192b/24B) */
 3442struct hwrm_error_recovery_qcfg_input {
 3443	__le16	req_type;
 3444	__le16	cmpl_ring;
 3445	__le16	seq_id;
 3446	__le16	target_id;
 3447	__le64	resp_addr;
 3448	u8	unused_0[8];
 3449};
 3450
 3451/* hwrm_error_recovery_qcfg_output (size:1664b/208B) */
 3452struct hwrm_error_recovery_qcfg_output {
 3453	__le16	error_code;
 3454	__le16	req_type;
 3455	__le16	seq_id;
 3456	__le16	resp_len;
 3457	__le32	flags;
 3458	#define ERROR_RECOVERY_QCFG_RESP_FLAGS_HOST       0x1UL
 3459	#define ERROR_RECOVERY_QCFG_RESP_FLAGS_CO_CPU     0x2UL
 3460	__le32	driver_polling_freq;
 3461	__le32	master_func_wait_period;
 3462	__le32	normal_func_wait_period;
 3463	__le32	master_func_wait_period_after_reset;
 3464	__le32	max_bailout_time_after_reset;
 3465	__le32	fw_health_status_reg;
 3466	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_MASK    0x3UL
 3467	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_SFT     0
 3468	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3469	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_GRC       0x1UL
 3470	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR0      0x2UL
 3471	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR1      0x3UL
 3472	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR1
 3473	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_MASK          0xfffffffcUL
 3474	#define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SFT           2
 3475	__le32	fw_heartbeat_reg;
 3476	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_MASK    0x3UL
 3477	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_SFT     0
 3478	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3479	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_GRC       0x1UL
 3480	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR0      0x2UL
 3481	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR1      0x3UL
 3482	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR1
 3483	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_MASK          0xfffffffcUL
 3484	#define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SFT           2
 3485	__le32	fw_reset_cnt_reg;
 3486	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_MASK    0x3UL
 3487	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_SFT     0
 3488	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3489	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_GRC       0x1UL
 3490	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR0      0x2UL
 3491	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR1      0x3UL
 3492	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR1
 3493	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_MASK          0xfffffffcUL
 3494	#define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SFT           2
 3495	__le32	reset_inprogress_reg;
 3496	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_MASK    0x3UL
 3497	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_SFT     0
 3498	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3499	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_GRC       0x1UL
 3500	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR0      0x2UL
 3501	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR1      0x3UL
 3502	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR1
 3503	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_MASK          0xfffffffcUL
 3504	#define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SFT           2
 3505	__le32	reset_inprogress_reg_mask;
 3506	u8	unused_0[3];
 3507	u8	reg_array_cnt;
 3508	__le32	reset_reg[16];
 3509	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_MASK    0x3UL
 3510	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_SFT     0
 3511	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3512	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_GRC       0x1UL
 3513	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR0      0x2UL
 3514	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR1      0x3UL
 3515	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR1
 3516	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_MASK          0xfffffffcUL
 3517	#define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SFT           2
 3518	__le32	reset_reg_val[16];
 3519	u8	delay_after_reset[16];
 3520	__le32	err_recovery_cnt_reg;
 3521	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_MASK    0x3UL
 3522	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_SFT     0
 3523	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 3524	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_GRC       0x1UL
 3525	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR0      0x2UL
 3526	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR1      0x3UL
 3527	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_LAST     ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR1
 3528	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_MASK          0xfffffffcUL
 3529	#define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SFT           2
 3530	u8	unused_1[3];
 3531	u8	valid;
 3532};
 3533
 3534/* hwrm_func_echo_response_input (size:192b/24B) */
 3535struct hwrm_func_echo_response_input {
 3536	__le16	req_type;
 3537	__le16	cmpl_ring;
 3538	__le16	seq_id;
 3539	__le16	target_id;
 3540	__le64	resp_addr;
 3541	__le32	event_data1;
 3542	__le32	event_data2;
 3543};
 3544
 3545/* hwrm_func_echo_response_output (size:128b/16B) */
 3546struct hwrm_func_echo_response_output {
 3547	__le16	error_code;
 3548	__le16	req_type;
 3549	__le16	seq_id;
 3550	__le16	resp_len;
 3551	u8	unused_0[7];
 3552	u8	valid;
 3553};
 3554
 3555/* hwrm_func_ptp_pin_qcfg_input (size:192b/24B) */
 3556struct hwrm_func_ptp_pin_qcfg_input {
 3557	__le16	req_type;
 3558	__le16	cmpl_ring;
 3559	__le16	seq_id;
 3560	__le16	target_id;
 3561	__le64	resp_addr;
 3562	u8	unused_0[8];
 3563};
 3564
 3565/* hwrm_func_ptp_pin_qcfg_output (size:128b/16B) */
 3566struct hwrm_func_ptp_pin_qcfg_output {
 3567	__le16	error_code;
 3568	__le16	req_type;
 3569	__le16	seq_id;
 3570	__le16	resp_len;
 3571	u8	num_pins;
 3572	u8	state;
 3573	#define FUNC_PTP_PIN_QCFG_RESP_STATE_PIN0_ENABLED     0x1UL
 3574	#define FUNC_PTP_PIN_QCFG_RESP_STATE_PIN1_ENABLED     0x2UL
 3575	#define FUNC_PTP_PIN_QCFG_RESP_STATE_PIN2_ENABLED     0x4UL
 3576	#define FUNC_PTP_PIN_QCFG_RESP_STATE_PIN3_ENABLED     0x8UL
 3577	u8	pin0_usage;
 3578	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_NONE     0x0UL
 3579	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_PPS_IN   0x1UL
 3580	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_PPS_OUT  0x2UL
 3581	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_SYNC_IN  0x3UL
 3582	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_SYNC_OUT 0x4UL
 3583	#define FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_LAST    FUNC_PTP_PIN_QCFG_RESP_PIN0_USAGE_SYNC_OUT
 3584	u8	pin1_usage;
 3585	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_NONE     0x0UL
 3586	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_PPS_IN   0x1UL
 3587	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_PPS_OUT  0x2UL
 3588	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_SYNC_IN  0x3UL
 3589	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_SYNC_OUT 0x4UL
 3590	#define FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_LAST    FUNC_PTP_PIN_QCFG_RESP_PIN1_USAGE_SYNC_OUT
 3591	u8	pin2_usage;
 3592	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_NONE                      0x0UL
 3593	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_PPS_IN                    0x1UL
 3594	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_PPS_OUT                   0x2UL
 3595	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_SYNC_IN                   0x3UL
 3596	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_SYNC_OUT                  0x4UL
 3597	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_SYNCE_PRIMARY_CLOCK_OUT   0x5UL
 3598	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_SYNCE_SECONDARY_CLOCK_OUT 0x6UL
 3599	#define FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_LAST                     FUNC_PTP_PIN_QCFG_RESP_PIN2_USAGE_SYNCE_SECONDARY_CLOCK_OUT
 3600	u8	pin3_usage;
 3601	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_NONE                      0x0UL
 3602	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_PPS_IN                    0x1UL
 3603	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_PPS_OUT                   0x2UL
 3604	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_SYNC_IN                   0x3UL
 3605	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_SYNC_OUT                  0x4UL
 3606	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_SYNCE_PRIMARY_CLOCK_OUT   0x5UL
 3607	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_SYNCE_SECONDARY_CLOCK_OUT 0x6UL
 3608	#define FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_LAST                     FUNC_PTP_PIN_QCFG_RESP_PIN3_USAGE_SYNCE_SECONDARY_CLOCK_OUT
 3609	u8	unused_0;
 3610	u8	valid;
 3611};
 3612
 3613/* hwrm_func_ptp_pin_cfg_input (size:256b/32B) */
 3614struct hwrm_func_ptp_pin_cfg_input {
 3615	__le16	req_type;
 3616	__le16	cmpl_ring;
 3617	__le16	seq_id;
 3618	__le16	target_id;
 3619	__le64	resp_addr;
 3620	__le32	enables;
 3621	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN0_STATE     0x1UL
 3622	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN0_USAGE     0x2UL
 3623	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN1_STATE     0x4UL
 3624	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN1_USAGE     0x8UL
 3625	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN2_STATE     0x10UL
 3626	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN2_USAGE     0x20UL
 3627	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN3_STATE     0x40UL
 3628	#define FUNC_PTP_PIN_CFG_REQ_ENABLES_PIN3_USAGE     0x80UL
 3629	u8	pin0_state;
 3630	#define FUNC_PTP_PIN_CFG_REQ_PIN0_STATE_DISABLED 0x0UL
 3631	#define FUNC_PTP_PIN_CFG_REQ_PIN0_STATE_ENABLED  0x1UL
 3632	#define FUNC_PTP_PIN_CFG_REQ_PIN0_STATE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN0_STATE_ENABLED
 3633	u8	pin0_usage;
 3634	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_NONE     0x0UL
 3635	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_PPS_IN   0x1UL
 3636	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_PPS_OUT  0x2UL
 3637	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_SYNC_IN  0x3UL
 3638	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_SYNC_OUT 0x4UL
 3639	#define FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN0_USAGE_SYNC_OUT
 3640	u8	pin1_state;
 3641	#define FUNC_PTP_PIN_CFG_REQ_PIN1_STATE_DISABLED 0x0UL
 3642	#define FUNC_PTP_PIN_CFG_REQ_PIN1_STATE_ENABLED  0x1UL
 3643	#define FUNC_PTP_PIN_CFG_REQ_PIN1_STATE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN1_STATE_ENABLED
 3644	u8	pin1_usage;
 3645	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_NONE     0x0UL
 3646	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_PPS_IN   0x1UL
 3647	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_PPS_OUT  0x2UL
 3648	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_SYNC_IN  0x3UL
 3649	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_SYNC_OUT 0x4UL
 3650	#define FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN1_USAGE_SYNC_OUT
 3651	u8	pin2_state;
 3652	#define FUNC_PTP_PIN_CFG_REQ_PIN2_STATE_DISABLED 0x0UL
 3653	#define FUNC_PTP_PIN_CFG_REQ_PIN2_STATE_ENABLED  0x1UL
 3654	#define FUNC_PTP_PIN_CFG_REQ_PIN2_STATE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN2_STATE_ENABLED
 3655	u8	pin2_usage;
 3656	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_NONE                      0x0UL
 3657	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_PPS_IN                    0x1UL
 3658	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_PPS_OUT                   0x2UL
 3659	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_SYNC_IN                   0x3UL
 3660	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_SYNC_OUT                  0x4UL
 3661	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_SYNCE_PRIMARY_CLOCK_OUT   0x5UL
 3662	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_SYNCE_SECONDARY_CLOCK_OUT 0x6UL
 3663	#define FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_LAST                     FUNC_PTP_PIN_CFG_REQ_PIN2_USAGE_SYNCE_SECONDARY_CLOCK_OUT
 3664	u8	pin3_state;
 3665	#define FUNC_PTP_PIN_CFG_REQ_PIN3_STATE_DISABLED 0x0UL
 3666	#define FUNC_PTP_PIN_CFG_REQ_PIN3_STATE_ENABLED  0x1UL
 3667	#define FUNC_PTP_PIN_CFG_REQ_PIN3_STATE_LAST    FUNC_PTP_PIN_CFG_REQ_PIN3_STATE_ENABLED
 3668	u8	pin3_usage;
 3669	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_NONE                      0x0UL
 3670	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_PPS_IN                    0x1UL
 3671	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_PPS_OUT                   0x2UL
 3672	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_SYNC_IN                   0x3UL
 3673	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_SYNC_OUT                  0x4UL
 3674	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_SYNCE_PRIMARY_CLOCK_OUT   0x5UL
 3675	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_SYNCE_SECONDARY_CLOCK_OUT 0x6UL
 3676	#define FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_LAST                     FUNC_PTP_PIN_CFG_REQ_PIN3_USAGE_SYNCE_SECONDARY_CLOCK_OUT
 3677	u8	unused_0[4];
 3678};
 3679
 3680/* hwrm_func_ptp_pin_cfg_output (size:128b/16B) */
 3681struct hwrm_func_ptp_pin_cfg_output {
 3682	__le16	error_code;
 3683	__le16	req_type;
 3684	__le16	seq_id;
 3685	__le16	resp_len;
 3686	u8	unused_0[7];
 3687	u8	valid;
 3688};
 3689
 3690/* hwrm_func_ptp_cfg_input (size:384b/48B) */
 3691struct hwrm_func_ptp_cfg_input {
 3692	__le16	req_type;
 3693	__le16	cmpl_ring;
 3694	__le16	seq_id;
 3695	__le16	target_id;
 3696	__le64	resp_addr;
 3697	__le16	enables;
 3698	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_PPS_EVENT               0x1UL
 3699	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_FREQ_ADJ_DLL_SOURCE     0x2UL
 3700	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_FREQ_ADJ_DLL_PHASE      0x4UL
 3701	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_FREQ_ADJ_EXT_PERIOD     0x8UL
 3702	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_FREQ_ADJ_EXT_UP         0x10UL
 3703	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_FREQ_ADJ_EXT_PHASE      0x20UL
 3704	#define FUNC_PTP_CFG_REQ_ENABLES_PTP_SET_TIME                0x40UL
 3705	u8	ptp_pps_event;
 3706	#define FUNC_PTP_CFG_REQ_PTP_PPS_EVENT_INTERNAL     0x1UL
 3707	#define FUNC_PTP_CFG_REQ_PTP_PPS_EVENT_EXTERNAL     0x2UL
 3708	u8	ptp_freq_adj_dll_source;
 3709	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_NONE    0x0UL
 3710	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_TSIO_0  0x1UL
 3711	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_TSIO_1  0x2UL
 3712	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_TSIO_2  0x3UL
 3713	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_TSIO_3  0x4UL
 3714	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_PORT_0  0x5UL
 3715	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_PORT_1  0x6UL
 3716	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_PORT_2  0x7UL
 3717	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_PORT_3  0x8UL
 3718	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_INVALID 0xffUL
 3719	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_LAST   FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_SOURCE_INVALID
 3720	u8	ptp_freq_adj_dll_phase;
 3721	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_NONE 0x0UL
 3722	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_4K   0x1UL
 3723	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_8K   0x2UL
 3724	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_10M  0x3UL
 3725	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_25M  0x4UL
 3726	#define FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_LAST FUNC_PTP_CFG_REQ_PTP_FREQ_ADJ_DLL_PHASE_25M
 3727	u8	unused_0[3];
 3728	__le32	ptp_freq_adj_ext_period;
 3729	__le32	ptp_freq_adj_ext_up;
 3730	__le32	ptp_freq_adj_ext_phase_lower;
 3731	__le32	ptp_freq_adj_ext_phase_upper;
 3732	__le64	ptp_set_time;
 3733};
 3734
 3735/* hwrm_func_ptp_cfg_output (size:128b/16B) */
 3736struct hwrm_func_ptp_cfg_output {
 3737	__le16	error_code;
 3738	__le16	req_type;
 3739	__le16	seq_id;
 3740	__le16	resp_len;
 3741	u8	unused_0[7];
 3742	u8	valid;
 3743};
 3744
 3745/* hwrm_func_ptp_ts_query_input (size:192b/24B) */
 3746struct hwrm_func_ptp_ts_query_input {
 3747	__le16	req_type;
 3748	__le16	cmpl_ring;
 3749	__le16	seq_id;
 3750	__le16	target_id;
 3751	__le64	resp_addr;
 3752	__le32	flags;
 3753	#define FUNC_PTP_TS_QUERY_REQ_FLAGS_PPS_TIME     0x1UL
 3754	#define FUNC_PTP_TS_QUERY_REQ_FLAGS_PTM_TIME     0x2UL
 3755	u8	unused_0[4];
 3756};
 3757
 3758/* hwrm_func_ptp_ts_query_output (size:320b/40B) */
 3759struct hwrm_func_ptp_ts_query_output {
 3760	__le16	error_code;
 3761	__le16	req_type;
 3762	__le16	seq_id;
 3763	__le16	resp_len;
 3764	__le64	pps_event_ts;
 3765	__le64	ptm_local_ts;
 3766	__le64	ptm_system_ts;
 3767	__le32	ptm_link_delay;
 3768	u8	unused_0[3];
 3769	u8	valid;
 3770};
 3771
 3772/* hwrm_func_ptp_ext_cfg_input (size:256b/32B) */
 3773struct hwrm_func_ptp_ext_cfg_input {
 3774	__le16	req_type;
 3775	__le16	cmpl_ring;
 3776	__le16	seq_id;
 3777	__le16	target_id;
 3778	__le64	resp_addr;
 3779	__le16	enables;
 3780	#define FUNC_PTP_EXT_CFG_REQ_ENABLES_PHC_MASTER_FID     0x1UL
 3781	#define FUNC_PTP_EXT_CFG_REQ_ENABLES_PHC_SEC_FID        0x2UL
 3782	#define FUNC_PTP_EXT_CFG_REQ_ENABLES_PHC_SEC_MODE       0x4UL
 3783	#define FUNC_PTP_EXT_CFG_REQ_ENABLES_FAILOVER_TIMER     0x8UL
 3784	__le16	phc_master_fid;
 3785	__le16	phc_sec_fid;
 3786	u8	phc_sec_mode;
 3787	#define FUNC_PTP_EXT_CFG_REQ_PHC_SEC_MODE_SWITCH  0x0UL
 3788	#define FUNC_PTP_EXT_CFG_REQ_PHC_SEC_MODE_ALL     0x1UL
 3789	#define FUNC_PTP_EXT_CFG_REQ_PHC_SEC_MODE_PF_ONLY 0x2UL
 3790	#define FUNC_PTP_EXT_CFG_REQ_PHC_SEC_MODE_LAST   FUNC_PTP_EXT_CFG_REQ_PHC_SEC_MODE_PF_ONLY
 3791	u8	unused_0;
 3792	__le32	failover_timer;
 3793	u8	unused_1[4];
 3794};
 3795
 3796/* hwrm_func_ptp_ext_cfg_output (size:128b/16B) */
 3797struct hwrm_func_ptp_ext_cfg_output {
 3798	__le16	error_code;
 3799	__le16	req_type;
 3800	__le16	seq_id;
 3801	__le16	resp_len;
 3802	u8	unused_0[7];
 3803	u8	valid;
 3804};
 3805
 3806/* hwrm_func_ptp_ext_qcfg_input (size:192b/24B) */
 3807struct hwrm_func_ptp_ext_qcfg_input {
 3808	__le16	req_type;
 3809	__le16	cmpl_ring;
 3810	__le16	seq_id;
 3811	__le16	target_id;
 3812	__le64	resp_addr;
 3813	u8	unused_0[8];
 3814};
 3815
 3816/* hwrm_func_ptp_ext_qcfg_output (size:256b/32B) */
 3817struct hwrm_func_ptp_ext_qcfg_output {
 3818	__le16	error_code;
 3819	__le16	req_type;
 3820	__le16	seq_id;
 3821	__le16	resp_len;
 3822	__le16	phc_master_fid;
 3823	__le16	phc_sec_fid;
 3824	__le16	phc_active_fid0;
 3825	__le16	phc_active_fid1;
 3826	__le32	last_failover_event;
 3827	__le16	from_fid;
 3828	__le16	to_fid;
 3829	u8	unused_0[7];
 3830	u8	valid;
 3831};
 3832
 3833/* hwrm_func_backing_store_cfg_v2_input (size:512b/64B) */
 3834struct hwrm_func_backing_store_cfg_v2_input {
 3835	__le16	req_type;
 3836	__le16	cmpl_ring;
 3837	__le16	seq_id;
 3838	__le16	target_id;
 3839	__le64	resp_addr;
 3840	__le16	type;
 3841	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_QP                  0x0UL
 3842	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SRQ                 0x1UL
 3843	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CQ                  0x2UL
 3844	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_VNIC                0x3UL
 3845	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_STAT                0x4UL
 3846	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SP_TQM_RING         0x5UL
 3847	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_FP_TQM_RING         0x6UL
 3848	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_MRAV                0xeUL
 3849	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_TIM                 0xfUL
 3850	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_TX_CK               0x13UL
 3851	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_RX_CK               0x14UL
 3852	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_MP_TQM_RING         0x15UL
 3853	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SQ_DB_SHADOW        0x16UL
 3854	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_RQ_DB_SHADOW        0x17UL
 3855	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SRQ_DB_SHADOW       0x18UL
 3856	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CQ_DB_SHADOW        0x19UL
 3857	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_TBL_SCOPE           0x1cUL
 3858	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_XID_PARTITION       0x1dUL
 3859	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SRT_TRACE           0x1eUL
 3860	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_SRT2_TRACE          0x1fUL
 3861	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CRT_TRACE           0x20UL
 3862	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CRT2_TRACE          0x21UL
 3863	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_RIGP0_TRACE         0x22UL
 3864	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_L2_HWRM_TRACE       0x23UL
 3865	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_ROCE_HWRM_TRACE     0x24UL
 3866	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_TTX_PACING_TQM_RING 0x25UL
 3867	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CA0_TRACE           0x26UL
 3868	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CA1_TRACE           0x27UL
 3869	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CA2_TRACE           0x28UL
 3870	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
 3871	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
 3872	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_ERR_QPC_TRACE       0x2bUL
 3873	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_INVALID             0xffffUL
 3874	#define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_INVALID
 3875	__le16	instance;
 3876	__le32	flags;
 3877	#define FUNC_BACKING_STORE_CFG_V2_REQ_FLAGS_PREBOOT_MODE        0x1UL
 3878	#define FUNC_BACKING_STORE_CFG_V2_REQ_FLAGS_BS_CFG_ALL_DONE     0x2UL
 3879	#define FUNC_BACKING_STORE_CFG_V2_REQ_FLAGS_BS_EXTEND           0x4UL
 3880	__le64	page_dir;
 3881	__le32	num_entries;
 3882	__le16	entry_size;
 3883	u8	page_size_pbl_level;
 3884	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_MASK  0xfUL
 3885	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_SFT   0
 3886	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_LVL_0   0x0UL
 3887	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_LVL_1   0x1UL
 3888	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_LVL_2   0x2UL
 3889	#define FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_LAST   FUNC_BACKING_STORE_CFG_V2_REQ_PBL_LEVEL_LVL_2
 3890	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_MASK  0xf0UL
 3891	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_SFT   4
 3892	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_4K   (0x0UL << 4)
 3893	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_8K   (0x1UL << 4)
 3894	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_64K  (0x2UL << 4)
 3895	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_2M   (0x3UL << 4)
 3896	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_8M   (0x4UL << 4)
 3897	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_1G   (0x5UL << 4)
 3898	#define FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_LAST   FUNC_BACKING_STORE_CFG_V2_REQ_PAGE_SIZE_PG_1G
 3899	u8	subtype_valid_cnt;
 3900	__le32	split_entry_0;
 3901	__le32	split_entry_1;
 3902	__le32	split_entry_2;
 3903	__le32	split_entry_3;
 3904	__le32	enables;
 3905	#define FUNC_BACKING_STORE_CFG_V2_REQ_ENABLES_NEXT_BS_OFFSET     0x1UL
 3906	__le32	next_bs_offset;
 3907};
 3908
 3909/* hwrm_func_backing_store_cfg_v2_output (size:128b/16B) */
 3910struct hwrm_func_backing_store_cfg_v2_output {
 3911	__le16	error_code;
 3912	__le16	req_type;
 3913	__le16	seq_id;
 3914	__le16	resp_len;
 3915	u8	rsvd0[7];
 3916	u8	valid;
 3917};
 3918
 3919/* hwrm_func_backing_store_qcfg_v2_input (size:192b/24B) */
 3920struct hwrm_func_backing_store_qcfg_v2_input {
 3921	__le16	req_type;
 3922	__le16	cmpl_ring;
 3923	__le16	seq_id;
 3924	__le16	target_id;
 3925	__le64	resp_addr;
 3926	__le16	type;
 3927	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_QP                  0x0UL
 3928	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SRQ                 0x1UL
 3929	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CQ                  0x2UL
 3930	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_VNIC                0x3UL
 3931	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_STAT                0x4UL
 3932	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SP_TQM_RING         0x5UL
 3933	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_FP_TQM_RING         0x6UL
 3934	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_MRAV                0xeUL
 3935	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_TIM                 0xfUL
 3936	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_TX_CK               0x13UL
 3937	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_RX_CK               0x14UL
 3938	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_MP_TQM_RING         0x15UL
 3939	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SQ_DB_SHADOW        0x16UL
 3940	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_RQ_DB_SHADOW        0x17UL
 3941	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SRQ_DB_SHADOW       0x18UL
 3942	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CQ_DB_SHADOW        0x19UL
 3943	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_TBL_SCOPE           0x1cUL
 3944	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_XID_PARTITION_TABLE 0x1dUL
 3945	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SRT_TRACE           0x1eUL
 3946	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_SRT2_TRACE          0x1fUL
 3947	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CRT_TRACE           0x20UL
 3948	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CRT2_TRACE          0x21UL
 3949	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_RIGP0_TRACE         0x22UL
 3950	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_L2_HWRM_TRACE       0x23UL
 3951	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_ROCE_HWRM_TRACE     0x24UL
 3952	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_TTX_PACING_TQM_RING 0x25UL
 3953	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CA0_TRACE           0x26UL
 3954	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CA1_TRACE           0x27UL
 3955	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CA2_TRACE           0x28UL
 3956	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
 3957	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
 3958	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_ERR_QPC_TRACE       0x2bUL
 3959	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_INVALID             0xffffUL
 3960	#define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_INVALID
 3961	__le16	instance;
 3962	u8	rsvd[4];
 3963};
 3964
 3965/* hwrm_func_backing_store_qcfg_v2_output (size:448b/56B) */
 3966struct hwrm_func_backing_store_qcfg_v2_output {
 3967	__le16	error_code;
 3968	__le16	req_type;
 3969	__le16	seq_id;
 3970	__le16	resp_len;
 3971	__le16	type;
 3972	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_QP                  0x0UL
 3973	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_SRQ                 0x1UL
 3974	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CQ                  0x2UL
 3975	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_VNIC                0x3UL
 3976	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_STAT                0x4UL
 3977	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_SP_TQM_RING         0x5UL
 3978	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_FP_TQM_RING         0x6UL
 3979	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_MRAV                0xeUL
 3980	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_TIM                 0xfUL
 3981	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_TX_CK               0x13UL
 3982	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_RX_CK               0x14UL
 3983	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_MP_TQM_RING         0x15UL
 3984	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_TBL_SCOPE           0x1cUL
 3985	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_XID_PARTITION       0x1dUL
 3986	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_SRT_TRACE           0x1eUL
 3987	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_SRT2_TRACE          0x1fUL
 3988	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CRT_TRACE           0x20UL
 3989	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CRT2_TRACE          0x21UL
 3990	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_RIGP0_TRACE         0x22UL
 3991	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_L2_HWRM_TRACE       0x23UL
 3992	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_ROCE_HWRM_TRACE     0x24UL
 3993	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_TTX_PACING_TQM_RING 0x25UL
 3994	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CA0_TRACE           0x26UL
 3995	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CA1_TRACE           0x27UL
 3996	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_CA2_TRACE           0x28UL
 3997	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_RIGP1_TRACE         0x29UL
 3998	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_ERR_QPC_TRACE       0x2aUL
 3999	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_INVALID             0xffffUL
 4000	#define FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_LAST               FUNC_BACKING_STORE_QCFG_V2_RESP_TYPE_INVALID
 4001	__le16	instance;
 4002	__le32	flags;
 4003	__le64	page_dir;
 4004	__le32	num_entries;
 4005	u8	page_size_pbl_level;
 4006	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_MASK  0xfUL
 4007	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_SFT   0
 4008	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_LVL_0   0x0UL
 4009	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_LVL_1   0x1UL
 4010	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_LVL_2   0x2UL
 4011	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_LAST   FUNC_BACKING_STORE_QCFG_V2_RESP_PBL_LEVEL_LVL_2
 4012	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_MASK  0xf0UL
 4013	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_SFT   4
 4014	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_4K   (0x0UL << 4)
 4015	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_8K   (0x1UL << 4)
 4016	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_64K  (0x2UL << 4)
 4017	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_2M   (0x3UL << 4)
 4018	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_8M   (0x4UL << 4)
 4019	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_1G   (0x5UL << 4)
 4020	#define FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_LAST   FUNC_BACKING_STORE_QCFG_V2_RESP_PAGE_SIZE_PG_1G
 4021	u8	subtype_valid_cnt;
 4022	u8	rsvd[2];
 4023	__le32	split_entry_0;
 4024	__le32	split_entry_1;
 4025	__le32	split_entry_2;
 4026	__le32	split_entry_3;
 4027	u8	rsvd2[7];
 4028	u8	valid;
 4029};
 4030
 4031/* qpc_split_entries (size:128b/16B) */
 4032struct qpc_split_entries {
 4033	__le32	qp_num_l2_entries;
 4034	__le32	qp_num_qp1_entries;
 4035	__le32	qp_num_fast_qpmd_entries;
 4036	__le32	rsvd;
 4037};
 4038
 4039/* srq_split_entries (size:128b/16B) */
 4040struct srq_split_entries {
 4041	__le32	srq_num_l2_entries;
 4042	__le32	rsvd;
 4043	__le32	rsvd2[2];
 4044};
 4045
 4046/* cq_split_entries (size:128b/16B) */
 4047struct cq_split_entries {
 4048	__le32	cq_num_l2_entries;
 4049	__le32	rsvd;
 4050	__le32	rsvd2[2];
 4051};
 4052
 4053/* vnic_split_entries (size:128b/16B) */
 4054struct vnic_split_entries {
 4055	__le32	vnic_num_vnic_entries;
 4056	__le32	rsvd;
 4057	__le32	rsvd2[2];
 4058};
 4059
 4060/* mrav_split_entries (size:128b/16B) */
 4061struct mrav_split_entries {
 4062	__le32	mrav_num_av_entries;
 4063	__le32	rsvd;
 4064	__le32	rsvd2[2];
 4065};
 4066
 4067/* ts_split_entries (size:128b/16B) */
 4068struct ts_split_entries {
 4069	__le32	region_num_entries;
 4070	u8	tsid;
 4071	u8	lkup_static_bkt_cnt_exp[2];
 4072	u8	locked;
 4073	__le32	rsvd2[2];
 4074};
 4075
 4076/* ck_split_entries (size:128b/16B) */
 4077struct ck_split_entries {
 4078	__le32	num_quic_entries;
 4079	__le32	rsvd;
 4080	__le32	rsvd2[2];
 4081};
 4082
 4083/* hwrm_func_backing_store_qcaps_v2_input (size:192b/24B) */
 4084struct hwrm_func_backing_store_qcaps_v2_input {
 4085	__le16	req_type;
 4086	__le16	cmpl_ring;
 4087	__le16	seq_id;
 4088	__le16	target_id;
 4089	__le64	resp_addr;
 4090	__le16	type;
 4091	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_QP                  0x0UL
 4092	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRQ                 0x1UL
 4093	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CQ                  0x2UL
 4094	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_VNIC                0x3UL
 4095	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_STAT                0x4UL
 4096	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SP_TQM_RING         0x5UL
 4097	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_FP_TQM_RING         0x6UL
 4098	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_MRAV                0xeUL
 4099	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TIM                 0xfUL
 4100	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TX_CK               0x13UL
 4101	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RX_CK               0x14UL
 4102	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_MP_TQM_RING         0x15UL
 4103	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SQ_DB_SHADOW        0x16UL
 4104	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RQ_DB_SHADOW        0x17UL
 4105	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRQ_DB_SHADOW       0x18UL
 4106	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CQ_DB_SHADOW        0x19UL
 4107	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TBL_SCOPE           0x1cUL
 4108	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_XID_PARTITION       0x1dUL
 4109	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRT_TRACE           0x1eUL
 4110	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRT2_TRACE          0x1fUL
 4111	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CRT_TRACE           0x20UL
 4112	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CRT2_TRACE          0x21UL
 4113	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP0_TRACE         0x22UL
 4114	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_L2_HWRM_TRACE       0x23UL
 4115	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_ROCE_HWRM_TRACE     0x24UL
 4116	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TTX_PACING_TQM_RING 0x25UL
 4117	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA0_TRACE           0x26UL
 4118	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA1_TRACE           0x27UL
 4119	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA2_TRACE           0x28UL
 4120	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
 4121	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
 4122	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_ERR_QPC_TRACE       0x2bUL
 4123	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_INVALID             0xffffUL
 4124	#define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_INVALID
 4125	u8	rsvd[6];
 4126};
 4127
 4128/* hwrm_func_backing_store_qcaps_v2_output (size:448b/56B) */
 4129struct hwrm_func_backing_store_qcaps_v2_output {
 4130	__le16	error_code;
 4131	__le16	req_type;
 4132	__le16	seq_id;
 4133	__le16	resp_len;
 4134	__le16	type;
 4135	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_QP                  0x0UL
 4136	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SRQ                 0x1UL
 4137	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CQ                  0x2UL
 4138	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_VNIC                0x3UL
 4139	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_STAT                0x4UL
 4140	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SP_TQM_RING         0x5UL
 4141	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_FP_TQM_RING         0x6UL
 4142	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_MRAV                0xeUL
 4143	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_TIM                 0xfUL
 4144	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_TX_CK               0x13UL
 4145	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_RX_CK               0x14UL
 4146	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_MP_TQM_RING         0x15UL
 4147	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SQ_DB_SHADOW        0x16UL
 4148	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_RQ_DB_SHADOW        0x17UL
 4149	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SRQ_DB_SHADOW       0x18UL
 4150	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CQ_DB_SHADOW        0x19UL
 4151	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_TBL_SCOPE           0x1cUL
 4152	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_XID_PARTITION       0x1dUL
 4153	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SRT_TRACE           0x1eUL
 4154	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_SRT2_TRACE          0x1fUL
 4155	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CRT_TRACE           0x20UL
 4156	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CRT2_TRACE          0x21UL
 4157	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_RIGP0_TRACE         0x22UL
 4158	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_L2_HWRM_TRACE       0x23UL
 4159	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_ROCE_HWRM_TRACE     0x24UL
 4160	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_TTX_PACING_TQM_RING 0x25UL
 4161	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CA0_TRACE           0x26UL
 4162	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CA1_TRACE           0x27UL
 4163	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CA2_TRACE           0x28UL
 4164	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_RIGP1_TRACE         0x29UL
 4165	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
 4166	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_ERR_QPC_TRACE       0x2bUL
 4167	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_INVALID             0xffffUL
 4168	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_LAST               FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_INVALID
 4169	__le16	entry_size;
 4170	__le32	flags;
 4171	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_ENABLE_CTX_KIND_INIT            0x1UL
 4172	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_TYPE_VALID                      0x2UL
 4173	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_DRIVER_MANAGED_MEMORY           0x4UL
 4174	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_ROCE_QP_PSEUDO_STATIC_ALLOC     0x8UL
 4175	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_DBG_TRACE                    0x10UL
 4176	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_BIN_DBG_TRACE                0x20UL
 4177	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_NEXT_BS_OFFSET                  0x40UL
 4178	__le32	instance_bit_map;
 4179	u8	ctx_init_value;
 4180	u8	ctx_init_offset;
 4181	u8	entry_multiple;
 4182	u8	rsvd;
 4183	__le32	max_num_entries;
 4184	__le32	min_num_entries;
 4185	__le16	next_valid_type;
 4186	u8	subtype_valid_cnt;
 4187	u8	exact_cnt_bit_map;
 4188	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_SPLIT_ENTRY_0_EXACT     0x1UL
 4189	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_SPLIT_ENTRY_1_EXACT     0x2UL
 4190	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_SPLIT_ENTRY_2_EXACT     0x4UL
 4191	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_SPLIT_ENTRY_3_EXACT     0x8UL
 4192	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_UNUSED_MASK             0xf0UL
 4193	#define FUNC_BACKING_STORE_QCAPS_V2_RESP_EXACT_CNT_BIT_MAP_UNUSED_SFT              4
 4194	__le32	split_entry_0;
 4195	__le32	split_entry_1;
 4196	__le32	split_entry_2;
 4197	__le32	split_entry_3;
 4198	__le16	max_instance_count;
 4199	u8	rsvd3;
 4200	u8	valid;
 4201};
 4202
 4203/* hwrm_func_dbr_pacing_qcfg_input (size:128b/16B) */
 4204struct hwrm_func_dbr_pacing_qcfg_input {
 4205	__le16	req_type;
 4206	__le16	cmpl_ring;
 4207	__le16	seq_id;
 4208	__le16	target_id;
 4209	__le64	resp_addr;
 4210};
 4211
 4212/* hwrm_func_dbr_pacing_qcfg_output (size:512b/64B) */
 4213struct hwrm_func_dbr_pacing_qcfg_output {
 4214	__le16	error_code;
 4215	__le16	req_type;
 4216	__le16	seq_id;
 4217	__le16	resp_len;
 4218	u8	flags;
 4219	#define FUNC_DBR_PACING_QCFG_RESP_FLAGS_DBR_NQ_EVENT_ENABLED     0x1UL
 4220	u8	unused_0[7];
 4221	__le32	dbr_stat_db_fifo_reg;
 4222	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_MASK    0x3UL
 4223	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_SFT     0
 4224	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 4225	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_GRC       0x1UL
 4226	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_BAR0      0x2UL
 4227	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_BAR1      0x3UL
 4228	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_LAST     FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SPACE_BAR1
 4229	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_MASK          0xfffffffcUL
 4230	#define FUNC_DBR_PACING_QCFG_RESP_DBR_STAT_DB_FIFO_REG_ADDR_SFT           2
 4231	__le32	dbr_stat_db_fifo_reg_watermark_mask;
 4232	u8	dbr_stat_db_fifo_reg_watermark_shift;
 4233	u8	unused_1[3];
 4234	__le32	dbr_stat_db_fifo_reg_fifo_room_mask;
 4235	u8	dbr_stat_db_fifo_reg_fifo_room_shift;
 4236	u8	unused_2[3];
 4237	__le32	dbr_throttling_aeq_arm_reg;
 4238	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_MASK    0x3UL
 4239	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_SFT     0
 4240	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_PCIE_CFG  0x0UL
 4241	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_GRC       0x1UL
 4242	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_BAR0      0x2UL
 4243	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_BAR1      0x3UL
 4244	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_LAST     FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SPACE_BAR1
 4245	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_MASK          0xfffffffcUL
 4246	#define FUNC_DBR_PACING_QCFG_RESP_DBR_THROTTLING_AEQ_ARM_REG_ADDR_SFT           2
 4247	u8	dbr_throttling_aeq_arm_reg_val;
 4248	u8	unused_3[3];
 4249	__le32	dbr_stat_db_max_fifo_depth;
 4250	__le32	primary_nq_id;
 4251	__le32	pacing_threshold;
 4252	u8	unused_4[7];
 4253	u8	valid;
 4254};
 4255
 4256/* hwrm_func_drv_if_change_input (size:192b/24B) */
 4257struct hwrm_func_drv_if_change_input {
 4258	__le16	req_type;
 4259	__le16	cmpl_ring;
 4260	__le16	seq_id;
 4261	__le16	target_id;
 4262	__le64	resp_addr;
 4263	__le32	flags;
 4264	#define FUNC_DRV_IF_CHANGE_REQ_FLAGS_UP     0x1UL
 4265	__le32	unused;
 4266};
 4267
 4268/* hwrm_func_drv_if_change_output (size:128b/16B) */
 4269struct hwrm_func_drv_if_change_output {
 4270	__le16	error_code;
 4271	__le16	req_type;
 4272	__le16	seq_id;
 4273	__le16	resp_len;
 4274	__le32	flags;
 4275	#define FUNC_DRV_IF_CHANGE_RESP_FLAGS_RESC_CHANGE           0x1UL
 4276	#define FUNC_DRV_IF_CHANGE_RESP_FLAGS_HOT_FW_RESET_DONE     0x2UL
 4277	#define FUNC_DRV_IF_CHANGE_RESP_FLAGS_CAPS_CHANGE           0x4UL
 4278	u8	unused_0[3];
 4279	u8	valid;
 4280};
 4281
 4282/* hwrm_port_phy_cfg_input (size:512b/64B) */
 4283struct hwrm_port_phy_cfg_input {
 4284	__le16	req_type;
 4285	__le16	cmpl_ring;
 4286	__le16	seq_id;
 4287	__le16	target_id;
 4288	__le64	resp_addr;
 4289	__le32	flags;
 4290	#define PORT_PHY_CFG_REQ_FLAGS_RESET_PHY                  0x1UL
 4291	#define PORT_PHY_CFG_REQ_FLAGS_DEPRECATED                 0x2UL
 4292	#define PORT_PHY_CFG_REQ_FLAGS_FORCE                      0x4UL
 4293	#define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG            0x8UL
 4294	#define PORT_PHY_CFG_REQ_FLAGS_EEE_ENABLE                 0x10UL
 4295	#define PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE                0x20UL
 4296	#define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_ENABLE          0x40UL
 4297	#define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_DISABLE         0x80UL
 4298	#define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_ENABLE         0x100UL
 4299	#define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_DISABLE        0x200UL
 4300	#define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_ENABLE        0x400UL
 4301	#define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_DISABLE       0x800UL
 4302	#define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_ENABLE        0x1000UL
 4303	#define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_DISABLE       0x2000UL
 4304	#define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DWN             0x4000UL
 4305	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_1XN_ENABLE       0x8000UL
 4306	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_1XN_DISABLE      0x10000UL
 4307	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_IEEE_ENABLE      0x20000UL
 4308	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_IEEE_DISABLE     0x40000UL
 4309	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_1XN_ENABLE       0x80000UL
 4310	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_1XN_DISABLE      0x100000UL
 4311	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_IEEE_ENABLE      0x200000UL
 4312	#define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_IEEE_DISABLE     0x400000UL
 4313	#define PORT_PHY_CFG_REQ_FLAGS_LINK_TRAINING_ENABLE       0x800000UL
 4314	#define PORT_PHY_CFG_REQ_FLAGS_LINK_TRAINING_DISABLE      0x1000000UL
 4315	#define PORT_PHY_CFG_REQ_FLAGS_PRECODING_ENABLE           0x2000000UL
 4316	#define PORT_PHY_CFG_REQ_FLAGS_PRECODING_DISABLE          0x4000000UL
 4317	__le32	enables;
 4318	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE                     0x1UL
 4319	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX                   0x2UL
 4320	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAUSE                    0x4UL
 4321	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED               0x8UL
 4322	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK          0x10UL
 4323	#define PORT_PHY_CFG_REQ_ENABLES_WIRESPEED                     0x20UL
 4324	#define PORT_PHY_CFG_REQ_ENABLES_LPBK                          0x40UL
 4325	#define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS                   0x80UL
 4326	#define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE                   0x100UL
 4327	#define PORT_PHY_CFG_REQ_ENABLES_EEE_LINK_SPEED_MASK           0x200UL
 4328	#define PORT_PHY_CFG_REQ_ENABLES_TX_LPI_TIMER                  0x400UL
 4329	#define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAM4_LINK_SPEED         0x800UL
 4330	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAM4_LINK_SPEED_MASK     0x1000UL
 4331	#define PORT_PHY_CFG_REQ_ENABLES_FORCE_LINK_SPEEDS2            0x2000UL
 4332	#define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEEDS2_MASK        0x4000UL
 4333	__le16	port_id;
 4334	__le16	force_link_speed;
 4335	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB 0x1UL
 4336	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB   0xaUL
 4337	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2GB   0x14UL
 4338	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2_5GB 0x19UL
 4339	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10GB  0x64UL
 4340	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_20GB  0xc8UL
 4341	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB  0xfaUL
 4342	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB  0x190UL
 4343	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB  0x1f4UL
 4344	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100GB 0x3e8UL
 4345	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB  0xffffUL
 4346	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_LAST PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB
 4347	u8	auto_mode;
 4348	#define PORT_PHY_CFG_REQ_AUTO_MODE_NONE         0x0UL
 4349	#define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS   0x1UL
 4350	#define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED    0x2UL
 4351	#define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW 0x3UL
 4352	#define PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK   0x4UL
 4353	#define PORT_PHY_CFG_REQ_AUTO_MODE_LAST        PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK
 4354	u8	auto_duplex;
 4355	#define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF 0x0UL
 4356	#define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL 0x1UL
 4357	#define PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH 0x2UL
 4358	#define PORT_PHY_CFG_REQ_AUTO_DUPLEX_LAST PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH
 4359	u8	auto_pause;
 4360	#define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX                0x1UL
 4361	#define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX                0x2UL
 4362	#define PORT_PHY_CFG_REQ_AUTO_PAUSE_AUTONEG_PAUSE     0x4UL
 4363	u8	mgmt_flag;
 4364	#define PORT_PHY_CFG_REQ_MGMT_FLAG_LINK_RELEASE     0x1UL
 4365	#define PORT_PHY_CFG_REQ_MGMT_FLAG_MGMT_VALID       0x80UL
 4366	__le16	auto_link_speed;
 4367	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB 0x1UL
 4368	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_1GB   0xaUL
 4369	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2GB   0x14UL
 4370	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2_5GB 0x19UL
 4371	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10GB  0x64UL
 4372	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_20GB  0xc8UL
 4373	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB  0xfaUL
 4374	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB  0x190UL
 4375	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB  0x1f4UL
 4376	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100GB 0x3e8UL
 4377	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB  0xffffUL
 4378	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_LAST PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB
 4379	__le16	auto_link_speed_mask;
 4380	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD     0x1UL
 4381	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB       0x2UL
 4382	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GBHD       0x4UL
 4383	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GB         0x8UL
 4384	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2GB         0x10UL
 4385	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2_5GB       0x20UL
 4386	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10GB        0x40UL
 4387	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_20GB        0x80UL
 4388	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB        0x100UL
 4389	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB        0x200UL
 4390	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB        0x400UL
 4391	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100GB       0x800UL
 4392	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MBHD      0x1000UL
 4393	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MB        0x2000UL
 4394	u8	wirespeed;
 4395	#define PORT_PHY_CFG_REQ_WIRESPEED_OFF 0x0UL
 4396	#define PORT_PHY_CFG_REQ_WIRESPEED_ON  0x1UL
 4397	#define PORT_PHY_CFG_REQ_WIRESPEED_LAST PORT_PHY_CFG_REQ_WIRESPEED_ON
 4398	u8	lpbk;
 4399	#define PORT_PHY_CFG_REQ_LPBK_NONE     0x0UL
 4400	#define PORT_PHY_CFG_REQ_LPBK_LOCAL    0x1UL
 4401	#define PORT_PHY_CFG_REQ_LPBK_REMOTE   0x2UL
 4402	#define PORT_PHY_CFG_REQ_LPBK_EXTERNAL 0x3UL
 4403	#define PORT_PHY_CFG_REQ_LPBK_LAST    PORT_PHY_CFG_REQ_LPBK_EXTERNAL
 4404	u8	force_pause;
 4405	#define PORT_PHY_CFG_REQ_FORCE_PAUSE_TX     0x1UL
 4406	#define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX     0x2UL
 4407	u8	unused_1;
 4408	__le32	preemphasis;
 4409	__le16	eee_link_speed_mask;
 4410	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD1     0x1UL
 4411	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_100MB     0x2UL
 4412	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD2     0x4UL
 4413	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_1GB       0x8UL
 4414	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD3     0x10UL
 4415	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD4     0x20UL
 4416	#define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_10GB      0x40UL
 4417	__le16	force_pam4_link_speed;
 4418	#define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_50GB  0x1f4UL
 4419	#define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_100GB 0x3e8UL
 4420	#define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_200GB 0x7d0UL
 4421	#define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_LAST PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_200GB
 4422	__le32	tx_lpi_timer;
 4423	#define PORT_PHY_CFG_REQ_TX_LPI_TIMER_MASK 0xffffffUL
 4424	#define PORT_PHY_CFG_REQ_TX_LPI_TIMER_SFT 0
 4425	__le16	auto_link_pam4_speed_mask;
 4426	#define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_50G      0x1UL
 4427	#define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_100G     0x2UL
 4428	#define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_200G     0x4UL
 4429	__le16	force_link_speeds2;
 4430	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_1GB            0xaUL
 4431	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_10GB           0x64UL
 4432	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_25GB           0xfaUL
 4433	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_40GB           0x190UL
 4434	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_50GB           0x1f4UL
 4435	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_100GB          0x3e8UL
 4436	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_50GB_PAM4_56   0x1f5UL
 4437	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_100GB_PAM4_56  0x3e9UL
 4438	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_200GB_PAM4_56  0x7d1UL
 4439	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_400GB_PAM4_56  0xfa1UL
 4440	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_100GB_PAM4_112 0x3eaUL
 4441	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_200GB_PAM4_112 0x7d2UL
 4442	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_400GB_PAM4_112 0xfa2UL
 4443	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_800GB_PAM4_112 0x1f42UL
 4444	#define PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_LAST          PORT_PHY_CFG_REQ_FORCE_LINK_SPEEDS2_800GB_PAM4_112
 4445	__le16	auto_link_speeds2_mask;
 4446	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_1GB                0x1UL
 4447	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_10GB               0x2UL
 4448	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_25GB               0x4UL
 4449	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_40GB               0x8UL
 4450	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_50GB               0x10UL
 4451	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_100GB              0x20UL
 4452	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_50GB_PAM4_56       0x40UL
 4453	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_100GB_PAM4_56      0x80UL
 4454	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_200GB_PAM4_56      0x100UL
 4455	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_400GB_PAM4_56      0x200UL
 4456	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_100GB_PAM4_112     0x400UL
 4457	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_200GB_PAM4_112     0x800UL
 4458	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_400GB_PAM4_112     0x1000UL
 4459	#define PORT_PHY_CFG_REQ_AUTO_LINK_SPEEDS2_MASK_800GB_PAM4_112     0x2000UL
 4460	u8	unused_2[6];
 4461};
 4462
 4463/* hwrm_port_phy_cfg_output (size:128b/16B) */
 4464struct hwrm_port_phy_cfg_output {
 4465	__le16	error_code;
 4466	__le16	req_type;
 4467	__le16	seq_id;
 4468	__le16	resp_len;
 4469	u8	unused_0[7];
 4470	u8	valid;
 4471};
 4472
 4473/* hwrm_port_phy_cfg_cmd_err (size:64b/8B) */
 4474struct hwrm_port_phy_cfg_cmd_err {
 4475	u8	code;
 4476	#define PORT_PHY_CFG_CMD_ERR_CODE_UNKNOWN       0x0UL
 4477	#define PORT_PHY_CFG_CMD_ERR_CODE_ILLEGAL_SPEED 0x1UL
 4478	#define PORT_PHY_CFG_CMD_ERR_CODE_RETRY         0x2UL
 4479	#define PORT_PHY_CFG_CMD_ERR_CODE_LAST         PORT_PHY_CFG_CMD_ERR_CODE_RETRY
 4480	u8	unused_0[7];
 4481};
 4482
 4483/* hwrm_port_phy_qcfg_input (size:192b/24B) */
 4484struct hwrm_port_phy_qcfg_input {
 4485	__le16	req_type;
 4486	__le16	cmpl_ring;
 4487	__le16	seq_id;
 4488	__le16	target_id;
 4489	__le64	resp_addr;
 4490	__le16	port_id;
 4491	u8	unused_0[6];
 4492};
 4493
 4494/* hwrm_port_phy_qcfg_output (size:832b/104B) */
 4495struct hwrm_port_phy_qcfg_output {
 4496	__le16	error_code;
 4497	__le16	req_type;
 4498	__le16	seq_id;
 4499	__le16	resp_len;
 4500	u8	link;
 4501	#define PORT_PHY_QCFG_RESP_LINK_NO_LINK 0x0UL
 4502	#define PORT_PHY_QCFG_RESP_LINK_SIGNAL  0x1UL
 4503	#define PORT_PHY_QCFG_RESP_LINK_LINK    0x2UL
 4504	#define PORT_PHY_QCFG_RESP_LINK_LAST   PORT_PHY_QCFG_RESP_LINK_LINK
 4505	u8	active_fec_signal_mode;
 4506	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_MASK                0xfUL
 4507	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_SFT                 0
 4508	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_NRZ                   0x0UL
 4509	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_PAM4                  0x1UL
 4510	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_PAM4_112              0x2UL
 4511	#define PORT_PHY_QCFG_RESP_SIGNAL_MODE_LAST                 PORT_PHY_QCFG_RESP_SIGNAL_MODE_PAM4_112
 4512	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_MASK                 0xf0UL
 4513	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_SFT                  4
 4514	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_NONE_ACTIVE        (0x0UL << 4)
 4515	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_CLAUSE74_ACTIVE    (0x1UL << 4)
 4516	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_CLAUSE91_ACTIVE    (0x2UL << 4)
 4517	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS544_1XN_ACTIVE   (0x3UL << 4)
 4518	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS544_IEEE_ACTIVE  (0x4UL << 4)
 4519	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_1XN_ACTIVE   (0x5UL << 4)
 4520	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_IEEE_ACTIVE  (0x6UL << 4)
 4521	#define PORT_PHY_QCFG_RESP_ACTIVE_FEC_LAST                  PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_IEEE_ACTIVE
 4522	__le16	link_speed;
 4523	#define PORT_PHY_QCFG_RESP_LINK_SPEED_100MB 0x1UL
 4524	#define PORT_PHY_QCFG_RESP_LINK_SPEED_1GB   0xaUL
 4525	#define PORT_PHY_QCFG_RESP_LINK_SPEED_2GB   0x14UL
 4526	#define PORT_PHY_QCFG_RESP_LINK_SPEED_2_5GB 0x19UL
 4527	#define PORT_PHY_QCFG_RESP_LINK_SPEED_10GB  0x64UL
 4528	#define PORT_PHY_QCFG_RESP_LINK_SPEED_20GB  0xc8UL
 4529	#define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB  0xfaUL
 4530	#define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB  0x190UL
 4531	#define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB  0x1f4UL
 4532	#define PORT_PHY_QCFG_RESP_LINK_SPEED_100GB 0x3e8UL
 4533	#define PORT_PHY_QCFG_RESP_LINK_SPEED_200GB 0x7d0UL
 4534	#define PORT_PHY_QCFG_RESP_LINK_SPEED_400GB 0xfa0UL
 4535	#define PORT_PHY_QCFG_RESP_LINK_SPEED_800GB 0x1f40UL
 4536	#define PORT_PHY_QCFG_RESP_LINK_SPEED_10MB  0xffffUL
 4537	#define PORT_PHY_QCFG_RESP_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_LINK_SPEED_10MB
 4538	u8	duplex_cfg;
 4539	#define PORT_PHY_QCFG_RESP_DUPLEX_CFG_HALF 0x0UL
 4540	#define PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL 0x1UL
 4541	#define PORT_PHY_QCFG_RESP_DUPLEX_CFG_LAST PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL
 4542	u8	pause;
 4543	#define PORT_PHY_QCFG_RESP_PAUSE_TX     0x1UL
 4544	#define PORT_PHY_QCFG_RESP_PAUSE_RX     0x2UL
 4545	__le16	support_speeds;
 4546	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MBHD     0x1UL
 4547	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MB       0x2UL
 4548	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GBHD       0x4UL
 4549	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GB         0x8UL
 4550	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2GB         0x10UL
 4551	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2_5GB       0x20UL
 4552	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10GB        0x40UL
 4553	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_20GB        0x80UL
 4554	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB        0x100UL
 4555	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB        0x200UL
 4556	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB        0x400UL
 4557	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100GB       0x800UL
 4558	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MBHD      0x1000UL
 4559	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MB        0x2000UL
 4560	__le16	force_link_speed;
 4561	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB 0x1UL
 4562	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB   0xaUL
 4563	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2GB   0x14UL
 4564	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2_5GB 0x19UL
 4565	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10GB  0x64UL
 4566	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_20GB  0xc8UL
 4567	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB  0xfaUL
 4568	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB  0x190UL
 4569	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB  0x1f4UL
 4570	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100GB 0x3e8UL
 4571	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB  0xffffUL
 4572	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB
 4573	u8	auto_mode;
 4574	#define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE         0x0UL
 4575	#define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS   0x1UL
 4576	#define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED    0x2UL
 4577	#define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW 0x3UL
 4578	#define PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK   0x4UL
 4579	#define PORT_PHY_QCFG_RESP_AUTO_MODE_LAST        PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK
 4580	u8	auto_pause;
 4581	#define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX                0x1UL
 4582	#define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX                0x2UL
 4583	#define PORT_PHY_QCFG_RESP_AUTO_PAUSE_AUTONEG_PAUSE     0x4UL
 4584	__le16	auto_link_speed;
 4585	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB 0x1UL
 4586	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB   0xaUL
 4587	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2GB   0x14UL
 4588	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2_5GB 0x19UL
 4589	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10GB  0x64UL
 4590	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_20GB  0xc8UL
 4591	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB  0xfaUL
 4592	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB  0x190UL
 4593	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB  0x1f4UL
 4594	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100GB 0x3e8UL
 4595	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB  0xffffUL
 4596	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB
 4597	__le16	auto_link_speed_mask;
 4598	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD     0x1UL
 4599	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB       0x2UL
 4600	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GBHD       0x4UL
 4601	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GB         0x8UL
 4602	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2GB         0x10UL
 4603	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2_5GB       0x20UL
 4604	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10GB        0x40UL
 4605	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_20GB        0x80UL
 4606	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB        0x100UL
 4607	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB        0x200UL
 4608	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB        0x400UL
 4609	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100GB       0x800UL
 4610	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MBHD      0x1000UL
 4611	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MB        0x2000UL
 4612	u8	wirespeed;
 4613	#define PORT_PHY_QCFG_RESP_WIRESPEED_OFF 0x0UL
 4614	#define PORT_PHY_QCFG_RESP_WIRESPEED_ON  0x1UL
 4615	#define PORT_PHY_QCFG_RESP_WIRESPEED_LAST PORT_PHY_QCFG_RESP_WIRESPEED_ON
 4616	u8	lpbk;
 4617	#define PORT_PHY_QCFG_RESP_LPBK_NONE     0x0UL
 4618	#define PORT_PHY_QCFG_RESP_LPBK_LOCAL    0x1UL
 4619	#define PORT_PHY_QCFG_RESP_LPBK_REMOTE   0x2UL
 4620	#define PORT_PHY_QCFG_RESP_LPBK_EXTERNAL 0x3UL
 4621	#define PORT_PHY_QCFG_RESP_LPBK_LAST    PORT_PHY_QCFG_RESP_LPBK_EXTERNAL
 4622	u8	force_pause;
 4623	#define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX     0x1UL
 4624	#define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX     0x2UL
 4625	u8	module_status;
 4626	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_NONE          0x0UL
 4627	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_DISABLETX     0x1UL
 4628	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_WARNINGMSG    0x2UL
 4629	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_PWRDOWN       0x3UL
 4630	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTINSERTED   0x4UL
 4631	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_CURRENTFAULT  0x5UL
 4632	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_OVERHEATED    0x6UL
 4633	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE 0xffUL
 4634	#define PORT_PHY_QCFG_RESP_MODULE_STATUS_LAST         PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE
 4635	__le32	preemphasis;
 4636	u8	phy_maj;
 4637	u8	phy_min;
 4638	u8	phy_bld;
 4639	u8	phy_type;
 4640	#define PORT_PHY_QCFG_RESP_PHY_TYPE_UNKNOWN          0x0UL
 4641	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR           0x1UL
 4642	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4          0x2UL
 4643	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR           0x3UL
 4644	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR           0x4UL
 4645	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2          0x5UL
 4646	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX           0x6UL
 4647	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR           0x7UL
 4648	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET            0x8UL
 4649	#define PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE           0x9UL
 4650	#define PORT_PHY_QCFG_RESP_PHY_TYPE_SGMIIEXTPHY      0xaUL
 4651	#define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_L  0xbUL
 4652	#define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_S  0xcUL
 4653	#define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_N  0xdUL
 4654	#define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASESR       0xeUL
 4655	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR4     0xfUL
 4656	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR4     0x10UL
 4657	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR4     0x11UL
 4658	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER4     0x12UL
 4659	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR10    0x13UL
 4660	#define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASECR4      0x14UL
 4661	#define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASESR4      0x15UL
 4662	#define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASELR4      0x16UL
 4663	#define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASEER4      0x17UL
 4664	#define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_ACTIVE_CABLE 0x18UL
 4665	#define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASET         0x19UL
 4666	#define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASESX        0x1aUL
 4667	#define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASECX        0x1bUL
 4668	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASECR4     0x1cUL
 4669	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASESR4     0x1dUL
 4670	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASELR4     0x1eUL
 4671	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASEER4     0x1fUL
 4672	#define PORT_PHY_QCFG_RESP_PHY_TYPE_50G_BASECR       0x20UL
 4673	#define PORT_PHY_QCFG_RESP_PHY_TYPE_50G_BASESR       0x21UL
 4674	#define PORT_PHY_QCFG_RESP_PHY_TYPE_50G_BASELR       0x22UL
 4675	#define PORT_PHY_QCFG_RESP_PHY_TYPE_50G_BASEER       0x23UL
 4676	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR2     0x24UL
 4677	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR2     0x25UL
 4678	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR2     0x26UL
 4679	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER2     0x27UL
 4680	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR      0x28UL
 4681	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR      0x29UL
 4682	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR      0x2aUL
 4683	#define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER      0x2bUL
 4684	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASECR2     0x2cUL
 4685	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASESR2     0x2dUL
 4686	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASELR2     0x2eUL
 4687	#define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASEER2     0x2fUL
 4688	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASECR8     0x30UL
 4689	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASESR8     0x31UL
 4690	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASELR8     0x32UL
 4691	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASEER8     0x33UL
 4692	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASECR4     0x34UL
 4693	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASESR4     0x35UL
 4694	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASELR4     0x36UL
 4695	#define PORT_PHY_QCFG_RESP_PHY_TYPE_400G_BASEER4     0x37UL
 4696	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASECR8     0x38UL
 4697	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASESR8     0x39UL
 4698	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASELR8     0x3aUL
 4699	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEER8     0x3bUL
 4700	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEFR8     0x3cUL
 4701	#define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEDR8     0x3dUL
 4702	#define PORT_PHY_QCFG_RESP_PHY_TYPE_LAST            PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEDR8
 4703	u8	media_type;
 4704	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN   0x0UL
 4705	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP        0x1UL
 4706	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC       0x2UL
 4707	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE     0x3UL
 4708	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_BACKPLANE 0x4UL
 4709	#define PORT_PHY_QCFG_RESP_MEDIA_TYPE_LAST     PORT_PHY_QCFG_RESP_MEDIA_TYPE_BACKPLANE
 4710	u8	xcvr_pkg_type;
 4711	#define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL 0x1UL
 4712	#define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL 0x2UL
 4713	#define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_LAST         PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL
 4714	u8	eee_config_phy_addr;
 4715	#define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK              0x1fUL
 4716	#define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT               0
 4717	#define PORT_PHY_QCFG_RESP_EEE_CONFIG_MASK            0xe0UL
 4718	#define PORT_PHY_QCFG_RESP_EEE_CONFIG_SFT             5
 4719	#define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ENABLED      0x20UL
 4720	#define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ACTIVE       0x40UL
 4721	#define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_TX_LPI       0x80UL
 4722	u8	parallel_detect;
 4723	#define PORT_PHY_QCFG_RESP_PARALLEL_DETECT     0x1UL
 4724	__le16	link_partner_adv_speeds;
 4725	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD     0x1UL
 4726	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB       0x2UL
 4727	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GBHD       0x4UL
 4728	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GB         0x8UL
 4729	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2GB         0x10UL
 4730	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2_5GB       0x20UL
 4731	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10GB        0x40UL
 4732	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_20GB        0x80UL
 4733	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB        0x100UL
 4734	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB        0x200UL
 4735	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB        0x400UL
 4736	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100GB       0x800UL
 4737	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MBHD      0x1000UL
 4738	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MB        0x2000UL
 4739	u8	link_partner_adv_auto_mode;
 4740	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE         0x0UL
 4741	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS   0x1UL
 4742	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED    0x2UL
 4743	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW 0x3UL
 4744	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK   0x4UL
 4745	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_LAST        PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK
 4746	u8	link_partner_adv_pause;
 4747	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX     0x1UL
 4748	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX     0x2UL
 4749	__le16	adv_eee_link_speed_mask;
 4750	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD1     0x1UL
 4751	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_100MB     0x2UL
 4752	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD2     0x4UL
 4753	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_1GB       0x8UL
 4754	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD3     0x10UL
 4755	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD4     0x20UL
 4756	#define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_10GB      0x40UL
 4757	__le16	link_partner_adv_eee_link_speed_mask;
 4758	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD1     0x1UL
 4759	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_100MB     0x2UL
 4760	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD2     0x4UL
 4761	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_1GB       0x8UL
 4762	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD3     0x10UL
 4763	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD4     0x20UL
 4764	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_10GB      0x40UL
 4765	__le32	xcvr_identifier_type_tx_lpi_timer;
 4766	#define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_MASK            0xffffffUL
 4767	#define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_SFT             0
 4768	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_MASK    0xff000000UL
 4769	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFT     24
 4770	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_UNKNOWN   (0x0UL << 24)
 4771	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFP       (0x3UL << 24)
 4772	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP      (0xcUL << 24)
 4773	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPPLUS  (0xdUL << 24)
 4774	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28    (0x11UL << 24)
 4775	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPDD    (0x18UL << 24)
 4776	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP112   (0x1eUL << 24)
 4777	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFPDD     (0x1fUL << 24)
 4778	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_CSFP      (0x20UL << 24)
 4779	#define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_LAST     PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_CSFP
 4780	__le16	fec_cfg;
 4781	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_NONE_SUPPORTED           0x1UL
 4782	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_SUPPORTED        0x2UL
 4783	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_ENABLED          0x4UL
 4784	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_SUPPORTED       0x8UL
 4785	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_ENABLED         0x10UL
 4786	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_SUPPORTED       0x20UL
 4787	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_ENABLED         0x40UL
 4788	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_1XN_SUPPORTED      0x80UL
 4789	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_1XN_ENABLED        0x100UL
 4790	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_IEEE_SUPPORTED     0x200UL
 4791	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_IEEE_ENABLED       0x400UL
 4792	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_1XN_SUPPORTED      0x800UL
 4793	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_1XN_ENABLED        0x1000UL
 4794	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_IEEE_SUPPORTED     0x2000UL
 4795	#define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_IEEE_ENABLED       0x4000UL
 4796	u8	duplex_state;
 4797	#define PORT_PHY_QCFG_RESP_DUPLEX_STATE_HALF 0x0UL
 4798	#define PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL 0x1UL
 4799	#define PORT_PHY_QCFG_RESP_DUPLEX_STATE_LAST PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL
 4800	u8	option_flags;
 4801	#define PORT_PHY_QCFG_RESP_OPTION_FLAGS_MEDIA_AUTO_DETECT     0x1UL
 4802	#define PORT_PHY_QCFG_RESP_OPTION_FLAGS_SIGNAL_MODE_KNOWN     0x2UL
 4803	#define PORT_PHY_QCFG_RESP_OPTION_FLAGS_SPEEDS2_SUPPORTED     0x4UL
 4804	#define PORT_PHY_QCFG_RESP_OPTION_FLAGS_LINK_TRAINING         0x8UL
 4805	#define PORT_PHY_QCFG_RESP_OPTION_FLAGS_PRECODING             0x10UL
 4806	char	phy_vendor_name[16];
 4807	char	phy_vendor_partnumber[16];
 4808	__le16	support_pam4_speeds;
 4809	#define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_50G      0x1UL
 4810	#define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_100G     0x2UL
 4811	#define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_200G     0x4UL
 4812	__le16	force_pam4_link_speed;
 4813	#define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_50GB  0x1f4UL
 4814	#define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_100GB 0x3e8UL
 4815	#define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_200GB 0x7d0UL
 4816	#define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_200GB
 4817	__le16	auto_pam4_link_speed_mask;
 4818	#define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_50G      0x1UL
 4819	#define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_100G     0x2UL
 4820	#define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_200G     0x4UL
 4821	u8	link_partner_pam4_adv_speeds;
 4822	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_50GB      0x1UL
 4823	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_100GB     0x2UL
 4824	#define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_200GB     0x4UL
 4825	u8	link_down_reason;
 4826	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_RF                      0x1UL
 4827	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_OTP_SPEED_VIOLATION     0x2UL
 4828	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_CABLE_REMOVED           0x4UL
 4829	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_MODULE_FAULT            0x8UL
 4830	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_BMC_REQUEST             0x10UL
 4831	#define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_TX_LASER_DISABLED       0x20UL
 4832	__le16	support_speeds2;
 4833	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_1GB                0x1UL
 4834	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_10GB               0x2UL
 4835	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_25GB               0x4UL
 4836	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_40GB               0x8UL
 4837	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_50GB               0x10UL
 4838	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_100GB              0x20UL
 4839	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_50GB_PAM4_56       0x40UL
 4840	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_100GB_PAM4_56      0x80UL
 4841	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_200GB_PAM4_56      0x100UL
 4842	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_400GB_PAM4_56      0x200UL
 4843	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_100GB_PAM4_112     0x400UL
 4844	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_200GB_PAM4_112     0x800UL
 4845	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_400GB_PAM4_112     0x1000UL
 4846	#define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_800GB_PAM4_112     0x2000UL
 4847	__le16	force_link_speeds2;
 4848	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_1GB            0xaUL
 4849	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_10GB           0x64UL
 4850	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_25GB           0xfaUL
 4851	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_40GB           0x190UL
 4852	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_50GB           0x1f4UL
 4853	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_100GB          0x3e8UL
 4854	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_50GB_PAM4_56   0x1f5UL
 4855	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_100GB_PAM4_56  0x3e9UL
 4856	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_200GB_PAM4_56  0x7d1UL
 4857	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_400GB_PAM4_56  0xfa1UL
 4858	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_100GB_PAM4_112 0x3eaUL
 4859	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_200GB_PAM4_112 0x7d2UL
 4860	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_400GB_PAM4_112 0xfa2UL
 4861	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_800GB_PAM4_112 0x1f42UL
 4862	#define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_LAST          PORT_PHY_QCFG_RESP_FORCE_LINK_SPEEDS2_800GB_PAM4_112
 4863	__le16	auto_link_speeds2;
 4864	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_1GB                0x1UL
 4865	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_10GB               0x2UL
 4866	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_25GB               0x4UL
 4867	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_40GB               0x8UL
 4868	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_50GB               0x10UL
 4869	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_100GB              0x20UL
 4870	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_50GB_PAM4_56       0x40UL
 4871	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_100GB_PAM4_56      0x80UL
 4872	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_200GB_PAM4_56      0x100UL
 4873	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_400GB_PAM4_56      0x200UL
 4874	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_100GB_PAM4_112     0x400UL
 4875	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_200GB_PAM4_112     0x800UL
 4876	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_400GB_PAM4_112     0x1000UL
 4877	#define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEEDS2_800GB_PAM4_112     0x2000UL
 4878	u8	active_lanes;
 4879	u8	valid;
 4880};
 4881
 4882/* hwrm_port_mac_cfg_input (size:448b/56B) */
 4883struct hwrm_port_mac_cfg_input {
 4884	__le16	req_type;
 4885	__le16	cmpl_ring;
 4886	__le16	seq_id;
 4887	__le16	target_id;
 4888	__le64	resp_addr;
 4889	__le32	flags;
 4890	#define PORT_MAC_CFG_REQ_FLAGS_MATCH_LINK                    0x1UL
 4891	#define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_ENABLE           0x2UL
 4892	#define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE         0x4UL
 4893	#define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE            0x8UL
 4894	#define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_ENABLE      0x10UL
 4895	#define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE     0x20UL
 4896	#define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_ENABLE      0x40UL
 4897	#define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_DISABLE     0x80UL
 4898	#define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_ENABLE                0x100UL
 4899	#define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_DISABLE               0x200UL
 4900	#define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_DISABLE          0x400UL
 4901	#define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_DISABLE        0x800UL
 4902	#define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_DISABLE           0x1000UL
 4903	#define PORT_MAC_CFG_REQ_FLAGS_PTP_ONE_STEP_TX_TS            0x2000UL
 4904	#define PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_ENABLE      0x4000UL
 4905	#define PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_DISABLE     0x8000UL
 4906	__le32	enables;
 4907	#define PORT_MAC_CFG_REQ_ENABLES_IPG                            0x1UL
 4908	#define PORT_MAC_CFG_REQ_ENABLES_LPBK                           0x2UL
 4909	#define PORT_MAC_CFG_REQ_ENABLES_VLAN_PRI2COS_MAP_PRI           0x4UL
 4910	#define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI         0x10UL
 4911	#define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI               0x20UL
 4912	#define PORT_MAC_CFG_REQ_ENABLES_RX_TS_CAPTURE_PTP_MSG_TYPE     0x40UL
 4913	#define PORT_MAC_CFG_REQ_ENABLES_TX_TS_CAPTURE_PTP_MSG_TYPE     0x80UL
 4914	#define PORT_MAC_CFG_REQ_ENABLES_COS_FIELD_CFG                  0x100UL
 4915	#define PORT_MAC_CFG_REQ_ENABLES_PTP_FREQ_ADJ_PPB               0x200UL
 4916	#define PORT_MAC_CFG_REQ_ENABLES_PTP_ADJ_PHASE                  0x400UL
 4917	#define PORT_MAC_CFG_REQ_ENABLES_PTP_LOAD_CONTROL               0x800UL
 4918	__le16	port_id;
 4919	u8	ipg;
 4920	u8	lpbk;
 4921	#define PORT_MAC_CFG_REQ_LPBK_NONE   0x0UL
 4922	#define PORT_MAC_CFG_REQ_LPBK_LOCAL  0x1UL
 4923	#define PORT_MAC_CFG_REQ_LPBK_REMOTE 0x2UL
 4924	#define PORT_MAC_CFG_REQ_LPBK_LAST  PORT_MAC_CFG_REQ_LPBK_REMOTE
 4925	u8	vlan_pri2cos_map_pri;
 4926	u8	reserved1;
 4927	u8	tunnel_pri2cos_map_pri;
 4928	u8	dscp2pri_map_pri;
 4929	__le16	rx_ts_capture_ptp_msg_type;
 4930	__le16	tx_ts_capture_ptp_msg_type;
 4931	u8	cos_field_cfg;
 4932	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_RSVD1                     0x1UL
 4933	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_MASK         0x6UL
 4934	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_SFT          1
 4935	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_INNERMOST      (0x0UL << 1)
 4936	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTER          (0x1UL << 1)
 4937	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTERMOST      (0x2UL << 1)
 4938	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED    (0x3UL << 1)
 4939	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_LAST          PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED
 4940	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_MASK       0x18UL
 4941	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_SFT        3
 4942	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_INNERMOST    (0x0UL << 3)
 4943	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTER        (0x1UL << 3)
 4944	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTERMOST    (0x2UL << 3)
 4945	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED  (0x3UL << 3)
 4946	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_LAST        PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED
 4947	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_MASK          0xe0UL
 4948	#define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_SFT           5
 4949	u8	unused_0[3];
 4950	__le32	ptp_freq_adj_ppb;
 4951	u8	unused_1[3];
 4952	u8	ptp_load_control;
 4953	#define PORT_MAC_CFG_REQ_PTP_LOAD_CONTROL_NONE      0x0UL
 4954	#define PORT_MAC_CFG_REQ_PTP_LOAD_CONTROL_IMMEDIATE 0x1UL
 4955	#define PORT_MAC_CFG_REQ_PTP_LOAD_CONTROL_PPS_EVENT 0x2UL
 4956	#define PORT_MAC_CFG_REQ_PTP_LOAD_CONTROL_LAST     PORT_MAC_CFG_REQ_PTP_LOAD_CONTROL_PPS_EVENT
 4957	__le64	ptp_adj_phase;
 4958};
 4959
 4960/* hwrm_port_mac_cfg_output (size:128b/16B) */
 4961struct hwrm_port_mac_cfg_output {
 4962	__le16	error_code;
 4963	__le16	req_type;
 4964	__le16	seq_id;
 4965	__le16	resp_len;
 4966	__le16	mru;
 4967	__le16	mtu;
 4968	u8	ipg;
 4969	u8	lpbk;
 4970	#define PORT_MAC_CFG_RESP_LPBK_NONE   0x0UL
 4971	#define PORT_MAC_CFG_RESP_LPBK_LOCAL  0x1UL
 4972	#define PORT_MAC_CFG_RESP_LPBK_REMOTE 0x2UL
 4973	#define PORT_MAC_CFG_RESP_LPBK_LAST  PORT_MAC_CFG_RESP_LPBK_REMOTE
 4974	u8	unused_0;
 4975	u8	valid;
 4976};
 4977
 4978/* hwrm_port_mac_ptp_qcfg_input (size:192b/24B) */
 4979struct hwrm_port_mac_ptp_qcfg_input {
 4980	__le16	req_type;
 4981	__le16	cmpl_ring;
 4982	__le16	seq_id;
 4983	__le16	target_id;
 4984	__le64	resp_addr;
 4985	__le16	port_id;
 4986	u8	unused_0[6];
 4987};
 4988
 4989/* hwrm_port_mac_ptp_qcfg_output (size:704b/88B) */
 4990struct hwrm_port_mac_ptp_qcfg_output {
 4991	__le16	error_code;
 4992	__le16	req_type;
 4993	__le16	seq_id;
 4994	__le16	resp_len;
 4995	u8	flags;
 4996	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_DIRECT_ACCESS                       0x1UL
 4997	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_ONE_STEP_TX_TS                      0x4UL
 4998	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_HWRM_ACCESS                         0x8UL
 4999	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_PARTIAL_DIRECT_ACCESS_REF_CLOCK     0x10UL
 5000	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_RTC_CONFIGURED                      0x20UL
 5001	#define PORT_MAC_PTP_QCFG_RESP_FLAGS_64B_PHC_TIME                        0x40UL
 5002	u8	unused_0[3];
 5003	__le32	rx_ts_reg_off_lower;
 5004	__le32	rx_ts_reg_off_upper;
 5005	__le32	rx_ts_reg_off_seq_id;
 5006	__le32	rx_ts_reg_off_src_id_0;
 5007	__le32	rx_ts_reg_off_src_id_1;
 5008	__le32	rx_ts_reg_off_src_id_2;
 5009	__le32	rx_ts_reg_off_domain_id;
 5010	__le32	rx_ts_reg_off_fifo;
 5011	__le32	rx_ts_reg_off_fifo_adv;
 5012	__le32	rx_ts_reg_off_granularity;
 5013	__le32	tx_ts_reg_off_lower;
 5014	__le32	tx_ts_reg_off_upper;
 5015	__le32	tx_ts_reg_off_seq_id;
 5016	__le32	tx_ts_reg_off_fifo;
 5017	__le32	tx_ts_reg_off_granularity;
 5018	__le32	ts_ref_clock_reg_lower;
 5019	__le32	ts_ref_clock_reg_upper;
 5020	u8	unused_1[7];
 5021	u8	valid;
 5022};
 5023
 5024/* tx_port_stats (size:3264b/408B) */
 5025struct tx_port_stats {
 5026	__le64	tx_64b_frames;
 5027	__le64	tx_65b_127b_frames;
 5028	__le64	tx_128b_255b_frames;
 5029	__le64	tx_256b_511b_frames;
 5030	__le64	tx_512b_1023b_frames;
 5031	__le64	tx_1024b_1518b_frames;
 5032	__le64	tx_good_vlan_frames;
 5033	__le64	tx_1519b_2047b_frames;
 5034	__le64	tx_2048b_4095b_frames;
 5035	__le64	tx_4096b_9216b_frames;
 5036	__le64	tx_9217b_16383b_frames;
 5037	__le64	tx_good_frames;
 5038	__le64	tx_total_frames;
 5039	__le64	tx_ucast_frames;
 5040	__le64	tx_mcast_frames;
 5041	__le64	tx_bcast_frames;
 5042	__le64	tx_pause_frames;
 5043	__le64	tx_pfc_frames;
 5044	__le64	tx_jabber_frames;
 5045	__le64	tx_fcs_err_frames;
 5046	__le64	tx_control_frames;
 5047	__le64	tx_oversz_frames;
 5048	__le64	tx_single_dfrl_frames;
 5049	__le64	tx_multi_dfrl_frames;
 5050	__le64	tx_single_coll_frames;
 5051	__le64	tx_multi_coll_frames;
 5052	__le64	tx_late_coll_frames;
 5053	__le64	tx_excessive_coll_frames;
 5054	__le64	tx_frag_frames;
 5055	__le64	tx_err;
 5056	__le64	tx_tagged_frames;
 5057	__le64	tx_dbl_tagged_frames;
 5058	__le64	tx_runt_frames;
 5059	__le64	tx_fifo_underruns;
 5060	__le64	tx_pfc_ena_frames_pri0;
 5061	__le64	tx_pfc_ena_frames_pri1;
 5062	__le64	tx_pfc_ena_frames_pri2;
 5063	__le64	tx_pfc_ena_frames_pri3;
 5064	__le64	tx_pfc_ena_frames_pri4;
 5065	__le64	tx_pfc_ena_frames_pri5;
 5066	__le64	tx_pfc_ena_frames_pri6;
 5067	__le64	tx_pfc_ena_frames_pri7;
 5068	__le64	tx_eee_lpi_events;
 5069	__le64	tx_eee_lpi_duration;
 5070	__le64	tx_llfc_logical_msgs;
 5071	__le64	tx_hcfc_msgs;
 5072	__le64	tx_total_collisions;
 5073	__le64	tx_bytes;
 5074	__le64	tx_xthol_frames;
 5075	__le64	tx_stat_discard;
 5076	__le64	tx_stat_error;
 5077};
 5078
 5079/* rx_port_stats (size:4224b/528B) */
 5080struct rx_port_stats {
 5081	__le64	rx_64b_frames;
 5082	__le64	rx_65b_127b_frames;
 5083	__le64	rx_128b_255b_frames;
 5084	__le64	rx_256b_511b_frames;
 5085	__le64	rx_512b_1023b_frames;
 5086	__le64	rx_1024b_1518b_frames;
 5087	__le64	rx_good_vlan_frames;
 5088	__le64	rx_1519b_2047b_frames;
 5089	__le64	rx_2048b_4095b_frames;
 5090	__le64	rx_4096b_9216b_frames;
 5091	__le64	rx_9217b_16383b_frames;
 5092	__le64	rx_total_frames;
 5093	__le64	rx_ucast_frames;
 5094	__le64	rx_mcast_frames;
 5095	__le64	rx_bcast_frames;
 5096	__le64	rx_fcs_err_frames;
 5097	__le64	rx_ctrl_frames;
 5098	__le64	rx_pause_frames;
 5099	__le64	rx_pfc_frames;
 5100	__le64	rx_unsupported_opcode_frames;
 5101	__le64	rx_unsupported_da_pausepfc_frames;
 5102	__le64	rx_wrong_sa_frames;
 5103	__le64	rx_align_err_frames;
 5104	__le64	rx_oor_len_frames;
 5105	__le64	rx_code_err_frames;
 5106	__le64	rx_false_carrier_frames;
 5107	__le64	rx_ovrsz_frames;
 5108	__le64	rx_jbr_frames;
 5109	__le64	rx_mtu_err_frames;
 5110	__le64	rx_match_crc_frames;
 5111	__le64	rx_promiscuous_frames;
 5112	__le64	rx_tagged_frames;
 5113	__le64	rx_double_tagged_frames;
 5114	__le64	rx_trunc_frames;
 5115	__le64	rx_good_frames;
 5116	__le64	rx_pfc_xon2xoff_frames_pri0;
 5117	__le64	rx_pfc_xon2xoff_frames_pri1;
 5118	__le64	rx_pfc_xon2xoff_frames_pri2;
 5119	__le64	rx_pfc_xon2xoff_frames_pri3;
 5120	__le64	rx_pfc_xon2xoff_frames_pri4;
 5121	__le64	rx_pfc_xon2xoff_frames_pri5;
 5122	__le64	rx_pfc_xon2xoff_frames_pri6;
 5123	__le64	rx_pfc_xon2xoff_frames_pri7;
 5124	__le64	rx_pfc_ena_frames_pri0;
 5125	__le64	rx_pfc_ena_frames_pri1;
 5126	__le64	rx_pfc_ena_frames_pri2;
 5127	__le64	rx_pfc_ena_frames_pri3;
 5128	__le64	rx_pfc_ena_frames_pri4;
 5129	__le64	rx_pfc_ena_frames_pri5;
 5130	__le64	rx_pfc_ena_frames_pri6;
 5131	__le64	rx_pfc_ena_frames_pri7;
 5132	__le64	rx_sch_crc_err_frames;
 5133	__le64	rx_undrsz_frames;
 5134	__le64	rx_frag_frames;
 5135	__le64	rx_eee_lpi_events;
 5136	__le64	rx_eee_lpi_duration;
 5137	__le64	rx_llfc_physical_msgs;
 5138	__le64	rx_llfc_logical_msgs;
 5139	__le64	rx_llfc_msgs_with_crc_err;
 5140	__le64	rx_hcfc_msgs;
 5141	__le64	rx_hcfc_msgs_with_crc_err;
 5142	__le64	rx_bytes;
 5143	__le64	rx_runt_bytes;
 5144	__le64	rx_runt_frames;
 5145	__le64	rx_stat_discard;
 5146	__le64	rx_stat_err;
 5147};
 5148
 5149/* hwrm_port_qstats_input (size:320b/40B) */
 5150struct hwrm_port_qstats_input {
 5151	__le16	req_type;
 5152	__le16	cmpl_ring;
 5153	__le16	seq_id;
 5154	__le16	target_id;
 5155	__le64	resp_addr;
 5156	__le16	port_id;
 5157	u8	flags;
 5158	#define PORT_QSTATS_REQ_FLAGS_COUNTER_MASK     0x1UL
 5159	u8	unused_0[5];
 5160	__le64	tx_stat_host_addr;
 5161	__le64	rx_stat_host_addr;
 5162};
 5163
 5164/* hwrm_port_qstats_output (size:128b/16B) */
 5165struct hwrm_port_qstats_output {
 5166	__le16	error_code;
 5167	__le16	req_type;
 5168	__le16	seq_id;
 5169	__le16	resp_len;
 5170	__le16	tx_stat_size;
 5171	__le16	rx_stat_size;
 5172	u8	flags;
 5173	#define PORT_QSTATS_RESP_FLAGS_CLEARED     0x1UL
 5174	u8	unused_0[2];
 5175	u8	valid;
 5176};
 5177
 5178/* tx_port_stats_ext (size:2048b/256B) */
 5179struct tx_port_stats_ext {
 5180	__le64	tx_bytes_cos0;
 5181	__le64	tx_bytes_cos1;
 5182	__le64	tx_bytes_cos2;
 5183	__le64	tx_bytes_cos3;
 5184	__le64	tx_bytes_cos4;
 5185	__le64	tx_bytes_cos5;
 5186	__le64	tx_bytes_cos6;
 5187	__le64	tx_bytes_cos7;
 5188	__le64	tx_packets_cos0;
 5189	__le64	tx_packets_cos1;
 5190	__le64	tx_packets_cos2;
 5191	__le64	tx_packets_cos3;
 5192	__le64	tx_packets_cos4;
 5193	__le64	tx_packets_cos5;
 5194	__le64	tx_packets_cos6;
 5195	__le64	tx_packets_cos7;
 5196	__le64	pfc_pri0_tx_duration_us;
 5197	__le64	pfc_pri0_tx_transitions;
 5198	__le64	pfc_pri1_tx_duration_us;
 5199	__le64	pfc_pri1_tx_transitions;
 5200	__le64	pfc_pri2_tx_duration_us;
 5201	__le64	pfc_pri2_tx_transitions;
 5202	__le64	pfc_pri3_tx_duration_us;
 5203	__le64	pfc_pri3_tx_transitions;
 5204	__le64	pfc_pri4_tx_duration_us;
 5205	__le64	pfc_pri4_tx_transitions;
 5206	__le64	pfc_pri5_tx_duration_us;
 5207	__le64	pfc_pri5_tx_transitions;
 5208	__le64	pfc_pri6_tx_duration_us;
 5209	__le64	pfc_pri6_tx_transitions;
 5210	__le64	pfc_pri7_tx_duration_us;
 5211	__le64	pfc_pri7_tx_transitions;
 5212};
 5213
 5214/* rx_port_stats_ext (size:3904b/488B) */
 5215struct rx_port_stats_ext {
 5216	__le64	link_down_events;
 5217	__le64	continuous_pause_events;
 5218	__le64	resume_pause_events;
 5219	__le64	continuous_roce_pause_events;
 5220	__le64	resume_roce_pause_events;
 5221	__le64	rx_bytes_cos0;
 5222	__le64	rx_bytes_cos1;
 5223	__le64	rx_bytes_cos2;
 5224	__le64	rx_bytes_cos3;
 5225	__le64	rx_bytes_cos4;
 5226	__le64	rx_bytes_cos5;
 5227	__le64	rx_bytes_cos6;
 5228	__le64	rx_bytes_cos7;
 5229	__le64	rx_packets_cos0;
 5230	__le64	rx_packets_cos1;
 5231	__le64	rx_packets_cos2;
 5232	__le64	rx_packets_cos3;
 5233	__le64	rx_packets_cos4;
 5234	__le64	rx_packets_cos5;
 5235	__le64	rx_packets_cos6;
 5236	__le64	rx_packets_cos7;
 5237	__le64	pfc_pri0_rx_duration_us;
 5238	__le64	pfc_pri0_rx_transitions;
 5239	__le64	pfc_pri1_rx_duration_us;
 5240	__le64	pfc_pri1_rx_transitions;
 5241	__le64	pfc_pri2_rx_duration_us;
 5242	__le64	pfc_pri2_rx_transitions;
 5243	__le64	pfc_pri3_rx_duration_us;
 5244	__le64	pfc_pri3_rx_transitions;
 5245	__le64	pfc_pri4_rx_duration_us;
 5246	__le64	pfc_pri4_rx_transitions;
 5247	__le64	pfc_pri5_rx_duration_us;
 5248	__le64	pfc_pri5_rx_transitions;
 5249	__le64	pfc_pri6_rx_duration_us;
 5250	__le64	pfc_pri6_rx_transitions;
 5251	__le64	pfc_pri7_rx_duration_us;
 5252	__le64	pfc_pri7_rx_transitions;
 5253	__le64	rx_bits;
 5254	__le64	rx_buffer_passed_threshold;
 5255	__le64	rx_pcs_symbol_err;
 5256	__le64	rx_corrected_bits;
 5257	__le64	rx_discard_bytes_cos0;
 5258	__le64	rx_discard_bytes_cos1;
 5259	__le64	rx_discard_bytes_cos2;
 5260	__le64	rx_discard_bytes_cos3;
 5261	__le64	rx_discard_bytes_cos4;
 5262	__le64	rx_discard_bytes_cos5;
 5263	__le64	rx_discard_bytes_cos6;
 5264	__le64	rx_discard_bytes_cos7;
 5265	__le64	rx_discard_packets_cos0;
 5266	__le64	rx_discard_packets_cos1;
 5267	__le64	rx_discard_packets_cos2;
 5268	__le64	rx_discard_packets_cos3;
 5269	__le64	rx_discard_packets_cos4;
 5270	__le64	rx_discard_packets_cos5;
 5271	__le64	rx_discard_packets_cos6;
 5272	__le64	rx_discard_packets_cos7;
 5273	__le64	rx_fec_corrected_blocks;
 5274	__le64	rx_fec_uncorrectable_blocks;
 5275	__le64	rx_filter_miss;
 5276	__le64	rx_fec_symbol_err;
 5277};
 5278
 5279/* hwrm_port_qstats_ext_input (size:320b/40B) */
 5280struct hwrm_port_qstats_ext_input {
 5281	__le16	req_type;
 5282	__le16	cmpl_ring;
 5283	__le16	seq_id;
 5284	__le16	target_id;
 5285	__le64	resp_addr;
 5286	__le16	port_id;
 5287	__le16	tx_stat_size;
 5288	__le16	rx_stat_size;
 5289	u8	flags;
 5290	#define PORT_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK     0x1UL
 5291	u8	unused_0;
 5292	__le64	tx_stat_host_addr;
 5293	__le64	rx_stat_host_addr;
 5294};
 5295
 5296/* hwrm_port_qstats_ext_output (size:128b/16B) */
 5297struct hwrm_port_qstats_ext_output {
 5298	__le16	error_code;
 5299	__le16	req_type;
 5300	__le16	seq_id;
 5301	__le16	resp_len;
 5302	__le16	tx_stat_size;
 5303	__le16	rx_stat_size;
 5304	__le16	total_active_cos_queues;
 5305	u8	flags;
 5306	#define PORT_QSTATS_EXT_RESP_FLAGS_CLEAR_ROCE_COUNTERS_SUPPORTED     0x1UL
 5307	#define PORT_QSTATS_EXT_RESP_FLAGS_CLEARED                           0x2UL
 5308	u8	valid;
 5309};
 5310
 5311/* hwrm_port_lpbk_qstats_input (size:256b/32B) */
 5312struct hwrm_port_lpbk_qstats_input {
 5313	__le16	req_type;
 5314	__le16	cmpl_ring;
 5315	__le16	seq_id;
 5316	__le16	target_id;
 5317	__le64	resp_addr;
 5318	__le16	lpbk_stat_size;
 5319	u8	flags;
 5320	#define PORT_LPBK_QSTATS_REQ_FLAGS_COUNTER_MASK     0x1UL
 5321	u8	unused_0[5];
 5322	__le64	lpbk_stat_host_addr;
 5323};
 5324
 5325/* hwrm_port_lpbk_qstats_output (size:128b/16B) */
 5326struct hwrm_port_lpbk_qstats_output {
 5327	__le16	error_code;
 5328	__le16	req_type;
 5329	__le16	seq_id;
 5330	__le16	resp_len;
 5331	__le16	lpbk_stat_size;
 5332	u8	unused_0[5];
 5333	u8	valid;
 5334};
 5335
 5336/* port_lpbk_stats (size:640b/80B) */
 5337struct port_lpbk_stats {
 5338	__le64	lpbk_ucast_frames;
 5339	__le64	lpbk_mcast_frames;
 5340	__le64	lpbk_bcast_frames;
 5341	__le64	lpbk_ucast_bytes;
 5342	__le64	lpbk_mcast_bytes;
 5343	__le64	lpbk_bcast_bytes;
 5344	__le64	lpbk_tx_discards;
 5345	__le64	lpbk_tx_errors;
 5346	__le64	lpbk_rx_discards;
 5347	__le64	lpbk_rx_errors;
 5348};
 5349
 5350/* hwrm_port_ecn_qstats_input (size:256b/32B) */
 5351struct hwrm_port_ecn_qstats_input {
 5352	__le16	req_type;
 5353	__le16	cmpl_ring;
 5354	__le16	seq_id;
 5355	__le16	target_id;
 5356	__le64	resp_addr;
 5357	__le16	port_id;
 5358	__le16	ecn_stat_buf_size;
 5359	u8	flags;
 5360	#define PORT_ECN_QSTATS_REQ_FLAGS_COUNTER_MASK     0x1UL
 5361	u8	unused_0[3];
 5362	__le64	ecn_stat_host_addr;
 5363};
 5364
 5365/* hwrm_port_ecn_qstats_output (size:128b/16B) */
 5366struct hwrm_port_ecn_qstats_output {
 5367	__le16	error_code;
 5368	__le16	req_type;
 5369	__le16	seq_id;
 5370	__le16	resp_len;
 5371	__le16	ecn_stat_buf_size;
 5372	u8	mark_en;
 5373	u8	unused_0[4];
 5374	u8	valid;
 5375};
 5376
 5377/* port_stats_ecn (size:512b/64B) */
 5378struct port_stats_ecn {
 5379	__le64	mark_cnt_cos0;
 5380	__le64	mark_cnt_cos1;
 5381	__le64	mark_cnt_cos2;
 5382	__le64	mark_cnt_cos3;
 5383	__le64	mark_cnt_cos4;
 5384	__le64	mark_cnt_cos5;
 5385	__le64	mark_cnt_cos6;
 5386	__le64	mark_cnt_cos7;
 5387};
 5388
 5389/* hwrm_port_clr_stats_input (size:192b/24B) */
 5390struct hwrm_port_clr_stats_input {
 5391	__le16	req_type;
 5392	__le16	cmpl_ring;
 5393	__le16	seq_id;
 5394	__le16	target_id;
 5395	__le64	resp_addr;
 5396	__le16	port_id;
 5397	u8	flags;
 5398	#define PORT_CLR_STATS_REQ_FLAGS_ROCE_COUNTERS     0x1UL
 5399	u8	unused_0[5];
 5400};
 5401
 5402/* hwrm_port_clr_stats_output (size:128b/16B) */
 5403struct hwrm_port_clr_stats_output {
 5404	__le16	error_code;
 5405	__le16	req_type;
 5406	__le16	seq_id;
 5407	__le16	resp_len;
 5408	u8	unused_0[7];
 5409	u8	valid;
 5410};
 5411
 5412/* hwrm_port_lpbk_clr_stats_input (size:192b/24B) */
 5413struct hwrm_port_lpbk_clr_stats_input {
 5414	__le16	req_type;
 5415	__le16	cmpl_ring;
 5416	__le16	seq_id;
 5417	__le16	target_id;
 5418	__le64	resp_addr;
 5419	__le16	port_id;
 5420	u8	unused_0[6];
 5421};
 5422
 5423/* hwrm_port_lpbk_clr_stats_output (size:128b/16B) */
 5424struct hwrm_port_lpbk_clr_stats_output {
 5425	__le16	error_code;
 5426	__le16	req_type;
 5427	__le16	seq_id;
 5428	__le16	resp_len;
 5429	u8	unused_0[7];
 5430	u8	valid;
 5431};
 5432
 5433/* hwrm_port_ts_query_input (size:320b/40B) */
 5434struct hwrm_port_ts_query_input {
 5435	__le16	req_type;
 5436	__le16	cmpl_ring;
 5437	__le16	seq_id;
 5438	__le16	target_id;
 5439	__le64	resp_addr;
 5440	__le32	flags;
 5441	#define PORT_TS_QUERY_REQ_FLAGS_PATH             0x1UL
 5442	#define PORT_TS_QUERY_REQ_FLAGS_PATH_TX            0x0UL
 5443	#define PORT_TS_QUERY_REQ_FLAGS_PATH_RX            0x1UL
 5444	#define PORT_TS_QUERY_REQ_FLAGS_PATH_LAST         PORT_TS_QUERY_REQ_FLAGS_PATH_RX
 5445	#define PORT_TS_QUERY_REQ_FLAGS_CURRENT_TIME     0x2UL
 5446	__le16	port_id;
 5447	u8	unused_0[2];
 5448	__le16	enables;
 5449	#define PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT     0x1UL
 5450	#define PORT_TS_QUERY_REQ_ENABLES_PTP_SEQ_ID         0x2UL
 5451	#define PORT_TS_QUERY_REQ_ENABLES_PTP_HDR_OFFSET     0x4UL
 5452	__le16	ts_req_timeout;
 5453	__le32	ptp_seq_id;
 5454	__le16	ptp_hdr_offset;
 5455	u8	unused_1[6];
 5456};
 5457
 5458/* hwrm_port_ts_query_output (size:192b/24B) */
 5459struct hwrm_port_ts_query_output {
 5460	__le16	error_code;
 5461	__le16	req_type;
 5462	__le16	seq_id;
 5463	__le16	resp_len;
 5464	__le64	ptp_msg_ts;
 5465	__le16	ptp_msg_seqid;
 5466	u8	unused_0[5];
 5467	u8	valid;
 5468};
 5469
 5470/* hwrm_port_phy_qcaps_input (size:192b/24B) */
 5471struct hwrm_port_phy_qcaps_input {
 5472	__le16	req_type;
 5473	__le16	cmpl_ring;
 5474	__le16	seq_id;
 5475	__le16	target_id;
 5476	__le64	resp_addr;
 5477	__le16	port_id;
 5478	u8	unused_0[6];
 5479};
 5480
 5481/* hwrm_port_phy_qcaps_output (size:320b/40B) */
 5482struct hwrm_port_phy_qcaps_output {
 5483	__le16	error_code;
 5484	__le16	req_type;
 5485	__le16	seq_id;
 5486	__le16	resp_len;
 5487	u8	flags;
 5488	#define PORT_PHY_QCAPS_RESP_FLAGS_EEE_SUPPORTED                    0x1UL
 5489	#define PORT_PHY_QCAPS_RESP_FLAGS_EXTERNAL_LPBK_SUPPORTED          0x2UL
 5490	#define PORT_PHY_QCAPS_RESP_FLAGS_AUTONEG_LPBK_SUPPORTED           0x4UL
 5491	#define PORT_PHY_QCAPS_RESP_FLAGS_SHARED_PHY_CFG_SUPPORTED         0x8UL
 5492	#define PORT_PHY_QCAPS_RESP_FLAGS_CUMULATIVE_COUNTERS_ON_RESET     0x10UL
 5493	#define PORT_PHY_QCAPS_RESP_FLAGS_LOCAL_LPBK_NOT_SUPPORTED         0x20UL
 5494	#define PORT_PHY_QCAPS_RESP_FLAGS_FW_MANAGED_LINK_DOWN             0x40UL
 5495	#define PORT_PHY_QCAPS_RESP_FLAGS_NO_FCS                           0x80UL
 5496	u8	port_cnt;
 5497	#define PORT_PHY_QCAPS_RESP_PORT_CNT_UNKNOWN 0x0UL
 5498	#define PORT_PHY_QCAPS_RESP_PORT_CNT_1       0x1UL
 5499	#define PORT_PHY_QCAPS_RESP_PORT_CNT_2       0x2UL
 5500	#define PORT_PHY_QCAPS_RESP_PORT_CNT_3       0x3UL
 5501	#define PORT_PHY_QCAPS_RESP_PORT_CNT_4       0x4UL
 5502	#define PORT_PHY_QCAPS_RESP_PORT_CNT_12      0xcUL
 5503	#define PORT_PHY_QCAPS_RESP_PORT_CNT_LAST   PORT_PHY_QCAPS_RESP_PORT_CNT_12
 5504	__le16	supported_speeds_force_mode;
 5505	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MBHD     0x1UL
 5506	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MB       0x2UL
 5507	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GBHD       0x4UL
 5508	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GB         0x8UL
 5509	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2GB         0x10UL
 5510	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2_5GB       0x20UL
 5511	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10GB        0x40UL
 5512	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_20GB        0x80UL
 5513	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_25GB        0x100UL
 5514	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_40GB        0x200UL
 5515	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_50GB        0x400UL
 5516	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100GB       0x800UL
 5517	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MBHD      0x1000UL
 5518	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MB        0x2000UL
 5519	__le16	supported_speeds_auto_mode;
 5520	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MBHD     0x1UL
 5521	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MB       0x2UL
 5522	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GBHD       0x4UL
 5523	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GB         0x8UL
 5524	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2GB         0x10UL
 5525	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2_5GB       0x20UL
 5526	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10GB        0x40UL
 5527	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_20GB        0x80UL
 5528	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_25GB        0x100UL
 5529	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_40GB        0x200UL
 5530	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_50GB        0x400UL
 5531	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100GB       0x800UL
 5532	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MBHD      0x1000UL
 5533	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MB        0x2000UL
 5534	__le16	supported_speeds_eee_mode;
 5535	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD1     0x1UL
 5536	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_100MB     0x2UL
 5537	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD2     0x4UL
 5538	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_1GB       0x8UL
 5539	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD3     0x10UL
 5540	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD4     0x20UL
 5541	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_10GB      0x40UL
 5542	__le32	tx_lpi_timer_low;
 5543	#define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_MASK 0xffffffUL
 5544	#define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_SFT 0
 5545	#define PORT_PHY_QCAPS_RESP_RSVD2_MASK           0xff000000UL
 5546	#define PORT_PHY_QCAPS_RESP_RSVD2_SFT            24
 5547	__le32	valid_tx_lpi_timer_high;
 5548	#define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK 0xffffffUL
 5549	#define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_SFT 0
 5550	#define PORT_PHY_QCAPS_RESP_RSVD_MASK             0xff000000UL
 5551	#define PORT_PHY_QCAPS_RESP_RSVD_SFT              24
 5552	__le16	supported_pam4_speeds_auto_mode;
 5553	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_50G      0x1UL
 5554	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_100G     0x2UL
 5555	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_200G     0x4UL
 5556	__le16	supported_pam4_speeds_force_mode;
 5557	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_50G      0x1UL
 5558	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_100G     0x2UL
 5559	#define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_200G     0x4UL
 5560	__le16	flags2;
 5561	#define PORT_PHY_QCAPS_RESP_FLAGS2_PAUSE_UNSUPPORTED           0x1UL
 5562	#define PORT_PHY_QCAPS_RESP_FLAGS2_PFC_UNSUPPORTED             0x2UL
 5563	#define PORT_PHY_QCAPS_RESP_FLAGS2_BANK_ADDR_SUPPORTED         0x4UL
 5564	#define PORT_PHY_QCAPS_RESP_FLAGS2_SPEEDS2_SUPPORTED           0x8UL
 5565	#define PORT_PHY_QCAPS_RESP_FLAGS2_REMOTE_LPBK_UNSUPPORTED     0x10UL
 5566	u8	internal_port_cnt;
 5567	u8	unused_0;
 5568	__le16	supported_speeds2_force_mode;
 5569	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_1GB                0x1UL
 5570	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_10GB               0x2UL
 5571	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_25GB               0x4UL
 5572	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_40GB               0x8UL
 5573	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_50GB               0x10UL
 5574	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_100GB              0x20UL
 5575	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_50GB_PAM4_56       0x40UL
 5576	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_100GB_PAM4_56      0x80UL
 5577	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_200GB_PAM4_56      0x100UL
 5578	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_400GB_PAM4_56      0x200UL
 5579	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_100GB_PAM4_112     0x400UL
 5580	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_200GB_PAM4_112     0x800UL
 5581	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_400GB_PAM4_112     0x1000UL
 5582	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_FORCE_MODE_800GB_PAM4_112     0x2000UL
 5583	__le16	supported_speeds2_auto_mode;
 5584	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_1GB                0x1UL
 5585	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_10GB               0x2UL
 5586	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_25GB               0x4UL
 5587	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_40GB               0x8UL
 5588	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_50GB               0x10UL
 5589	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_100GB              0x20UL
 5590	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_50GB_PAM4_56       0x40UL
 5591	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_100GB_PAM4_56      0x80UL
 5592	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_200GB_PAM4_56      0x100UL
 5593	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_400GB_PAM4_56      0x200UL
 5594	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_100GB_PAM4_112     0x400UL
 5595	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_200GB_PAM4_112     0x800UL
 5596	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_400GB_PAM4_112     0x1000UL
 5597	#define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS2_AUTO_MODE_800GB_PAM4_112     0x2000UL
 5598	u8	unused_1[3];
 5599	u8	valid;
 5600};
 5601
 5602/* hwrm_port_phy_i2c_write_input (size:832b/104B) */
 5603struct hwrm_port_phy_i2c_write_input {
 5604	__le16	req_type;
 5605	__le16	cmpl_ring;
 5606	__le16	seq_id;
 5607	__le16	target_id;
 5608	__le64	resp_addr;
 5609	__le32	flags;
 5610	__le32	enables;
 5611	#define PORT_PHY_I2C_WRITE_REQ_ENABLES_PAGE_OFFSET     0x1UL
 5612	#define PORT_PHY_I2C_WRITE_REQ_ENABLES_BANK_NUMBER     0x2UL
 5613	__le16	port_id;
 5614	u8	i2c_slave_addr;
 5615	u8	bank_number;
 5616	__le16	page_number;
 5617	__le16	page_offset;
 5618	u8	data_length;
 5619	u8	unused_1[7];
 5620	__le32	data[16];
 5621};
 5622
 5623/* hwrm_port_phy_i2c_write_output (size:128b/16B) */
 5624struct hwrm_port_phy_i2c_write_output {
 5625	__le16	error_code;
 5626	__le16	req_type;
 5627	__le16	seq_id;
 5628	__le16	resp_len;
 5629	u8	unused_0[7];
 5630	u8	valid;
 5631};
 5632
 5633/* hwrm_port_phy_i2c_read_input (size:320b/40B) */
 5634struct hwrm_port_phy_i2c_read_input {
 5635	__le16	req_type;
 5636	__le16	cmpl_ring;
 5637	__le16	seq_id;
 5638	__le16	target_id;
 5639	__le64	resp_addr;
 5640	__le32	flags;
 5641	__le32	enables;
 5642	#define PORT_PHY_I2C_READ_REQ_ENABLES_PAGE_OFFSET     0x1UL
 5643	#define PORT_PHY_I2C_READ_REQ_ENABLES_BANK_NUMBER     0x2UL
 5644	__le16	port_id;
 5645	u8	i2c_slave_addr;
 5646	u8	bank_number;
 5647	__le16	page_number;
 5648	__le16	page_offset;
 5649	u8	data_length;
 5650	u8	unused_1[7];
 5651};
 5652
 5653/* hwrm_port_phy_i2c_read_output (size:640b/80B) */
 5654struct hwrm_port_phy_i2c_read_output {
 5655	__le16	error_code;
 5656	__le16	req_type;
 5657	__le16	seq_id;
 5658	__le16	resp_len;
 5659	__le32	data[16];
 5660	u8	unused_0[7];
 5661	u8	valid;
 5662};
 5663
 5664/* hwrm_port_phy_mdio_write_input (size:320b/40B) */
 5665struct hwrm_port_phy_mdio_write_input {
 5666	__le16	req_type;
 5667	__le16	cmpl_ring;
 5668	__le16	seq_id;
 5669	__le16	target_id;
 5670	__le64	resp_addr;
 5671	__le32	unused_0[2];
 5672	__le16	port_id;
 5673	u8	phy_addr;
 5674	u8	dev_addr;
 5675	__le16	reg_addr;
 5676	__le16	reg_data;
 5677	u8	cl45_mdio;
 5678	u8	unused_1[7];
 5679};
 5680
 5681/* hwrm_port_phy_mdio_write_output (size:128b/16B) */
 5682struct hwrm_port_phy_mdio_write_output {
 5683	__le16	error_code;
 5684	__le16	req_type;
 5685	__le16	seq_id;
 5686	__le16	resp_len;
 5687	u8	unused_0[7];
 5688	u8	valid;
 5689};
 5690
 5691/* hwrm_port_phy_mdio_read_input (size:256b/32B) */
 5692struct hwrm_port_phy_mdio_read_input {
 5693	__le16	req_type;
 5694	__le16	cmpl_ring;
 5695	__le16	seq_id;
 5696	__le16	target_id;
 5697	__le64	resp_addr;
 5698	__le32	unused_0[2];
 5699	__le16	port_id;
 5700	u8	phy_addr;
 5701	u8	dev_addr;
 5702	__le16	reg_addr;
 5703	u8	cl45_mdio;
 5704	u8	unused_1;
 5705};
 5706
 5707/* hwrm_port_phy_mdio_read_output (size:128b/16B) */
 5708struct hwrm_port_phy_mdio_read_output {
 5709	__le16	error_code;
 5710	__le16	req_type;
 5711	__le16	seq_id;
 5712	__le16	resp_len;
 5713	__le16	reg_data;
 5714	u8	unused_0[5];
 5715	u8	valid;
 5716};
 5717
 5718/* hwrm_port_led_cfg_input (size:512b/64B) */
 5719struct hwrm_port_led_cfg_input {
 5720	__le16	req_type;
 5721	__le16	cmpl_ring;
 5722	__le16	seq_id;
 5723	__le16	target_id;
 5724	__le64	resp_addr;
 5725	__le32	enables;
 5726	#define PORT_LED_CFG_REQ_ENABLES_LED0_ID            0x1UL
 5727	#define PORT_LED_CFG_REQ_ENABLES_LED0_STATE         0x2UL
 5728	#define PORT_LED_CFG_REQ_ENABLES_LED0_COLOR         0x4UL
 5729	#define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON      0x8UL
 5730	#define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF     0x10UL
 5731	#define PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID      0x20UL
 5732	#define PORT_LED_CFG_REQ_ENABLES_LED1_ID            0x40UL
 5733	#define PORT_LED_CFG_REQ_ENABLES_LED1_STATE         0x80UL
 5734	#define PORT_LED_CFG_REQ_ENABLES_LED1_COLOR         0x100UL
 5735	#define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_ON      0x200UL
 5736	#define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_OFF     0x400UL
 5737	#define PORT_LED_CFG_REQ_ENABLES_LED1_GROUP_ID      0x800UL
 5738	#define PORT_LED_CFG_REQ_ENABLES_LED2_ID            0x1000UL
 5739	#define PORT_LED_CFG_REQ_ENABLES_LED2_STATE         0x2000UL
 5740	#define PORT_LED_CFG_REQ_ENABLES_LED2_COLOR         0x4000UL
 5741	#define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_ON      0x8000UL
 5742	#define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_OFF     0x10000UL
 5743	#define PORT_LED_CFG_REQ_ENABLES_LED2_GROUP_ID      0x20000UL
 5744	#define PORT_LED_CFG_REQ_ENABLES_LED3_ID            0x40000UL
 5745	#define PORT_LED_CFG_REQ_ENABLES_LED3_STATE         0x80000UL
 5746	#define PORT_LED_CFG_REQ_ENABLES_LED3_COLOR         0x100000UL
 5747	#define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_ON      0x200000UL
 5748	#define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_OFF     0x400000UL
 5749	#define PORT_LED_CFG_REQ_ENABLES_LED3_GROUP_ID      0x800000UL
 5750	__le16	port_id;
 5751	u8	num_leds;
 5752	u8	rsvd;
 5753	u8	led0_id;
 5754	u8	led0_state;
 5755	#define PORT_LED_CFG_REQ_LED0_STATE_DEFAULT  0x0UL
 5756	#define PORT_LED_CFG_REQ_LED0_STATE_OFF      0x1UL
 5757	#define PORT_LED_CFG_REQ_LED0_STATE_ON       0x2UL
 5758	#define PORT_LED_CFG_REQ_LED0_STATE_BLINK    0x3UL
 5759	#define PORT_LED_CFG_REQ_LED0_STATE_BLINKALT 0x4UL
 5760	#define PORT_LED_CFG_REQ_LED0_STATE_LAST    PORT_LED_CFG_REQ_LED0_STATE_BLINKALT
 5761	u8	led0_color;
 5762	#define PORT_LED_CFG_REQ_LED0_COLOR_DEFAULT    0x0UL
 5763	#define PORT_LED_CFG_REQ_LED0_COLOR_AMBER      0x1UL
 5764	#define PORT_LED_CFG_REQ_LED0_COLOR_GREEN      0x2UL
 5765	#define PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER 0x3UL
 5766	#define PORT_LED_CFG_REQ_LED0_COLOR_LAST      PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER
 5767	u8	unused_0;
 5768	__le16	led0_blink_on;
 5769	__le16	led0_blink_off;
 5770	u8	led0_group_id;
 5771	u8	rsvd0;
 5772	u8	led1_id;
 5773	u8	led1_state;
 5774	#define PORT_LED_CFG_REQ_LED1_STATE_DEFAULT  0x0UL
 5775	#define PORT_LED_CFG_REQ_LED1_STATE_OFF      0x1UL
 5776	#define PORT_LED_CFG_REQ_LED1_STATE_ON       0x2UL
 5777	#define PORT_LED_CFG_REQ_LED1_STATE_BLINK    0x3UL
 5778	#define PORT_LED_CFG_REQ_LED1_STATE_BLINKALT 0x4UL
 5779	#define PORT_LED_CFG_REQ_LED1_STATE_LAST    PORT_LED_CFG_REQ_LED1_STATE_BLINKALT
 5780	u8	led1_color;
 5781	#define PORT_LED_CFG_REQ_LED1_COLOR_DEFAULT    0x0UL
 5782	#define PORT_LED_CFG_REQ_LED1_COLOR_AMBER      0x1UL
 5783	#define PORT_LED_CFG_REQ_LED1_COLOR_GREEN      0x2UL
 5784	#define PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER 0x3UL
 5785	#define PORT_LED_CFG_REQ_LED1_COLOR_LAST      PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER
 5786	u8	unused_1;
 5787	__le16	led1_blink_on;
 5788	__le16	led1_blink_off;
 5789	u8	led1_group_id;
 5790	u8	rsvd1;
 5791	u8	led2_id;
 5792	u8	led2_state;
 5793	#define PORT_LED_CFG_REQ_LED2_STATE_DEFAULT  0x0UL
 5794	#define PORT_LED_CFG_REQ_LED2_STATE_OFF      0x1UL
 5795	#define PORT_LED_CFG_REQ_LED2_STATE_ON       0x2UL
 5796	#define PORT_LED_CFG_REQ_LED2_STATE_BLINK    0x3UL
 5797	#define PORT_LED_CFG_REQ_LED2_STATE_BLINKALT 0x4UL
 5798	#define PORT_LED_CFG_REQ_LED2_STATE_LAST    PORT_LED_CFG_REQ_LED2_STATE_BLINKALT
 5799	u8	led2_color;
 5800	#define PORT_LED_CFG_REQ_LED2_COLOR_DEFAULT    0x0UL
 5801	#define PORT_LED_CFG_REQ_LED2_COLOR_AMBER      0x1UL
 5802	#define PORT_LED_CFG_REQ_LED2_COLOR_GREEN      0x2UL
 5803	#define PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER 0x3UL
 5804	#define PORT_LED_CFG_REQ_LED2_COLOR_LAST      PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER
 5805	u8	unused_2;
 5806	__le16	led2_blink_on;
 5807	__le16	led2_blink_off;
 5808	u8	led2_group_id;
 5809	u8	rsvd2;
 5810	u8	led3_id;
 5811	u8	led3_state;
 5812	#define PORT_LED_CFG_REQ_LED3_STATE_DEFAULT  0x0UL
 5813	#define PORT_LED_CFG_REQ_LED3_STATE_OFF      0x1UL
 5814	#define PORT_LED_CFG_REQ_LED3_STATE_ON       0x2UL
 5815	#define PORT_LED_CFG_REQ_LED3_STATE_BLINK    0x3UL
 5816	#define PORT_LED_CFG_REQ_LED3_STATE_BLINKALT 0x4UL
 5817	#define PORT_LED_CFG_REQ_LED3_STATE_LAST    PORT_LED_CFG_REQ_LED3_STATE_BLINKALT
 5818	u8	led3_color;
 5819	#define PORT_LED_CFG_REQ_LED3_COLOR_DEFAULT    0x0UL
 5820	#define PORT_LED_CFG_REQ_LED3_COLOR_AMBER      0x1UL
 5821	#define PORT_LED_CFG_REQ_LED3_COLOR_GREEN      0x2UL
 5822	#define PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER 0x3UL
 5823	#define PORT_LED_CFG_REQ_LED3_COLOR_LAST      PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER
 5824	u8	unused_3;
 5825	__le16	led3_blink_on;
 5826	__le16	led3_blink_off;
 5827	u8	led3_group_id;
 5828	u8	rsvd3;
 5829};
 5830
 5831/* hwrm_port_led_cfg_output (size:128b/16B) */
 5832struct hwrm_port_led_cfg_output {
 5833	__le16	error_code;
 5834	__le16	req_type;
 5835	__le16	seq_id;
 5836	__le16	resp_len;
 5837	u8	unused_0[7];
 5838	u8	valid;
 5839};
 5840
 5841/* hwrm_port_led_qcfg_input (size:192b/24B) */
 5842struct hwrm_port_led_qcfg_input {
 5843	__le16	req_type;
 5844	__le16	cmpl_ring;
 5845	__le16	seq_id;
 5846	__le16	target_id;
 5847	__le64	resp_addr;
 5848	__le16	port_id;
 5849	u8	unused_0[6];
 5850};
 5851
 5852/* hwrm_port_led_qcfg_output (size:448b/56B) */
 5853struct hwrm_port_led_qcfg_output {
 5854	__le16	error_code;
 5855	__le16	req_type;
 5856	__le16	seq_id;
 5857	__le16	resp_len;
 5858	u8	num_leds;
 5859	u8	led0_id;
 5860	u8	led0_type;
 5861	#define PORT_LED_QCFG_RESP_LED0_TYPE_SPEED    0x0UL
 5862	#define PORT_LED_QCFG_RESP_LED0_TYPE_ACTIVITY 0x1UL
 5863	#define PORT_LED_QCFG_RESP_LED0_TYPE_INVALID  0xffUL
 5864	#define PORT_LED_QCFG_RESP_LED0_TYPE_LAST    PORT_LED_QCFG_RESP_LED0_TYPE_INVALID
 5865	u8	led0_state;
 5866	#define PORT_LED_QCFG_RESP_LED0_STATE_DEFAULT  0x0UL
 5867	#define PORT_LED_QCFG_RESP_LED0_STATE_OFF      0x1UL
 5868	#define PORT_LED_QCFG_RESP_LED0_STATE_ON       0x2UL
 5869	#define PORT_LED_QCFG_RESP_LED0_STATE_BLINK    0x3UL
 5870	#define PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT 0x4UL
 5871	#define PORT_LED_QCFG_RESP_LED0_STATE_LAST    PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT
 5872	u8	led0_color;
 5873	#define PORT_LED_QCFG_RESP_LED0_COLOR_DEFAULT    0x0UL
 5874	#define PORT_LED_QCFG_RESP_LED0_COLOR_AMBER      0x1UL
 5875	#define PORT_LED_QCFG_RESP_LED0_COLOR_GREEN      0x2UL
 5876	#define PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER 0x3UL
 5877	#define PORT_LED_QCFG_RESP_LED0_COLOR_LAST      PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER
 5878	u8	unused_0;
 5879	__le16	led0_blink_on;
 5880	__le16	led0_blink_off;
 5881	u8	led0_group_id;
 5882	u8	led1_id;
 5883	u8	led1_type;
 5884	#define PORT_LED_QCFG_RESP_LED1_TYPE_SPEED    0x0UL
 5885	#define PORT_LED_QCFG_RESP_LED1_TYPE_ACTIVITY 0x1UL
 5886	#define PORT_LED_QCFG_RESP_LED1_TYPE_INVALID  0xffUL
 5887	#define PORT_LED_QCFG_RESP_LED1_TYPE_LAST    PORT_LED_QCFG_RESP_LED1_TYPE_INVALID
 5888	u8	led1_state;
 5889	#define PORT_LED_QCFG_RESP_LED1_STATE_DEFAULT  0x0UL
 5890	#define PORT_LED_QCFG_RESP_LED1_STATE_OFF      0x1UL
 5891	#define PORT_LED_QCFG_RESP_LED1_STATE_ON       0x2UL
 5892	#define PORT_LED_QCFG_RESP_LED1_STATE_BLINK    0x3UL
 5893	#define PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT 0x4UL
 5894	#define PORT_LED_QCFG_RESP_LED1_STATE_LAST    PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT
 5895	u8	led1_color;
 5896	#define PORT_LED_QCFG_RESP_LED1_COLOR_DEFAULT    0x0UL
 5897	#define PORT_LED_QCFG_RESP_LED1_COLOR_AMBER      0x1UL
 5898	#define PORT_LED_QCFG_RESP_LED1_COLOR_GREEN      0x2UL
 5899	#define PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER 0x3UL
 5900	#define PORT_LED_QCFG_RESP_LED1_COLOR_LAST      PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER
 5901	u8	unused_1;
 5902	__le16	led1_blink_on;
 5903	__le16	led1_blink_off;
 5904	u8	led1_group_id;
 5905	u8	led2_id;
 5906	u8	led2_type;
 5907	#define PORT_LED_QCFG_RESP_LED2_TYPE_SPEED    0x0UL
 5908	#define PORT_LED_QCFG_RESP_LED2_TYPE_ACTIVITY 0x1UL
 5909	#define PORT_LED_QCFG_RESP_LED2_TYPE_INVALID  0xffUL
 5910	#define PORT_LED_QCFG_RESP_LED2_TYPE_LAST    PORT_LED_QCFG_RESP_LED2_TYPE_INVALID
 5911	u8	led2_state;
 5912	#define PORT_LED_QCFG_RESP_LED2_STATE_DEFAULT  0x0UL
 5913	#define PORT_LED_QCFG_RESP_LED2_STATE_OFF      0x1UL
 5914	#define PORT_LED_QCFG_RESP_LED2_STATE_ON       0x2UL
 5915	#define PORT_LED_QCFG_RESP_LED2_STATE_BLINK    0x3UL
 5916	#define PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT 0x4UL
 5917	#define PORT_LED_QCFG_RESP_LED2_STATE_LAST    PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT
 5918	u8	led2_color;
 5919	#define PORT_LED_QCFG_RESP_LED2_COLOR_DEFAULT    0x0UL
 5920	#define PORT_LED_QCFG_RESP_LED2_COLOR_AMBER      0x1UL
 5921	#define PORT_LED_QCFG_RESP_LED2_COLOR_GREEN      0x2UL
 5922	#define PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER 0x3UL
 5923	#define PORT_LED_QCFG_RESP_LED2_COLOR_LAST      PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER
 5924	u8	unused_2;
 5925	__le16	led2_blink_on;
 5926	__le16	led2_blink_off;
 5927	u8	led2_group_id;
 5928	u8	led3_id;
 5929	u8	led3_type;
 5930	#define PORT_LED_QCFG_RESP_LED3_TYPE_SPEED    0x0UL
 5931	#define PORT_LED_QCFG_RESP_LED3_TYPE_ACTIVITY 0x1UL
 5932	#define PORT_LED_QCFG_RESP_LED3_TYPE_INVALID  0xffUL
 5933	#define PORT_LED_QCFG_RESP_LED3_TYPE_LAST    PORT_LED_QCFG_RESP_LED3_TYPE_INVALID
 5934	u8	led3_state;
 5935	#define PORT_LED_QCFG_RESP_LED3_STATE_DEFAULT  0x0UL
 5936	#define PORT_LED_QCFG_RESP_LED3_STATE_OFF      0x1UL
 5937	#define PORT_LED_QCFG_RESP_LED3_STATE_ON       0x2UL
 5938	#define PORT_LED_QCFG_RESP_LED3_STATE_BLINK    0x3UL
 5939	#define PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT 0x4UL
 5940	#define PORT_LED_QCFG_RESP_LED3_STATE_LAST    PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT
 5941	u8	led3_color;
 5942	#define PORT_LED_QCFG_RESP_LED3_COLOR_DEFAULT    0x0UL
 5943	#define PORT_LED_QCFG_RESP_LED3_COLOR_AMBER      0x1UL
 5944	#define PORT_LED_QCFG_RESP_LED3_COLOR_GREEN      0x2UL
 5945	#define PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER 0x3UL
 5946	#define PORT_LED_QCFG_RESP_LED3_COLOR_LAST      PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER
 5947	u8	unused_3;
 5948	__le16	led3_blink_on;
 5949	__le16	led3_blink_off;
 5950	u8	led3_group_id;
 5951	u8	unused_4[6];
 5952	u8	valid;
 5953};
 5954
 5955/* hwrm_port_led_qcaps_input (size:192b/24B) */
 5956struct hwrm_port_led_qcaps_input {
 5957	__le16	req_type;
 5958	__le16	cmpl_ring;
 5959	__le16	seq_id;
 5960	__le16	target_id;
 5961	__le64	resp_addr;
 5962	__le16	port_id;
 5963	u8	unused_0[6];
 5964};
 5965
 5966/* hwrm_port_led_qcaps_output (size:384b/48B) */
 5967struct hwrm_port_led_qcaps_output {
 5968	__le16	error_code;
 5969	__le16	req_type;
 5970	__le16	seq_id;
 5971	__le16	resp_len;
 5972	u8	num_leds;
 5973	u8	unused[3];
 5974	u8	led0_id;
 5975	u8	led0_type;
 5976	#define PORT_LED_QCAPS_RESP_LED0_TYPE_SPEED    0x0UL
 5977	#define PORT_LED_QCAPS_RESP_LED0_TYPE_ACTIVITY 0x1UL
 5978	#define PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID  0xffUL
 5979	#define PORT_LED_QCAPS_RESP_LED0_TYPE_LAST    PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID
 5980	u8	led0_group_id;
 5981	u8	unused_0;
 5982	__le16	led0_state_caps;
 5983	#define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ENABLED                 0x1UL
 5984	#define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_OFF_SUPPORTED           0x2UL
 5985	#define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ON_SUPPORTED            0x4UL
 5986	#define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_SUPPORTED         0x8UL
 5987	#define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_ALT_SUPPORTED     0x10UL
 5988	__le16	led0_color_caps;
 5989	#define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_RSVD                 0x1UL
 5990	#define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_AMBER_SUPPORTED      0x2UL
 5991	#define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_GREEN_SUPPORTED      0x4UL
 5992	#define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_GRNAMB_SUPPORTED     0x8UL
 5993	u8	led1_id;
 5994	u8	led1_type;
 5995	#define PORT_LED_QCAPS_RESP_LED1_TYPE_SPEED    0x0UL
 5996	#define PORT_LED_QCAPS_RESP_LED1_TYPE_ACTIVITY 0x1UL
 5997	#define PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID  0xffUL
 5998	#define PORT_LED_QCAPS_RESP_LED1_TYPE_LAST    PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID
 5999	u8	led1_group_id;
 6000	u8	unused_1;
 6001	__le16	led1_state_caps;
 6002	#define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ENABLED                 0x1UL
 6003	#define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_OFF_SUPPORTED           0x2UL
 6004	#define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ON_SUPPORTED            0x4UL
 6005	#define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_SUPPORTED         0x8UL
 6006	#define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_ALT_SUPPORTED     0x10UL
 6007	__le16	led1_color_caps;
 6008	#define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_RSVD                 0x1UL
 6009	#define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_AMBER_SUPPORTED      0x2UL
 6010	#define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_GREEN_SUPPORTED      0x4UL
 6011	#define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_GRNAMB_SUPPORTED     0x8UL
 6012	u8	led2_id;
 6013	u8	led2_type;
 6014	#define PORT_LED_QCAPS_RESP_LED2_TYPE_SPEED    0x0UL
 6015	#define PORT_LED_QCAPS_RESP_LED2_TYPE_ACTIVITY 0x1UL
 6016	#define PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID  0xffUL
 6017	#define PORT_LED_QCAPS_RESP_LED2_TYPE_LAST    PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID
 6018	u8	led2_group_id;
 6019	u8	unused_2;
 6020	__le16	led2_state_caps;
 6021	#define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ENABLED                 0x1UL
 6022	#define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_OFF_SUPPORTED           0x2UL
 6023	#define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ON_SUPPORTED            0x4UL
 6024	#define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_SUPPORTED         0x8UL
 6025	#define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_ALT_SUPPORTED     0x10UL
 6026	__le16	led2_color_caps;
 6027	#define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_RSVD                 0x1UL
 6028	#define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_AMBER_SUPPORTED      0x2UL
 6029	#define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_GREEN_SUPPORTED      0x4UL
 6030	#define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_GRNAMB_SUPPORTED     0x8UL
 6031	u8	led3_id;
 6032	u8	led3_type;
 6033	#define PORT_LED_QCAPS_RESP_LED3_TYPE_SPEED    0x0UL
 6034	#define PORT_LED_QCAPS_RESP_LED3_TYPE_ACTIVITY 0x1UL
 6035	#define PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID  0xffUL
 6036	#define PORT_LED_QCAPS_RESP_LED3_TYPE_LAST    PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID
 6037	u8	led3_group_id;
 6038	u8	unused_3;
 6039	__le16	led3_state_caps;
 6040	#define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ENABLED                 0x1UL
 6041	#define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_OFF_SUPPORTED           0x2UL
 6042	#define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ON_SUPPORTED            0x4UL
 6043	#define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_SUPPORTED         0x8UL
 6044	#define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_ALT_SUPPORTED     0x10UL
 6045	__le16	led3_color_caps;
 6046	#define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_RSVD                 0x1UL
 6047	#define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_AMBER_SUPPORTED      0x2UL
 6048	#define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_GREEN_SUPPORTED      0x4UL
 6049	#define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_GRNAMB_SUPPORTED     0x8UL
 6050	u8	unused_4[3];
 6051	u8	valid;
 6052};
 6053
 6054/* hwrm_port_mac_qcaps_input (size:192b/24B) */
 6055struct hwrm_port_mac_qcaps_input {
 6056	__le16	req_type;
 6057	__le16	cmpl_ring;
 6058	__le16	seq_id;
 6059	__le16	target_id;
 6060	__le64	resp_addr;
 6061	__le16	port_id;
 6062	u8	unused_0[6];
 6063};
 6064
 6065/* hwrm_port_mac_qcaps_output (size:128b/16B) */
 6066struct hwrm_port_mac_qcaps_output {
 6067	__le16	error_code;
 6068	__le16	req_type;
 6069	__le16	seq_id;
 6070	__le16	resp_len;
 6071	u8	flags;
 6072	#define PORT_MAC_QCAPS_RESP_FLAGS_LOCAL_LPBK_NOT_SUPPORTED     0x1UL
 6073	#define PORT_MAC_QCAPS_RESP_FLAGS_REMOTE_LPBK_SUPPORTED        0x2UL
 6074	u8	unused_0[6];
 6075	u8	valid;
 6076};
 6077
 6078/* hwrm_queue_qportcfg_input (size:192b/24B) */
 6079struct hwrm_queue_qportcfg_input {
 6080	__le16	req_type;
 6081	__le16	cmpl_ring;
 6082	__le16	seq_id;
 6083	__le16	target_id;
 6084	__le64	resp_addr;
 6085	__le32	flags;
 6086	#define QUEUE_QPORTCFG_REQ_FLAGS_PATH     0x1UL
 6087	#define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX    0x0UL
 6088	#define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX    0x1UL
 6089	#define QUEUE_QPORTCFG_REQ_FLAGS_PATH_LAST QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX
 6090	__le16	port_id;
 6091	u8	drv_qmap_cap;
 6092	#define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_DISABLED 0x0UL
 6093	#define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_ENABLED  0x1UL
 6094	#define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_LAST    QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_ENABLED
 6095	u8	unused_0;
 6096};
 6097
 6098/* hwrm_queue_qportcfg_output (size:1344b/168B) */
 6099struct hwrm_queue_qportcfg_output {
 6100	__le16	error_code;
 6101	__le16	req_type;
 6102	__le16	seq_id;
 6103	__le16	resp_len;
 6104	u8	max_configurable_queues;
 6105	u8	max_configurable_lossless_queues;
 6106	u8	queue_cfg_allowed;
 6107	u8	queue_cfg_info;
 6108	#define QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG             0x1UL
 6109	#define QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_USE_PROFILE_TYPE     0x2UL
 6110	u8	queue_pfcenable_cfg_allowed;
 6111	u8	queue_pri2cos_cfg_allowed;
 6112	u8	queue_cos2bw_cfg_allowed;
 6113	u8	queue_id0;
 6114	u8	queue_id0_service_profile;
 6115	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY          0x0UL
 6116	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS       0x1UL
 6117	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6118	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6119	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6120	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN        0xffUL
 6121	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN
 6122	u8	queue_id1;
 6123	u8	queue_id1_service_profile;
 6124	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY          0x0UL
 6125	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS       0x1UL
 6126	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6127	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6128	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6129	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN        0xffUL
 6130	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN
 6131	u8	queue_id2;
 6132	u8	queue_id2_service_profile;
 6133	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY          0x0UL
 6134	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS       0x1UL
 6135	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6136	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6137	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6138	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN        0xffUL
 6139	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN
 6140	u8	queue_id3;
 6141	u8	queue_id3_service_profile;
 6142	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY          0x0UL
 6143	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS       0x1UL
 6144	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6145	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6146	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6147	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN        0xffUL
 6148	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN
 6149	u8	queue_id4;
 6150	u8	queue_id4_service_profile;
 6151	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY          0x0UL
 6152	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS       0x1UL
 6153	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6154	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6155	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6156	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN        0xffUL
 6157	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN
 6158	u8	queue_id5;
 6159	u8	queue_id5_service_profile;
 6160	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY          0x0UL
 6161	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS       0x1UL
 6162	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6163	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6164	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6165	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN        0xffUL
 6166	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN
 6167	u8	queue_id6;
 6168	u8	queue_id6_service_profile;
 6169	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY          0x0UL
 6170	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS       0x1UL
 6171	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6172	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6173	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6174	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN        0xffUL
 6175	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN
 6176	u8	queue_id7;
 6177	u8	queue_id7_service_profile;
 6178	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY          0x0UL
 6179	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS       0x1UL
 6180	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS_ROCE  0x1UL
 6181	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
 6182	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS_NIC   0x3UL
 6183	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN        0xffUL
 6184	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LAST          QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN
 6185	u8	queue_id0_service_profile_type;
 6186	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6187	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6188	#define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6189	char	qid0_name[16];
 6190	char	qid1_name[16];
 6191	char	qid2_name[16];
 6192	char	qid3_name[16];
 6193	char	qid4_name[16];
 6194	char	qid5_name[16];
 6195	char	qid6_name[16];
 6196	char	qid7_name[16];
 6197	u8	queue_id1_service_profile_type;
 6198	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6199	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6200	#define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6201	u8	queue_id2_service_profile_type;
 6202	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6203	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6204	#define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6205	u8	queue_id3_service_profile_type;
 6206	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6207	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6208	#define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6209	u8	queue_id4_service_profile_type;
 6210	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6211	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6212	#define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6213	u8	queue_id5_service_profile_type;
 6214	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6215	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6216	#define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6217	u8	queue_id6_service_profile_type;
 6218	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6219	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6220	#define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6221	u8	queue_id7_service_profile_type;
 6222	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_TYPE_ROCE     0x1UL
 6223	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_TYPE_NIC      0x2UL
 6224	#define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_TYPE_CNP      0x4UL
 6225	u8	valid;
 6226};
 6227
 6228/* hwrm_queue_qcfg_input (size:192b/24B) */
 6229struct hwrm_queue_qcfg_input {
 6230	__le16	req_type;
 6231	__le16	cmpl_ring;
 6232	__le16	seq_id;
 6233	__le16	target_id;
 6234	__le64	resp_addr;
 6235	__le32	flags;
 6236	#define QUEUE_QCFG_REQ_FLAGS_PATH     0x1UL
 6237	#define QUEUE_QCFG_REQ_FLAGS_PATH_TX    0x0UL
 6238	#define QUEUE_QCFG_REQ_FLAGS_PATH_RX    0x1UL
 6239	#define QUEUE_QCFG_REQ_FLAGS_PATH_LAST QUEUE_QCFG_REQ_FLAGS_PATH_RX
 6240	__le32	queue_id;
 6241};
 6242
 6243/* hwrm_queue_qcfg_output (size:128b/16B) */
 6244struct hwrm_queue_qcfg_output {
 6245	__le16	error_code;
 6246	__le16	req_type;
 6247	__le16	seq_id;
 6248	__le16	resp_len;
 6249	__le32	queue_len;
 6250	u8	service_profile;
 6251	#define QUEUE_QCFG_RESP_SERVICE_PROFILE_LOSSY    0x0UL
 6252	#define QUEUE_QCFG_RESP_SERVICE_PROFILE_LOSSLESS 0x1UL
 6253	#define QUEUE_QCFG_RESP_SERVICE_PROFILE_UNKNOWN  0xffUL
 6254	#define QUEUE_QCFG_RESP_SERVICE_PROFILE_LAST    QUEUE_QCFG_RESP_SERVICE_PROFILE_UNKNOWN
 6255	u8	queue_cfg_info;
 6256	#define QUEUE_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG     0x1UL
 6257	u8	unused_0;
 6258	u8	valid;
 6259};
 6260
 6261/* hwrm_queue_cfg_input (size:320b/40B) */
 6262struct hwrm_queue_cfg_input {
 6263	__le16	req_type;
 6264	__le16	cmpl_ring;
 6265	__le16	seq_id;
 6266	__le16	target_id;
 6267	__le64	resp_addr;
 6268	__le32	flags;
 6269	#define QUEUE_CFG_REQ_FLAGS_PATH_MASK 0x3UL
 6270	#define QUEUE_CFG_REQ_FLAGS_PATH_SFT  0
 6271	#define QUEUE_CFG_REQ_FLAGS_PATH_TX     0x0UL
 6272	#define QUEUE_CFG_REQ_FLAGS_PATH_RX     0x1UL
 6273	#define QUEUE_CFG_REQ_FLAGS_PATH_BIDIR  0x2UL
 6274	#define QUEUE_CFG_REQ_FLAGS_PATH_LAST  QUEUE_CFG_REQ_FLAGS_PATH_BIDIR
 6275	__le32	enables;
 6276	#define QUEUE_CFG_REQ_ENABLES_DFLT_LEN            0x1UL
 6277	#define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE     0x2UL
 6278	__le32	queue_id;
 6279	__le32	dflt_len;
 6280	u8	service_profile;
 6281	#define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSY    0x0UL
 6282	#define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSLESS 0x1UL
 6283	#define QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN  0xffUL
 6284	#define QUEUE_CFG_REQ_SERVICE_PROFILE_LAST    QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN
 6285	u8	unused_0[7];
 6286};
 6287
 6288/* hwrm_queue_cfg_output (size:128b/16B) */
 6289struct hwrm_queue_cfg_output {
 6290	__le16	error_code;
 6291	__le16	req_type;
 6292	__le16	seq_id;
 6293	__le16	resp_len;
 6294	u8	unused_0[7];
 6295	u8	valid;
 6296};
 6297
 6298/* hwrm_queue_pfcenable_qcfg_input (size:192b/24B) */
 6299struct hwrm_queue_pfcenable_qcfg_input {
 6300	__le16	req_type;
 6301	__le16	cmpl_ring;
 6302	__le16	seq_id;
 6303	__le16	target_id;
 6304	__le64	resp_addr;
 6305	__le16	port_id;
 6306	u8	unused_0[6];
 6307};
 6308
 6309/* hwrm_queue_pfcenable_qcfg_output (size:128b/16B) */
 6310struct hwrm_queue_pfcenable_qcfg_output {
 6311	__le16	error_code;
 6312	__le16	req_type;
 6313	__le16	seq_id;
 6314	__le16	resp_len;
 6315	__le32	flags;
 6316	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_ENABLED              0x1UL
 6317	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_ENABLED              0x2UL
 6318	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_ENABLED              0x4UL
 6319	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_ENABLED              0x8UL
 6320	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_ENABLED              0x10UL
 6321	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_ENABLED              0x20UL
 6322	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_ENABLED              0x40UL
 6323	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_ENABLED              0x80UL
 6324	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_WATCHDOG_ENABLED     0x100UL
 6325	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_WATCHDOG_ENABLED     0x200UL
 6326	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_WATCHDOG_ENABLED     0x400UL
 6327	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_WATCHDOG_ENABLED     0x800UL
 6328	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_WATCHDOG_ENABLED     0x1000UL
 6329	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_WATCHDOG_ENABLED     0x2000UL
 6330	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_WATCHDOG_ENABLED     0x4000UL
 6331	#define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_WATCHDOG_ENABLED     0x8000UL
 6332	u8	unused_0[3];
 6333	u8	valid;
 6334};
 6335
 6336/* hwrm_queue_pfcenable_cfg_input (size:192b/24B) */
 6337struct hwrm_queue_pfcenable_cfg_input {
 6338	__le16	req_type;
 6339	__le16	cmpl_ring;
 6340	__le16	seq_id;
 6341	__le16	target_id;
 6342	__le64	resp_addr;
 6343	__le32	flags;
 6344	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_ENABLED              0x1UL
 6345	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_ENABLED              0x2UL
 6346	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_ENABLED              0x4UL
 6347	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI3_PFC_ENABLED              0x8UL
 6348	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI4_PFC_ENABLED              0x10UL
 6349	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_ENABLED              0x20UL
 6350	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_ENABLED              0x40UL
 6351	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_ENABLED              0x80UL
 6352	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_WATCHDOG_ENABLED     0x100UL
 6353	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_WATCHDOG_ENABLED     0x200UL
 6354	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_WATCHDOG_ENABLED     0x400UL
 6355	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI3_PFC_WATCHDOG_ENABLED     0x800UL
 6356	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI4_PFC_WATCHDOG_ENABLED     0x1000UL
 6357	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_WATCHDOG_ENABLED     0x2000UL
 6358	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_WATCHDOG_ENABLED     0x4000UL
 6359	#define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_WATCHDOG_ENABLED     0x8000UL
 6360	__le16	port_id;
 6361	u8	unused_0[2];
 6362};
 6363
 6364/* hwrm_queue_pfcenable_cfg_output (size:128b/16B) */
 6365struct hwrm_queue_pfcenable_cfg_output {
 6366	__le16	error_code;
 6367	__le16	req_type;
 6368	__le16	seq_id;
 6369	__le16	resp_len;
 6370	u8	unused_0[7];
 6371	u8	valid;
 6372};
 6373
 6374/* hwrm_queue_pri2cos_qcfg_input (size:192b/24B) */
 6375struct hwrm_queue_pri2cos_qcfg_input {
 6376	__le16	req_type;
 6377	__le16	cmpl_ring;
 6378	__le16	seq_id;
 6379	__le16	target_id;
 6380	__le64	resp_addr;
 6381	__le32	flags;
 6382	#define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH      0x1UL
 6383	#define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_TX     0x0UL
 6384	#define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX     0x1UL
 6385	#define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_LAST  QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX
 6386	#define QUEUE_PRI2COS_QCFG_REQ_FLAGS_IVLAN     0x2UL
 6387	u8	port_id;
 6388	u8	unused_0[3];
 6389};
 6390
 6391/* hwrm_queue_pri2cos_qcfg_output (size:192b/24B) */
 6392struct hwrm_queue_pri2cos_qcfg_output {
 6393	__le16	error_code;
 6394	__le16	req_type;
 6395	__le16	seq_id;
 6396	__le16	resp_len;
 6397	u8	pri0_cos_queue_id;
 6398	u8	pri1_cos_queue_id;
 6399	u8	pri2_cos_queue_id;
 6400	u8	pri3_cos_queue_id;
 6401	u8	pri4_cos_queue_id;
 6402	u8	pri5_cos_queue_id;
 6403	u8	pri6_cos_queue_id;
 6404	u8	pri7_cos_queue_id;
 6405	u8	queue_cfg_info;
 6406	#define QUEUE_PRI2COS_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG     0x1UL
 6407	u8	unused_0[6];
 6408	u8	valid;
 6409};
 6410
 6411/* hwrm_queue_pri2cos_cfg_input (size:320b/40B) */
 6412struct hwrm_queue_pri2cos_cfg_input {
 6413	__le16	req_type;
 6414	__le16	cmpl_ring;
 6415	__le16	seq_id;
 6416	__le16	target_id;
 6417	__le64	resp_addr;
 6418	__le32	flags;
 6419	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_MASK 0x3UL
 6420	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_SFT  0
 6421	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX     0x0UL
 6422	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX     0x1UL
 6423	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR  0x2UL
 6424	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_LAST  QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR
 6425	#define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN     0x4UL
 6426	__le32	enables;
 6427	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI0_COS_QUEUE_ID     0x1UL
 6428	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI1_COS_QUEUE_ID     0x2UL
 6429	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI2_COS_QUEUE_ID     0x4UL
 6430	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI3_COS_QUEUE_ID     0x8UL
 6431	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI4_COS_QUEUE_ID     0x10UL
 6432	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI5_COS_QUEUE_ID     0x20UL
 6433	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI6_COS_QUEUE_ID     0x40UL
 6434	#define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI7_COS_QUEUE_ID     0x80UL
 6435	u8	port_id;
 6436	u8	pri0_cos_queue_id;
 6437	u8	pri1_cos_queue_id;
 6438	u8	pri2_cos_queue_id;
 6439	u8	pri3_cos_queue_id;
 6440	u8	pri4_cos_queue_id;
 6441	u8	pri5_cos_queue_id;
 6442	u8	pri6_cos_queue_id;
 6443	u8	pri7_cos_queue_id;
 6444	u8	unused_0[7];
 6445};
 6446
 6447/* hwrm_queue_pri2cos_cfg_output (size:128b/16B) */
 6448struct hwrm_queue_pri2cos_cfg_output {
 6449	__le16	error_code;
 6450	__le16	req_type;
 6451	__le16	seq_id;
 6452	__le16	resp_len;
 6453	u8	unused_0[7];
 6454	u8	valid;
 6455};
 6456
 6457/* hwrm_queue_cos2bw_qcfg_input (size:192b/24B) */
 6458struct hwrm_queue_cos2bw_qcfg_input {
 6459	__le16	req_type;
 6460	__le16	cmpl_ring;
 6461	__le16	seq_id;
 6462	__le16	target_id;
 6463	__le64	resp_addr;
 6464	__le16	port_id;
 6465	u8	unused_0[6];
 6466};
 6467
 6468/* hwrm_queue_cos2bw_qcfg_output (size:896b/112B) */
 6469struct hwrm_queue_cos2bw_qcfg_output {
 6470	__le16	error_code;
 6471	__le16	req_type;
 6472	__le16	seq_id;
 6473	__le16	resp_len;
 6474	u8	queue_id0;
 6475	u8	unused_0;
 6476	__le16	unused_1;
 6477	__le32	queue_id0_min_bw;
 6478	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 6479	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_SFT              0
 6480	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE                     0x10000000UL
 6481	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 6482	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 6483	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_LAST                 QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES
 6484	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6485	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT         29
 6486	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6487	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6488	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6489	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6490	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6491	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6492	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID
 6493	__le32	queue_id0_max_bw;
 6494	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 6495	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_SFT              0
 6496	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE                     0x10000000UL
 6497	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 6498	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 6499	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_LAST                 QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES
 6500	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6501	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT         29
 6502	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6503	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6504	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6505	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6506	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6507	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6508	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID
 6509	u8	queue_id0_tsa_assign;
 6510	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_SP             0x0UL
 6511	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_ETS            0x1UL
 6512	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL
 6513	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST  0xffUL
 6514	u8	queue_id0_pri_lvl;
 6515	u8	queue_id0_bw_weight;
 6516	struct {
 6517		u8	queue_id;
 6518		__le32	queue_id_min_bw;
 6519	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 6520	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_SFT              0
 6521	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_SCALE                     0x10000000UL
 6522	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 6523	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 6524	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_SCALE_LAST                 QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_SCALE_BYTES
 6525	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6526	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_SFT         29
 6527	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6528	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6529	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6530	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6531	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6532	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6533	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_INVALID
 6534		__le32	queue_id_max_bw;
 6535	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 6536	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_SFT              0
 6537	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_SCALE                     0x10000000UL
 6538	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 6539	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 6540	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_SCALE_LAST                 QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_SCALE_BYTES
 6541	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6542	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_SFT         29
 6543	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6544	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6545	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6546	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6547	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6548	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6549	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_INVALID
 6550		u8	queue_id_tsa_assign;
 6551	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_TSA_ASSIGN_SP             0x0UL
 6552	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_TSA_ASSIGN_ETS            0x1UL
 6553	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_TSA_ASSIGN_RESERVED_FIRST 0x2UL
 6554	#define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID_TSA_ASSIGN_RESERVED_LAST  0xffUL
 6555		u8	queue_id_pri_lvl;
 6556		u8	queue_id_bw_weight;
 6557	} __packed cfg[7];
 6558	u8	unused_2[4];
 6559	u8	valid;
 6560};
 6561
 6562/* hwrm_queue_cos2bw_cfg_input (size:1024b/128B) */
 6563struct hwrm_queue_cos2bw_cfg_input {
 6564	__le16	req_type;
 6565	__le16	cmpl_ring;
 6566	__le16	seq_id;
 6567	__le16	target_id;
 6568	__le64	resp_addr;
 6569	__le32	flags;
 6570	__le32	enables;
 6571	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID0_VALID     0x1UL
 6572	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID1_VALID     0x2UL
 6573	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID2_VALID     0x4UL
 6574	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID3_VALID     0x8UL
 6575	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID4_VALID     0x10UL
 6576	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID5_VALID     0x20UL
 6577	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID6_VALID     0x40UL
 6578	#define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID7_VALID     0x80UL
 6579	__le16	port_id;
 6580	u8	queue_id0;
 6581	u8	unused_0;
 6582	__le32	queue_id0_min_bw;
 6583	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 6584	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_SFT              0
 6585	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE                     0x10000000UL
 6586	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 6587	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 6588	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_LAST                 QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES
 6589	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6590	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT         29
 6591	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6592	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6593	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6594	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6595	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6596	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6597	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID
 6598	__le32	queue_id0_max_bw;
 6599	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 6600	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_SFT              0
 6601	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE                     0x10000000UL
 6602	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 6603	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 6604	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_LAST                 QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES
 6605	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6606	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT         29
 6607	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6608	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6609	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6610	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6611	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6612	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6613	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID
 6614	u8	queue_id0_tsa_assign;
 6615	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_SP             0x0UL
 6616	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_ETS            0x1UL
 6617	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL
 6618	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST  0xffUL
 6619	u8	queue_id0_pri_lvl;
 6620	u8	queue_id0_bw_weight;
 6621	struct {
 6622		u8	queue_id;
 6623		__le32	queue_id_min_bw;
 6624	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_MASK             0xfffffffUL
 6625	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_SFT              0
 6626	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_SCALE                     0x10000000UL
 6627	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_SCALE_BITS                  (0x0UL << 28)
 6628	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_SCALE_BYTES                 (0x1UL << 28)
 6629	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_SCALE_LAST                 QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_SCALE_BYTES
 6630	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6631	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_SFT         29
 6632	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6633	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6634	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6635	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6636	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6637	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6638	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MIN_BW_BW_VALUE_UNIT_INVALID
 6639		__le32	queue_id_max_bw;
 6640	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 6641	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_SFT              0
 6642	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_SCALE                     0x10000000UL
 6643	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 6644	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 6645	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_SCALE_LAST                 QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_SCALE_BYTES
 6646	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 6647	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_SFT         29
 6648	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 6649	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 6650	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 6651	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 6652	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 6653	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 6654	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_LAST         QUEUE_COS2BW_CFG_REQ_QUEUE_ID_MAX_BW_BW_VALUE_UNIT_INVALID
 6655		u8	queue_id_tsa_assign;
 6656	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_TSA_ASSIGN_SP             0x0UL
 6657	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_TSA_ASSIGN_ETS            0x1UL
 6658	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_TSA_ASSIGN_RESERVED_FIRST 0x2UL
 6659	#define QUEUE_COS2BW_CFG_REQ_QUEUE_ID_TSA_ASSIGN_RESERVED_LAST  0xffUL
 6660		u8	queue_id_pri_lvl;
 6661		u8	queue_id_bw_weight;
 6662	} __packed cfg[7];
 6663	u8	unused_1[5];
 6664};
 6665
 6666/* hwrm_queue_cos2bw_cfg_output (size:128b/16B) */
 6667struct hwrm_queue_cos2bw_cfg_output {
 6668	__le16	error_code;
 6669	__le16	req_type;
 6670	__le16	seq_id;
 6671	__le16	resp_len;
 6672	u8	unused_0[7];
 6673	u8	valid;
 6674};
 6675
 6676/* hwrm_queue_dscp_qcaps_input (size:192b/24B) */
 6677struct hwrm_queue_dscp_qcaps_input {
 6678	__le16	req_type;
 6679	__le16	cmpl_ring;
 6680	__le16	seq_id;
 6681	__le16	target_id;
 6682	__le64	resp_addr;
 6683	u8	port_id;
 6684	u8	unused_0[7];
 6685};
 6686
 6687/* hwrm_queue_dscp_qcaps_output (size:128b/16B) */
 6688struct hwrm_queue_dscp_qcaps_output {
 6689	__le16	error_code;
 6690	__le16	req_type;
 6691	__le16	seq_id;
 6692	__le16	resp_len;
 6693	u8	num_dscp_bits;
 6694	u8	unused_0;
 6695	__le16	max_entries;
 6696	u8	unused_1[3];
 6697	u8	valid;
 6698};
 6699
 6700/* hwrm_queue_dscp2pri_qcfg_input (size:256b/32B) */
 6701struct hwrm_queue_dscp2pri_qcfg_input {
 6702	__le16	req_type;
 6703	__le16	cmpl_ring;
 6704	__le16	seq_id;
 6705	__le16	target_id;
 6706	__le64	resp_addr;
 6707	__le64	dest_data_addr;
 6708	u8	port_id;
 6709	u8	unused_0;
 6710	__le16	dest_data_buffer_size;
 6711	u8	unused_1[4];
 6712};
 6713
 6714/* hwrm_queue_dscp2pri_qcfg_output (size:128b/16B) */
 6715struct hwrm_queue_dscp2pri_qcfg_output {
 6716	__le16	error_code;
 6717	__le16	req_type;
 6718	__le16	seq_id;
 6719	__le16	resp_len;
 6720	__le16	entry_cnt;
 6721	u8	default_pri;
 6722	u8	unused_0[4];
 6723	u8	valid;
 6724};
 6725
 6726/* hwrm_queue_dscp2pri_cfg_input (size:320b/40B) */
 6727struct hwrm_queue_dscp2pri_cfg_input {
 6728	__le16	req_type;
 6729	__le16	cmpl_ring;
 6730	__le16	seq_id;
 6731	__le16	target_id;
 6732	__le64	resp_addr;
 6733	__le64	src_data_addr;
 6734	__le32	flags;
 6735	#define QUEUE_DSCP2PRI_CFG_REQ_FLAGS_USE_HW_DEFAULT_PRI     0x1UL
 6736	__le32	enables;
 6737	#define QUEUE_DSCP2PRI_CFG_REQ_ENABLES_DEFAULT_PRI     0x1UL
 6738	u8	port_id;
 6739	u8	default_pri;
 6740	__le16	entry_cnt;
 6741	u8	unused_0[4];
 6742};
 6743
 6744/* hwrm_queue_dscp2pri_cfg_output (size:128b/16B) */
 6745struct hwrm_queue_dscp2pri_cfg_output {
 6746	__le16	error_code;
 6747	__le16	req_type;
 6748	__le16	seq_id;
 6749	__le16	resp_len;
 6750	u8	unused_0[7];
 6751	u8	valid;
 6752};
 6753
 6754/* hwrm_queue_pfcwd_timeout_qcaps_input (size:128b/16B) */
 6755struct hwrm_queue_pfcwd_timeout_qcaps_input {
 6756	__le16	req_type;
 6757	__le16	cmpl_ring;
 6758	__le16	seq_id;
 6759	__le16	target_id;
 6760	__le64	resp_addr;
 6761};
 6762
 6763/* hwrm_queue_pfcwd_timeout_qcaps_output (size:128b/16B) */
 6764struct hwrm_queue_pfcwd_timeout_qcaps_output {
 6765	__le16	error_code;
 6766	__le16	req_type;
 6767	__le16	seq_id;
 6768	__le16	resp_len;
 6769	__le16	max_pfcwd_timeout;
 6770	u8	unused_0[5];
 6771	u8	valid;
 6772};
 6773
 6774/* hwrm_queue_pfcwd_timeout_cfg_input (size:192b/24B) */
 6775struct hwrm_queue_pfcwd_timeout_cfg_input {
 6776	__le16	req_type;
 6777	__le16	cmpl_ring;
 6778	__le16	seq_id;
 6779	__le16	target_id;
 6780	__le64	resp_addr;
 6781	__le16	pfcwd_timeout_value;
 6782	u8	unused_0[6];
 6783};
 6784
 6785/* hwrm_queue_pfcwd_timeout_cfg_output (size:128b/16B) */
 6786struct hwrm_queue_pfcwd_timeout_cfg_output {
 6787	__le16	error_code;
 6788	__le16	req_type;
 6789	__le16	seq_id;
 6790	__le16	resp_len;
 6791	u8	unused_0[7];
 6792	u8	valid;
 6793};
 6794
 6795/* hwrm_queue_pfcwd_timeout_qcfg_input (size:128b/16B) */
 6796struct hwrm_queue_pfcwd_timeout_qcfg_input {
 6797	__le16	req_type;
 6798	__le16	cmpl_ring;
 6799	__le16	seq_id;
 6800	__le16	target_id;
 6801	__le64	resp_addr;
 6802};
 6803
 6804/* hwrm_queue_pfcwd_timeout_qcfg_output (size:128b/16B) */
 6805struct hwrm_queue_pfcwd_timeout_qcfg_output {
 6806	__le16	error_code;
 6807	__le16	req_type;
 6808	__le16	seq_id;
 6809	__le16	resp_len;
 6810	__le16	pfcwd_timeout_value;
 6811	u8	unused_0[5];
 6812	u8	valid;
 6813};
 6814
 6815/* hwrm_vnic_alloc_input (size:192b/24B) */
 6816struct hwrm_vnic_alloc_input {
 6817	__le16	req_type;
 6818	__le16	cmpl_ring;
 6819	__le16	seq_id;
 6820	__le16	target_id;
 6821	__le64	resp_addr;
 6822	__le32	flags;
 6823	#define VNIC_ALLOC_REQ_FLAGS_DEFAULT                  0x1UL
 6824	#define VNIC_ALLOC_REQ_FLAGS_VIRTIO_NET_FID_VALID     0x2UL
 6825	#define VNIC_ALLOC_REQ_FLAGS_VNIC_ID_VALID            0x4UL
 6826	__le16	virtio_net_fid;
 6827	__le16	vnic_id;
 6828};
 6829
 6830/* hwrm_vnic_alloc_output (size:128b/16B) */
 6831struct hwrm_vnic_alloc_output {
 6832	__le16	error_code;
 6833	__le16	req_type;
 6834	__le16	seq_id;
 6835	__le16	resp_len;
 6836	__le32	vnic_id;
 6837	u8	unused_0[3];
 6838	u8	valid;
 6839};
 6840
 6841/* hwrm_vnic_update_input (size:256b/32B) */
 6842struct hwrm_vnic_update_input {
 6843	__le16	req_type;
 6844	__le16	cmpl_ring;
 6845	__le16	seq_id;
 6846	__le16	target_id;
 6847	__le64	resp_addr;
 6848	__le32	vnic_id;
 6849	__le32	enables;
 6850	#define VNIC_UPDATE_REQ_ENABLES_VNIC_STATE_VALID               0x1UL
 6851	#define VNIC_UPDATE_REQ_ENABLES_MRU_VALID                      0x2UL
 6852	#define VNIC_UPDATE_REQ_ENABLES_METADATA_FORMAT_TYPE_VALID     0x4UL
 6853	u8	vnic_state;
 6854	#define VNIC_UPDATE_REQ_VNIC_STATE_NORMAL 0x0UL
 6855	#define VNIC_UPDATE_REQ_VNIC_STATE_DROP   0x1UL
 6856	#define VNIC_UPDATE_REQ_VNIC_STATE_LAST  VNIC_UPDATE_REQ_VNIC_STATE_DROP
 6857	u8	metadata_format_type;
 6858	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_0 0x0UL
 6859	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_1 0x1UL
 6860	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_2 0x2UL
 6861	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_3 0x3UL
 6862	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_4 0x4UL
 6863	#define VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_LAST VNIC_UPDATE_REQ_METADATA_FORMAT_TYPE_4
 6864	__le16	mru;
 6865	u8	unused_1[4];
 6866};
 6867
 6868/* hwrm_vnic_update_output (size:128b/16B) */
 6869struct hwrm_vnic_update_output {
 6870	__le16	error_code;
 6871	__le16	req_type;
 6872	__le16	seq_id;
 6873	__le16	resp_len;
 6874	u8	unused_0[7];
 6875	u8	valid;
 6876};
 6877
 6878/* hwrm_vnic_free_input (size:192b/24B) */
 6879struct hwrm_vnic_free_input {
 6880	__le16	req_type;
 6881	__le16	cmpl_ring;
 6882	__le16	seq_id;
 6883	__le16	target_id;
 6884	__le64	resp_addr;
 6885	__le32	vnic_id;
 6886	u8	unused_0[4];
 6887};
 6888
 6889/* hwrm_vnic_free_output (size:128b/16B) */
 6890struct hwrm_vnic_free_output {
 6891	__le16	error_code;
 6892	__le16	req_type;
 6893	__le16	seq_id;
 6894	__le16	resp_len;
 6895	u8	unused_0[7];
 6896	u8	valid;
 6897};
 6898
 6899/* hwrm_vnic_cfg_input (size:384b/48B) */
 6900struct hwrm_vnic_cfg_input {
 6901	__le16	req_type;
 6902	__le16	cmpl_ring;
 6903	__le16	seq_id;
 6904	__le16	target_id;
 6905	__le64	resp_addr;
 6906	__le32	flags;
 6907	#define VNIC_CFG_REQ_FLAGS_DEFAULT                              0x1UL
 6908	#define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE                      0x2UL
 6909	#define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE                        0x4UL
 6910	#define VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE                  0x8UL
 6911	#define VNIC_CFG_REQ_FLAGS_ROCE_ONLY_VNIC_MODE                  0x10UL
 6912	#define VNIC_CFG_REQ_FLAGS_RSS_DFLT_CR_MODE                     0x20UL
 6913	#define VNIC_CFG_REQ_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_MODE     0x40UL
 6914	#define VNIC_CFG_REQ_FLAGS_PORTCOS_MAPPING_MODE                 0x80UL
 6915	__le32	enables;
 6916	#define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP            0x1UL
 6917	#define VNIC_CFG_REQ_ENABLES_RSS_RULE                 0x2UL
 6918	#define VNIC_CFG_REQ_ENABLES_COS_RULE                 0x4UL
 6919	#define VNIC_CFG_REQ_ENABLES_LB_RULE                  0x8UL
 6920	#define VNIC_CFG_REQ_ENABLES_MRU                      0x10UL
 6921	#define VNIC_CFG_REQ_ENABLES_DEFAULT_RX_RING_ID       0x20UL
 6922	#define VNIC_CFG_REQ_ENABLES_DEFAULT_CMPL_RING_ID     0x40UL
 6923	#define VNIC_CFG_REQ_ENABLES_QUEUE_ID                 0x80UL
 6924	#define VNIC_CFG_REQ_ENABLES_RX_CSUM_V2_MODE          0x100UL
 6925	#define VNIC_CFG_REQ_ENABLES_L2_CQE_MODE              0x200UL
 6926	#define VNIC_CFG_REQ_ENABLES_RAW_QP_ID                0x400UL
 6927	__le16	vnic_id;
 6928	__le16	dflt_ring_grp;
 6929	__le16	rss_rule;
 6930	__le16	cos_rule;
 6931	__le16	lb_rule;
 6932	__le16	mru;
 6933	__le16	default_rx_ring_id;
 6934	__le16	default_cmpl_ring_id;
 6935	__le16	queue_id;
 6936	u8	rx_csum_v2_mode;
 6937	#define VNIC_CFG_REQ_RX_CSUM_V2_MODE_DEFAULT 0x0UL
 6938	#define VNIC_CFG_REQ_RX_CSUM_V2_MODE_ALL_OK  0x1UL
 6939	#define VNIC_CFG_REQ_RX_CSUM_V2_MODE_MAX     0x2UL
 6940	#define VNIC_CFG_REQ_RX_CSUM_V2_MODE_LAST   VNIC_CFG_REQ_RX_CSUM_V2_MODE_MAX
 6941	u8	l2_cqe_mode;
 6942	#define VNIC_CFG_REQ_L2_CQE_MODE_DEFAULT    0x0UL
 6943	#define VNIC_CFG_REQ_L2_CQE_MODE_COMPRESSED 0x1UL
 6944	#define VNIC_CFG_REQ_L2_CQE_MODE_MIXED      0x2UL
 6945	#define VNIC_CFG_REQ_L2_CQE_MODE_LAST      VNIC_CFG_REQ_L2_CQE_MODE_MIXED
 6946	__le32	raw_qp_id;
 6947};
 6948
 6949/* hwrm_vnic_cfg_output (size:128b/16B) */
 6950struct hwrm_vnic_cfg_output {
 6951	__le16	error_code;
 6952	__le16	req_type;
 6953	__le16	seq_id;
 6954	__le16	resp_len;
 6955	u8	unused_0[7];
 6956	u8	valid;
 6957};
 6958
 6959/* hwrm_vnic_qcaps_input (size:192b/24B) */
 6960struct hwrm_vnic_qcaps_input {
 6961	__le16	req_type;
 6962	__le16	cmpl_ring;
 6963	__le16	seq_id;
 6964	__le16	target_id;
 6965	__le64	resp_addr;
 6966	__le32	enables;
 6967	u8	unused_0[4];
 6968};
 6969
 6970/* hwrm_vnic_qcaps_output (size:192b/24B) */
 6971struct hwrm_vnic_qcaps_output {
 6972	__le16	error_code;
 6973	__le16	req_type;
 6974	__le16	seq_id;
 6975	__le16	resp_len;
 6976	__le16	mru;
 6977	u8	unused_0[2];
 6978	__le32	flags;
 6979	#define VNIC_QCAPS_RESP_FLAGS_UNUSED                                  0x1UL
 6980	#define VNIC_QCAPS_RESP_FLAGS_VLAN_STRIP_CAP                          0x2UL
 6981	#define VNIC_QCAPS_RESP_FLAGS_BD_STALL_CAP                            0x4UL
 6982	#define VNIC_QCAPS_RESP_FLAGS_ROCE_DUAL_VNIC_CAP                      0x8UL
 6983	#define VNIC_QCAPS_RESP_FLAGS_ROCE_ONLY_VNIC_CAP                      0x10UL
 6984	#define VNIC_QCAPS_RESP_FLAGS_RSS_DFLT_CR_CAP                         0x20UL
 6985	#define VNIC_QCAPS_RESP_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_CAP         0x40UL
 6986	#define VNIC_QCAPS_RESP_FLAGS_OUTERMOST_RSS_CAP                       0x80UL
 6987	#define VNIC_QCAPS_RESP_FLAGS_COS_ASSIGNMENT_CAP                      0x100UL
 6988	#define VNIC_QCAPS_RESP_FLAGS_RX_CMPL_V2_CAP                          0x200UL
 6989	#define VNIC_QCAPS_RESP_FLAGS_VNIC_STATE_CAP                          0x400UL
 6990	#define VNIC_QCAPS_RESP_FLAGS_VIRTIO_NET_VNIC_ALLOC_CAP               0x800UL
 6991	#define VNIC_QCAPS_RESP_FLAGS_METADATA_FORMAT_CAP                     0x1000UL
 6992	#define VNIC_QCAPS_RESP_FLAGS_RSS_STRICT_HASH_TYPE_CAP                0x2000UL
 6993	#define VNIC_QCAPS_RESP_FLAGS_RSS_HASH_TYPE_DELTA_CAP                 0x4000UL
 6994	#define VNIC_QCAPS_RESP_FLAGS_RING_SELECT_MODE_TOEPLITZ_CAP           0x8000UL
 6995	#define VNIC_QCAPS_RESP_FLAGS_RING_SELECT_MODE_XOR_CAP                0x10000UL
 6996	#define VNIC_QCAPS_RESP_FLAGS_RING_SELECT_MODE_TOEPLITZ_CHKSM_CAP     0x20000UL
 6997	#define VNIC_QCAPS_RESP_FLAGS_RSS_IPV6_FLOW_LABEL_CAP                 0x40000UL
 6998	#define VNIC_QCAPS_RESP_FLAGS_RX_CMPL_V3_CAP                          0x80000UL
 6999	#define VNIC_QCAPS_RESP_FLAGS_L2_CQE_MODE_CAP                         0x100000UL
 7000	#define VNIC_QCAPS_RESP_FLAGS_RSS_IPSEC_AH_SPI_IPV4_CAP               0x200000UL
 7001	#define VNIC_QCAPS_RESP_FLAGS_RSS_IPSEC_ESP_SPI_IPV4_CAP              0x400000UL
 7002	#define VNIC_QCAPS_RESP_FLAGS_RSS_IPSEC_AH_SPI_IPV6_CAP               0x800000UL
 7003	#define VNIC_QCAPS_RESP_FLAGS_RSS_IPSEC_ESP_SPI_IPV6_CAP              0x1000000UL
 7004	#define VNIC_QCAPS_RESP_FLAGS_OUTERMOST_RSS_TRUSTED_VF_CAP            0x2000000UL
 7005	#define VNIC_QCAPS_RESP_FLAGS_PORTCOS_MAPPING_MODE                    0x4000000UL
 7006	#define VNIC_QCAPS_RESP_FLAGS_RSS_PROF_TCAM_MODE_ENABLED              0x8000000UL
 7007	#define VNIC_QCAPS_RESP_FLAGS_VNIC_RSS_HASH_MODE_CAP                  0x10000000UL
 7008	#define VNIC_QCAPS_RESP_FLAGS_HW_TUNNEL_TPA_CAP                       0x20000000UL
 7009	#define VNIC_QCAPS_RESP_FLAGS_RE_FLUSH_CAP                            0x40000000UL
 7010	__le16	max_aggs_supported;
 7011	u8	unused_1[5];
 7012	u8	valid;
 7013};
 7014
 7015/* hwrm_vnic_tpa_cfg_input (size:384b/48B) */
 7016struct hwrm_vnic_tpa_cfg_input {
 7017	__le16	req_type;
 7018	__le16	cmpl_ring;
 7019	__le16	seq_id;
 7020	__le16	target_id;
 7021	__le64	resp_addr;
 7022	__le32	flags;
 7023	#define VNIC_TPA_CFG_REQ_FLAGS_TPA                       0x1UL
 7024	#define VNIC_TPA_CFG_REQ_FLAGS_ENCAP_TPA                 0x2UL
 7025	#define VNIC_TPA_CFG_REQ_FLAGS_RSC_WND_UPDATE            0x4UL
 7026	#define VNIC_TPA_CFG_REQ_FLAGS_GRO                       0x8UL
 7027	#define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_ECN              0x10UL
 7028	#define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_SAME_GRE_SEQ     0x20UL
 7029	#define VNIC_TPA_CFG_REQ_FLAGS_GRO_IPID_CHECK            0x40UL
 7030	#define VNIC_TPA_CFG_REQ_FLAGS_GRO_TTL_CHECK             0x80UL
 7031	#define VNIC_TPA_CFG_REQ_FLAGS_AGG_PACK_AS_GRO           0x100UL
 7032	__le32	enables;
 7033	#define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_SEGS      0x1UL
 7034	#define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGGS          0x2UL
 7035	#define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_TIMER     0x4UL
 7036	#define VNIC_TPA_CFG_REQ_ENABLES_MIN_AGG_LEN       0x8UL
 7037	#define VNIC_TPA_CFG_REQ_ENABLES_TNL_TPA_EN        0x10UL
 7038	__le16	vnic_id;
 7039	__le16	max_agg_segs;
 7040	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_1   0x0UL
 7041	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_2   0x1UL
 7042	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_4   0x2UL
 7043	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_8   0x3UL
 7044	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX 0x1fUL
 7045	#define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_LAST VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX
 7046	__le16	max_aggs;
 7047	#define VNIC_TPA_CFG_REQ_MAX_AGGS_1   0x0UL
 7048	#define VNIC_TPA_CFG_REQ_MAX_AGGS_2   0x1UL
 7049	#define VNIC_TPA_CFG_REQ_MAX_AGGS_4   0x2UL
 7050	#define VNIC_TPA_CFG_REQ_MAX_AGGS_8   0x3UL
 7051	#define VNIC_TPA_CFG_REQ_MAX_AGGS_16  0x4UL
 7052	#define VNIC_TPA_CFG_REQ_MAX_AGGS_MAX 0x7UL
 7053	#define VNIC_TPA_CFG_REQ_MAX_AGGS_LAST VNIC_TPA_CFG_REQ_MAX_AGGS_MAX
 7054	u8	unused_0[2];
 7055	__le32	max_agg_timer;
 7056	__le32	min_agg_len;
 7057	__le32	tnl_tpa_en_bitmap;
 7058	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_VXLAN           0x1UL
 7059	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_GENEVE          0x2UL
 7060	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_NVGRE           0x4UL
 7061	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_GRE             0x8UL
 7062	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_IPV4            0x10UL
 7063	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_IPV6            0x20UL
 7064	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_VXLAN_GPE       0x40UL
 7065	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_VXLAN_CUST1     0x80UL
 7066	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_GRE_CUST1       0x100UL
 7067	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR1           0x200UL
 7068	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR2           0x400UL
 7069	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR3           0x800UL
 7070	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR4           0x1000UL
 7071	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR5           0x2000UL
 7072	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR6           0x4000UL
 7073	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR7           0x8000UL
 7074	#define VNIC_TPA_CFG_REQ_TNL_TPA_EN_BITMAP_UPAR8           0x10000UL
 7075	u8	unused_1[4];
 7076};
 7077
 7078/* hwrm_vnic_tpa_cfg_output (size:128b/16B) */
 7079struct hwrm_vnic_tpa_cfg_output {
 7080	__le16	error_code;
 7081	__le16	req_type;
 7082	__le16	seq_id;
 7083	__le16	resp_len;
 7084	u8	unused_0[7];
 7085	u8	valid;
 7086};
 7087
 7088/* hwrm_vnic_tpa_qcfg_input (size:192b/24B) */
 7089struct hwrm_vnic_tpa_qcfg_input {
 7090	__le16	req_type;
 7091	__le16	cmpl_ring;
 7092	__le16	seq_id;
 7093	__le16	target_id;
 7094	__le64	resp_addr;
 7095	__le16	vnic_id;
 7096	u8	unused_0[6];
 7097};
 7098
 7099/* hwrm_vnic_tpa_qcfg_output (size:256b/32B) */
 7100struct hwrm_vnic_tpa_qcfg_output {
 7101	__le16	error_code;
 7102	__le16	req_type;
 7103	__le16	seq_id;
 7104	__le16	resp_len;
 7105	__le32	flags;
 7106	#define VNIC_TPA_QCFG_RESP_FLAGS_TPA                       0x1UL
 7107	#define VNIC_TPA_QCFG_RESP_FLAGS_ENCAP_TPA                 0x2UL
 7108	#define VNIC_TPA_QCFG_RESP_FLAGS_RSC_WND_UPDATE            0x4UL
 7109	#define VNIC_TPA_QCFG_RESP_FLAGS_GRO                       0x8UL
 7110	#define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_ECN              0x10UL
 7111	#define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_SAME_GRE_SEQ     0x20UL
 7112	#define VNIC_TPA_QCFG_RESP_FLAGS_GRO_IPID_CHECK            0x40UL
 7113	#define VNIC_TPA_QCFG_RESP_FLAGS_GRO_TTL_CHECK             0x80UL
 7114	__le16	max_agg_segs;
 7115	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_1   0x0UL
 7116	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_2   0x1UL
 7117	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_4   0x2UL
 7118	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_8   0x3UL
 7119	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX 0x1fUL
 7120	#define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX
 7121	__le16	max_aggs;
 7122	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_1   0x0UL
 7123	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_2   0x1UL
 7124	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_4   0x2UL
 7125	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_8   0x3UL
 7126	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_16  0x4UL
 7127	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX 0x7UL
 7128	#define VNIC_TPA_QCFG_RESP_MAX_AGGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX
 7129	__le32	max_agg_timer;
 7130	__le32	min_agg_len;
 7131	__le32	tnl_tpa_en_bitmap;
 7132	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_VXLAN           0x1UL
 7133	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_GENEVE          0x2UL
 7134	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_NVGRE           0x4UL
 7135	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_GRE             0x8UL
 7136	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_IPV4            0x10UL
 7137	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_IPV6            0x20UL
 7138	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_VXLAN_GPE       0x40UL
 7139	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_VXLAN_CUST1     0x80UL
 7140	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_GRE_CUST1       0x100UL
 7141	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR1           0x200UL
 7142	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR2           0x400UL
 7143	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR3           0x800UL
 7144	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR4           0x1000UL
 7145	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR5           0x2000UL
 7146	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR6           0x4000UL
 7147	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR7           0x8000UL
 7148	#define VNIC_TPA_QCFG_RESP_TNL_TPA_EN_BITMAP_UPAR8           0x10000UL
 7149	u8	unused_0[3];
 7150	u8	valid;
 7151};
 7152
 7153/* hwrm_vnic_rss_cfg_input (size:384b/48B) */
 7154struct hwrm_vnic_rss_cfg_input {
 7155	__le16	req_type;
 7156	__le16	cmpl_ring;
 7157	__le16	seq_id;
 7158	__le16	target_id;
 7159	__le64	resp_addr;
 7160	__le32	hash_type;
 7161	#define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV4                0x1UL
 7162	#define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4            0x2UL
 7163	#define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4            0x4UL
 7164	#define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6                0x8UL
 7165	#define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6            0x10UL
 7166	#define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6            0x20UL
 7167	#define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6_FLOW_LABEL     0x40UL
 7168	#define VNIC_RSS_CFG_REQ_HASH_TYPE_AH_SPI_IPV4         0x80UL
 7169	#define VNIC_RSS_CFG_REQ_HASH_TYPE_ESP_SPI_IPV4        0x100UL
 7170	#define VNIC_RSS_CFG_REQ_HASH_TYPE_AH_SPI_IPV6         0x200UL
 7171	#define VNIC_RSS_CFG_REQ_HASH_TYPE_ESP_SPI_IPV6        0x400UL
 7172	__le16	vnic_id;
 7173	u8	ring_table_pair_index;
 7174	u8	hash_mode_flags;
 7175	#define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_DEFAULT         0x1UL
 7176	#define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_INNERMOST_4     0x2UL
 7177	#define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_INNERMOST_2     0x4UL
 7178	#define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_OUTERMOST_4     0x8UL
 7179	#define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_OUTERMOST_2     0x10UL
 7180	__le64	ring_grp_tbl_addr;
 7181	__le64	hash_key_tbl_addr;
 7182	__le16	rss_ctx_idx;
 7183	u8	flags;
 7184	#define VNIC_RSS_CFG_REQ_FLAGS_HASH_TYPE_INCLUDE               0x1UL
 7185	#define VNIC_RSS_CFG_REQ_FLAGS_HASH_TYPE_EXCLUDE               0x2UL
 7186	#define VNIC_RSS_CFG_REQ_FLAGS_IPSEC_HASH_TYPE_CFG_SUPPORT     0x4UL
 7187	u8	ring_select_mode;
 7188	#define VNIC_RSS_CFG_REQ_RING_SELECT_MODE_TOEPLITZ          0x0UL
 7189	#define VNIC_RSS_CFG_REQ_RING_SELECT_MODE_XOR               0x1UL
 7190	#define VNIC_RSS_CFG_REQ_RING_SELECT_MODE_TOEPLITZ_CHECKSUM 0x2UL
 7191	#define VNIC_RSS_CFG_REQ_RING_SELECT_MODE_LAST             VNIC_RSS_CFG_REQ_RING_SELECT_MODE_TOEPLITZ_CHECKSUM
 7192	u8	unused_1[4];
 7193};
 7194
 7195/* hwrm_vnic_rss_cfg_output (size:128b/16B) */
 7196struct hwrm_vnic_rss_cfg_output {
 7197	__le16	error_code;
 7198	__le16	req_type;
 7199	__le16	seq_id;
 7200	__le16	resp_len;
 7201	u8	unused_0[7];
 7202	u8	valid;
 7203};
 7204
 7205/* hwrm_vnic_rss_cfg_cmd_err (size:64b/8B) */
 7206struct hwrm_vnic_rss_cfg_cmd_err {
 7207	u8	code;
 7208	#define VNIC_RSS_CFG_CMD_ERR_CODE_UNKNOWN                      0x0UL
 7209	#define VNIC_RSS_CFG_CMD_ERR_CODE_INTERFACE_NOT_READY          0x1UL
 7210	#define VNIC_RSS_CFG_CMD_ERR_CODE_UNABLE_TO_GET_RSS_CFG        0x2UL
 7211	#define VNIC_RSS_CFG_CMD_ERR_CODE_HASH_TYPE_UNSUPPORTED        0x3UL
 7212	#define VNIC_RSS_CFG_CMD_ERR_CODE_HASH_TYPE_ERR                0x4UL
 7213	#define VNIC_RSS_CFG_CMD_ERR_CODE_HASH_MODE_FAIL               0x5UL
 7214	#define VNIC_RSS_CFG_CMD_ERR_CODE_RING_GRP_TABLE_ALLOC_ERR     0x6UL
 7215	#define VNIC_RSS_CFG_CMD_ERR_CODE_HASH_KEY_ALLOC_ERR           0x7UL
 7216	#define VNIC_RSS_CFG_CMD_ERR_CODE_DMA_FAILED                   0x8UL
 7217	#define VNIC_RSS_CFG_CMD_ERR_CODE_RX_RING_ALLOC_ERR            0x9UL
 7218	#define VNIC_RSS_CFG_CMD_ERR_CODE_CMPL_RING_ALLOC_ERR          0xaUL
 7219	#define VNIC_RSS_CFG_CMD_ERR_CODE_HW_SET_RSS_FAILED            0xbUL
 7220	#define VNIC_RSS_CFG_CMD_ERR_CODE_CTX_INVALID                  0xcUL
 7221	#define VNIC_RSS_CFG_CMD_ERR_CODE_VNIC_INVALID                 0xdUL
 7222	#define VNIC_RSS_CFG_CMD_ERR_CODE_VNIC_RING_TABLE_PAIR_INVALID 0xeUL
 7223	#define VNIC_RSS_CFG_CMD_ERR_CODE_LAST                        VNIC_RSS_CFG_CMD_ERR_CODE_VNIC_RING_TABLE_PAIR_INVALID
 7224	u8	unused_0[7];
 7225};
 7226
 7227/* hwrm_vnic_rss_qcfg_input (size:192b/24B) */
 7228struct hwrm_vnic_rss_qcfg_input {
 7229	__le16	req_type;
 7230	__le16	cmpl_ring;
 7231	__le16	seq_id;
 7232	__le16	target_id;
 7233	__le64	resp_addr;
 7234	__le16	rss_ctx_idx;
 7235	__le16	vnic_id;
 7236	u8	unused_0[4];
 7237};
 7238
 7239/* hwrm_vnic_rss_qcfg_output (size:512b/64B) */
 7240struct hwrm_vnic_rss_qcfg_output {
 7241	__le16	error_code;
 7242	__le16	req_type;
 7243	__le16	seq_id;
 7244	__le16	resp_len;
 7245	__le32	hash_type;
 7246	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_IPV4                0x1UL
 7247	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_TCP_IPV4            0x2UL
 7248	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_UDP_IPV4            0x4UL
 7249	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_IPV6                0x8UL
 7250	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_TCP_IPV6            0x10UL
 7251	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_UDP_IPV6            0x20UL
 7252	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_IPV6_FLOW_LABEL     0x40UL
 7253	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_AH_SPI_IPV4         0x80UL
 7254	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_ESP_SPI_IPV4        0x100UL
 7255	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_AH_SPI_IPV6         0x200UL
 7256	#define VNIC_RSS_QCFG_RESP_HASH_TYPE_ESP_SPI_IPV6        0x400UL
 7257	u8	unused_0[4];
 7258	__le32	hash_key[10];
 7259	u8	hash_mode_flags;
 7260	#define VNIC_RSS_QCFG_RESP_HASH_MODE_FLAGS_DEFAULT         0x1UL
 7261	#define VNIC_RSS_QCFG_RESP_HASH_MODE_FLAGS_INNERMOST_4     0x2UL
 7262	#define VNIC_RSS_QCFG_RESP_HASH_MODE_FLAGS_INNERMOST_2     0x4UL
 7263	#define VNIC_RSS_QCFG_RESP_HASH_MODE_FLAGS_OUTERMOST_4     0x8UL
 7264	#define VNIC_RSS_QCFG_RESP_HASH_MODE_FLAGS_OUTERMOST_2     0x10UL
 7265	u8	ring_select_mode;
 7266	#define VNIC_RSS_QCFG_RESP_RING_SELECT_MODE_TOEPLITZ          0x0UL
 7267	#define VNIC_RSS_QCFG_RESP_RING_SELECT_MODE_XOR               0x1UL
 7268	#define VNIC_RSS_QCFG_RESP_RING_SELECT_MODE_TOEPLITZ_CHECKSUM 0x2UL
 7269	#define VNIC_RSS_QCFG_RESP_RING_SELECT_MODE_LAST             VNIC_RSS_QCFG_RESP_RING_SELECT_MODE_TOEPLITZ_CHECKSUM
 7270	u8	unused_1[5];
 7271	u8	valid;
 7272};
 7273
 7274/* hwrm_vnic_plcmodes_cfg_input (size:320b/40B) */
 7275struct hwrm_vnic_plcmodes_cfg_input {
 7276	__le16	req_type;
 7277	__le16	cmpl_ring;
 7278	__le16	seq_id;
 7279	__le16	target_id;
 7280	__le64	resp_addr;
 7281	__le32	flags;
 7282	#define VNIC_PLCMODES_CFG_REQ_FLAGS_REGULAR_PLACEMENT     0x1UL
 7283	#define VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT       0x2UL
 7284	#define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4              0x4UL
 7285	#define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6              0x8UL
 7286	#define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_FCOE              0x10UL
 7287	#define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_ROCE              0x20UL
 7288	#define VNIC_PLCMODES_CFG_REQ_FLAGS_VIRTIO_PLACEMENT      0x40UL
 7289	__le32	enables;
 7290	#define VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID      0x1UL
 7291	#define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_OFFSET_VALID        0x2UL
 7292	#define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID     0x4UL
 7293	#define VNIC_PLCMODES_CFG_REQ_ENABLES_MAX_BDS_VALID           0x8UL
 7294	__le32	vnic_id;
 7295	__le16	jumbo_thresh;
 7296	__le16	hds_offset;
 7297	__le16	hds_threshold;
 7298	__le16	max_bds;
 7299	u8	unused_0[4];
 7300};
 7301
 7302/* hwrm_vnic_plcmodes_cfg_output (size:128b/16B) */
 7303struct hwrm_vnic_plcmodes_cfg_output {
 7304	__le16	error_code;
 7305	__le16	req_type;
 7306	__le16	seq_id;
 7307	__le16	resp_len;
 7308	u8	unused_0[7];
 7309	u8	valid;
 7310};
 7311
 7312/* hwrm_vnic_plcmodes_cfg_cmd_err (size:64b/8B) */
 7313struct hwrm_vnic_plcmodes_cfg_cmd_err {
 7314	u8	code;
 7315	#define VNIC_PLCMODES_CFG_CMD_ERR_CODE_UNKNOWN               0x0UL
 7316	#define VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD 0x1UL
 7317	#define VNIC_PLCMODES_CFG_CMD_ERR_CODE_LAST                 VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD
 7318	u8	unused_0[7];
 7319};
 7320
 7321/* hwrm_vnic_rss_cos_lb_ctx_alloc_input (size:128b/16B) */
 7322struct hwrm_vnic_rss_cos_lb_ctx_alloc_input {
 7323	__le16	req_type;
 7324	__le16	cmpl_ring;
 7325	__le16	seq_id;
 7326	__le16	target_id;
 7327	__le64	resp_addr;
 7328};
 7329
 7330/* hwrm_vnic_rss_cos_lb_ctx_alloc_output (size:128b/16B) */
 7331struct hwrm_vnic_rss_cos_lb_ctx_alloc_output {
 7332	__le16	error_code;
 7333	__le16	req_type;
 7334	__le16	seq_id;
 7335	__le16	resp_len;
 7336	__le16	rss_cos_lb_ctx_id;
 7337	u8	unused_0[5];
 7338	u8	valid;
 7339};
 7340
 7341/* hwrm_vnic_rss_cos_lb_ctx_free_input (size:192b/24B) */
 7342struct hwrm_vnic_rss_cos_lb_ctx_free_input {
 7343	__le16	req_type;
 7344	__le16	cmpl_ring;
 7345	__le16	seq_id;
 7346	__le16	target_id;
 7347	__le64	resp_addr;
 7348	__le16	rss_cos_lb_ctx_id;
 7349	u8	unused_0[6];
 7350};
 7351
 7352/* hwrm_vnic_rss_cos_lb_ctx_free_output (size:128b/16B) */
 7353struct hwrm_vnic_rss_cos_lb_ctx_free_output {
 7354	__le16	error_code;
 7355	__le16	req_type;
 7356	__le16	seq_id;
 7357	__le16	resp_len;
 7358	u8	unused_0[7];
 7359	u8	valid;
 7360};
 7361
 7362/* hwrm_ring_alloc_input (size:768b/96B) */
 7363struct hwrm_ring_alloc_input {
 7364	__le16	req_type;
 7365	__le16	cmpl_ring;
 7366	__le16	seq_id;
 7367	__le16	target_id;
 7368	__le64	resp_addr;
 7369	__le32	enables;
 7370	#define RING_ALLOC_REQ_ENABLES_RING_ARB_CFG              0x2UL
 7371	#define RING_ALLOC_REQ_ENABLES_STAT_CTX_ID_VALID         0x8UL
 7372	#define RING_ALLOC_REQ_ENABLES_MAX_BW_VALID              0x20UL
 7373	#define RING_ALLOC_REQ_ENABLES_RX_RING_ID_VALID          0x40UL
 7374	#define RING_ALLOC_REQ_ENABLES_NQ_RING_ID_VALID          0x80UL
 7375	#define RING_ALLOC_REQ_ENABLES_RX_BUF_SIZE_VALID         0x100UL
 7376	#define RING_ALLOC_REQ_ENABLES_SCHQ_ID                   0x200UL
 7377	#define RING_ALLOC_REQ_ENABLES_MPC_CHNLS_TYPE            0x400UL
 7378	#define RING_ALLOC_REQ_ENABLES_STEERING_TAG_VALID        0x800UL
 7379	#define RING_ALLOC_REQ_ENABLES_RX_RATE_PROFILE_VALID     0x1000UL
 7380	#define RING_ALLOC_REQ_ENABLES_DPI_VALID                 0x2000UL
 7381	u8	ring_type;
 7382	#define RING_ALLOC_REQ_RING_TYPE_L2_CMPL   0x0UL
 7383	#define RING_ALLOC_REQ_RING_TYPE_TX        0x1UL
 7384	#define RING_ALLOC_REQ_RING_TYPE_RX        0x2UL
 7385	#define RING_ALLOC_REQ_RING_TYPE_ROCE_CMPL 0x3UL
 7386	#define RING_ALLOC_REQ_RING_TYPE_RX_AGG    0x4UL
 7387	#define RING_ALLOC_REQ_RING_TYPE_NQ        0x5UL
 7388	#define RING_ALLOC_REQ_RING_TYPE_LAST     RING_ALLOC_REQ_RING_TYPE_NQ
 7389	u8	cmpl_coal_cnt;
 7390	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_OFF 0x0UL
 7391	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_4   0x1UL
 7392	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_8   0x2UL
 7393	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_12  0x3UL
 7394	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_16  0x4UL
 7395	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_24  0x5UL
 7396	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_32  0x6UL
 7397	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_48  0x7UL
 7398	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_64  0x8UL
 7399	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_96  0x9UL
 7400	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_128 0xaUL
 7401	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_192 0xbUL
 7402	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_256 0xcUL
 7403	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_320 0xdUL
 7404	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_384 0xeUL
 7405	#define RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_MAX 0xfUL
 7406	#define RING_ALLOC_REQ_CMPL_COAL_CNT_LAST    RING_ALLOC_REQ_CMPL_COAL_CNT_COAL_MAX
 7407	__le16	flags;
 7408	#define RING_ALLOC_REQ_FLAGS_RX_SOP_PAD                        0x1UL
 7409	#define RING_ALLOC_REQ_FLAGS_DISABLE_CQ_OVERFLOW_DETECTION     0x2UL
 7410	#define RING_ALLOC_REQ_FLAGS_NQ_DBR_PACING                     0x4UL
 7411	#define RING_ALLOC_REQ_FLAGS_TX_PKT_TS_CMPL_ENABLE             0x8UL
 7412	__le64	page_tbl_addr;
 7413	__le32	fbo;
 7414	u8	page_size;
 7415	u8	page_tbl_depth;
 7416	__le16	schq_id;
 7417	__le32	length;
 7418	__le16	logical_id;
 7419	__le16	cmpl_ring_id;
 7420	__le16	queue_id;
 7421	__le16	rx_buf_size;
 7422	__le16	rx_ring_id;
 7423	__le16	nq_ring_id;
 7424	__le16	ring_arb_cfg;
 7425	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_MASK      0xfUL
 7426	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SFT       0
 7427	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SP          0x1UL
 7428	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ         0x2UL
 7429	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_LAST       RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ
 7430	#define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_MASK            0xf0UL
 7431	#define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_SFT             4
 7432	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_MASK 0xff00UL
 7433	#define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_SFT 8
 7434	__le16	steering_tag;
 7435	__le32	reserved3;
 7436	__le32	stat_ctx_id;
 7437	__le32	reserved4;
 7438	__le32	max_bw;
 7439	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_MASK             0xfffffffUL
 7440	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_SFT              0
 7441	#define RING_ALLOC_REQ_MAX_BW_SCALE                     0x10000000UL
 7442	#define RING_ALLOC_REQ_MAX_BW_SCALE_BITS                  (0x0UL << 28)
 7443	#define RING_ALLOC_REQ_MAX_BW_SCALE_BYTES                 (0x1UL << 28)
 7444	#define RING_ALLOC_REQ_MAX_BW_SCALE_LAST                 RING_ALLOC_REQ_MAX_BW_SCALE_BYTES
 7445	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MASK        0xe0000000UL
 7446	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_SFT         29
 7447	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MEGA          (0x0UL << 29)
 7448	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_KILO          (0x2UL << 29)
 7449	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_BASE          (0x4UL << 29)
 7450	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_GIGA          (0x6UL << 29)
 7451	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100  (0x1UL << 29)
 7452	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID       (0x7UL << 29)
 7453	#define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_LAST         RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID
 7454	u8	int_mode;
 7455	#define RING_ALLOC_REQ_INT_MODE_LEGACY 0x0UL
 7456	#define RING_ALLOC_REQ_INT_MODE_RSVD   0x1UL
 7457	#define RING_ALLOC_REQ_INT_MODE_MSIX   0x2UL
 7458	#define RING_ALLOC_REQ_INT_MODE_POLL   0x3UL
 7459	#define RING_ALLOC_REQ_INT_MODE_LAST  RING_ALLOC_REQ_INT_MODE_POLL
 7460	u8	mpc_chnls_type;
 7461	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_TCE     0x0UL
 7462	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_RCE     0x1UL
 7463	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_TE_CFA  0x2UL
 7464	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_RE_CFA  0x3UL
 7465	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_PRIMATE 0x4UL
 7466	#define RING_ALLOC_REQ_MPC_CHNLS_TYPE_LAST   RING_ALLOC_REQ_MPC_CHNLS_TYPE_PRIMATE
 7467	u8	rx_rate_profile_sel;
 7468	#define RING_ALLOC_REQ_RX_RATE_PROFILE_SEL_DEFAULT   0x0UL
 7469	#define RING_ALLOC_REQ_RX_RATE_PROFILE_SEL_POLL_MODE 0x1UL
 7470	#define RING_ALLOC_REQ_RX_RATE_PROFILE_SEL_LAST     RING_ALLOC_REQ_RX_RATE_PROFILE_SEL_POLL_MODE
 7471	u8	unused_4;
 7472	__le64	cq_handle;
 7473	__le16	dpi;
 7474	__le16	unused_5[3];
 7475};
 7476
 7477/* hwrm_ring_alloc_output (size:128b/16B) */
 7478struct hwrm_ring_alloc_output {
 7479	__le16	error_code;
 7480	__le16	req_type;
 7481	__le16	seq_id;
 7482	__le16	resp_len;
 7483	__le16	ring_id;
 7484	__le16	logical_ring_id;
 7485	u8	push_buffer_index;
 7486	#define RING_ALLOC_RESP_PUSH_BUFFER_INDEX_PING_BUFFER 0x0UL
 7487	#define RING_ALLOC_RESP_PUSH_BUFFER_INDEX_PONG_BUFFER 0x1UL
 7488	#define RING_ALLOC_RESP_PUSH_BUFFER_INDEX_LAST       RING_ALLOC_RESP_PUSH_BUFFER_INDEX_PONG_BUFFER
 7489	u8	unused_0[2];
 7490	u8	valid;
 7491};
 7492
 7493/* hwrm_ring_free_input (size:256b/32B) */
 7494struct hwrm_ring_free_input {
 7495	__le16	req_type;
 7496	__le16	cmpl_ring;
 7497	__le16	seq_id;
 7498	__le16	target_id;
 7499	__le64	resp_addr;
 7500	u8	ring_type;
 7501	#define RING_FREE_REQ_RING_TYPE_L2_CMPL   0x0UL
 7502	#define RING_FREE_REQ_RING_TYPE_TX        0x1UL
 7503	#define RING_FREE_REQ_RING_TYPE_RX        0x2UL
 7504	#define RING_FREE_REQ_RING_TYPE_ROCE_CMPL 0x3UL
 7505	#define RING_FREE_REQ_RING_TYPE_RX_AGG    0x4UL
 7506	#define RING_FREE_REQ_RING_TYPE_NQ        0x5UL
 7507	#define RING_FREE_REQ_RING_TYPE_LAST     RING_FREE_REQ_RING_TYPE_NQ
 7508	u8	flags;
 7509	#define RING_FREE_REQ_FLAGS_VIRTIO_RING_VALID 0x1UL
 7510	#define RING_FREE_REQ_FLAGS_LAST             RING_FREE_REQ_FLAGS_VIRTIO_RING_VALID
 7511	__le16	ring_id;
 7512	__le32	prod_idx;
 7513	__le32	opaque;
 7514	__le32	unused_1;
 7515};
 7516
 7517/* hwrm_ring_free_output (size:128b/16B) */
 7518struct hwrm_ring_free_output {
 7519	__le16	error_code;
 7520	__le16	req_type;
 7521	__le16	seq_id;
 7522	__le16	resp_len;
 7523	u8	unused_0[7];
 7524	u8	valid;
 7525};
 7526
 7527/* hwrm_ring_reset_input (size:192b/24B) */
 7528struct hwrm_ring_reset_input {
 7529	__le16	req_type;
 7530	__le16	cmpl_ring;
 7531	__le16	seq_id;
 7532	__le16	target_id;
 7533	__le64	resp_addr;
 7534	u8	ring_type;
 7535	#define RING_RESET_REQ_RING_TYPE_L2_CMPL     0x0UL
 7536	#define RING_RESET_REQ_RING_TYPE_TX          0x1UL
 7537	#define RING_RESET_REQ_RING_TYPE_RX          0x2UL
 7538	#define RING_RESET_REQ_RING_TYPE_ROCE_CMPL   0x3UL
 7539	#define RING_RESET_REQ_RING_TYPE_RX_RING_GRP 0x6UL
 7540	#define RING_RESET_REQ_RING_TYPE_LAST       RING_RESET_REQ_RING_TYPE_RX_RING_GRP
 7541	u8	unused_0;
 7542	__le16	ring_id;
 7543	u8	unused_1[4];
 7544};
 7545
 7546/* hwrm_ring_reset_output (size:128b/16B) */
 7547struct hwrm_ring_reset_output {
 7548	__le16	error_code;
 7549	__le16	req_type;
 7550	__le16	seq_id;
 7551	__le16	resp_len;
 7552	u8	push_buffer_index;
 7553	#define RING_RESET_RESP_PUSH_BUFFER_INDEX_PING_BUFFER 0x0UL
 7554	#define RING_RESET_RESP_PUSH_BUFFER_INDEX_PONG_BUFFER 0x1UL
 7555	#define RING_RESET_RESP_PUSH_BUFFER_INDEX_LAST       RING_RESET_RESP_PUSH_BUFFER_INDEX_PONG_BUFFER
 7556	u8	unused_0[3];
 7557	u8	consumer_idx[3];
 7558	u8	valid;
 7559};
 7560
 7561/* hwrm_ring_aggint_qcaps_input (size:128b/16B) */
 7562struct hwrm_ring_aggint_qcaps_input {
 7563	__le16	req_type;
 7564	__le16	cmpl_ring;
 7565	__le16	seq_id;
 7566	__le16	target_id;
 7567	__le64	resp_addr;
 7568};
 7569
 7570/* hwrm_ring_aggint_qcaps_output (size:384b/48B) */
 7571struct hwrm_ring_aggint_qcaps_output {
 7572	__le16	error_code;
 7573	__le16	req_type;
 7574	__le16	seq_id;
 7575	__le16	resp_len;
 7576	__le32	cmpl_params;
 7577	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_INT_LAT_TMR_MIN                  0x1UL
 7578	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_INT_LAT_TMR_MAX                  0x2UL
 7579	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_TIMER_RESET                      0x4UL
 7580	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_RING_IDLE                        0x8UL
 7581	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_DMA_AGGR                0x10UL
 7582	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_DMA_AGGR_DURING_INT     0x20UL
 7583	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_CMPL_AGGR_DMA_TMR                0x40UL
 7584	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_CMPL_AGGR_DMA_TMR_DURING_INT     0x80UL
 7585	#define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_AGGR_INT                0x100UL
 7586	__le32	nq_params;
 7587	#define RING_AGGINT_QCAPS_RESP_NQ_PARAMS_INT_LAT_TMR_MIN     0x1UL
 7588	__le16	num_cmpl_dma_aggr_min;
 7589	__le16	num_cmpl_dma_aggr_max;
 7590	__le16	num_cmpl_dma_aggr_during_int_min;
 7591	__le16	num_cmpl_dma_aggr_during_int_max;
 7592	__le16	cmpl_aggr_dma_tmr_min;
 7593	__le16	cmpl_aggr_dma_tmr_max;
 7594	__le16	cmpl_aggr_dma_tmr_during_int_min;
 7595	__le16	cmpl_aggr_dma_tmr_during_int_max;
 7596	__le16	int_lat_tmr_min_min;
 7597	__le16	int_lat_tmr_min_max;
 7598	__le16	int_lat_tmr_max_min;
 7599	__le16	int_lat_tmr_max_max;
 7600	__le16	num_cmpl_aggr_int_min;
 7601	__le16	num_cmpl_aggr_int_max;
 7602	__le16	timer_units;
 7603	u8	unused_0[1];
 7604	u8	valid;
 7605};
 7606
 7607/* hwrm_ring_cmpl_ring_qaggint_params_input (size:192b/24B) */
 7608struct hwrm_ring_cmpl_ring_qaggint_params_input {
 7609	__le16	req_type;
 7610	__le16	cmpl_ring;
 7611	__le16	seq_id;
 7612	__le16	target_id;
 7613	__le64	resp_addr;
 7614	__le16	ring_id;
 7615	__le16	flags;
 7616	#define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_UNUSED_0_MASK 0x3UL
 7617	#define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_UNUSED_0_SFT 0
 7618	#define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_IS_NQ        0x4UL
 7619	u8	unused_0[4];
 7620};
 7621
 7622/* hwrm_ring_cmpl_ring_qaggint_params_output (size:256b/32B) */
 7623struct hwrm_ring_cmpl_ring_qaggint_params_output {
 7624	__le16	error_code;
 7625	__le16	req_type;
 7626	__le16	seq_id;
 7627	__le16	resp_len;
 7628	__le16	flags;
 7629	#define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_TIMER_RESET     0x1UL
 7630	#define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_RING_IDLE       0x2UL
 7631	__le16	num_cmpl_dma_aggr;
 7632	__le16	num_cmpl_dma_aggr_during_int;
 7633	__le16	cmpl_aggr_dma_tmr;
 7634	__le16	cmpl_aggr_dma_tmr_during_int;
 7635	__le16	int_lat_tmr_min;
 7636	__le16	int_lat_tmr_max;
 7637	__le16	num_cmpl_aggr_int;
 7638	u8	unused_0[7];
 7639	u8	valid;
 7640};
 7641
 7642/* hwrm_ring_cmpl_ring_cfg_aggint_params_input (size:320b/40B) */
 7643struct hwrm_ring_cmpl_ring_cfg_aggint_params_input {
 7644	__le16	req_type;
 7645	__le16	cmpl_ring;
 7646	__le16	seq_id;
 7647	__le16	target_id;
 7648	__le64	resp_addr;
 7649	__le16	ring_id;
 7650	__le16	flags;
 7651	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_TIMER_RESET     0x1UL
 7652	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_RING_IDLE       0x2UL
 7653	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_IS_NQ           0x4UL
 7654	__le16	num_cmpl_dma_aggr;
 7655	__le16	num_cmpl_dma_aggr_during_int;
 7656	__le16	cmpl_aggr_dma_tmr;
 7657	__le16	cmpl_aggr_dma_tmr_during_int;
 7658	__le16	int_lat_tmr_min;
 7659	__le16	int_lat_tmr_max;
 7660	__le16	num_cmpl_aggr_int;
 7661	__le16	enables;
 7662	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_DMA_AGGR                0x1UL
 7663	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_DMA_AGGR_DURING_INT     0x2UL
 7664	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_CMPL_AGGR_DMA_TMR                0x4UL
 7665	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_INT_LAT_TMR_MIN                  0x8UL
 7666	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_INT_LAT_TMR_MAX                  0x10UL
 7667	#define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_AGGR_INT                0x20UL
 7668	u8	unused_0[4];
 7669};
 7670
 7671/* hwrm_ring_cmpl_ring_cfg_aggint_params_output (size:128b/16B) */
 7672struct hwrm_ring_cmpl_ring_cfg_aggint_params_output {
 7673	__le16	error_code;
 7674	__le16	req_type;
 7675	__le16	seq_id;
 7676	__le16	resp_len;
 7677	u8	unused_0[7];
 7678	u8	valid;
 7679};
 7680
 7681/* hwrm_ring_grp_alloc_input (size:192b/24B) */
 7682struct hwrm_ring_grp_alloc_input {
 7683	__le16	req_type;
 7684	__le16	cmpl_ring;
 7685	__le16	seq_id;
 7686	__le16	target_id;
 7687	__le64	resp_addr;
 7688	__le16	cr;
 7689	__le16	rr;
 7690	__le16	ar;
 7691	__le16	sc;
 7692};
 7693
 7694/* hwrm_ring_grp_alloc_output (size:128b/16B) */
 7695struct hwrm_ring_grp_alloc_output {
 7696	__le16	error_code;
 7697	__le16	req_type;
 7698	__le16	seq_id;
 7699	__le16	resp_len;
 7700	__le32	ring_group_id;
 7701	u8	unused_0[3];
 7702	u8	valid;
 7703};
 7704
 7705/* hwrm_ring_grp_free_input (size:192b/24B) */
 7706struct hwrm_ring_grp_free_input {
 7707	__le16	req_type;
 7708	__le16	cmpl_ring;
 7709	__le16	seq_id;
 7710	__le16	target_id;
 7711	__le64	resp_addr;
 7712	__le32	ring_group_id;
 7713	u8	unused_0[4];
 7714};
 7715
 7716/* hwrm_ring_grp_free_output (size:128b/16B) */
 7717struct hwrm_ring_grp_free_output {
 7718	__le16	error_code;
 7719	__le16	req_type;
 7720	__le16	seq_id;
 7721	__le16	resp_len;
 7722	u8	unused_0[7];
 7723	u8	valid;
 7724};
 7725
 7726#define DEFAULT_FLOW_ID 0xFFFFFFFFUL
 7727#define ROCEV1_FLOW_ID 0xFFFFFFFEUL
 7728#define ROCEV2_FLOW_ID 0xFFFFFFFDUL
 7729#define ROCEV2_CNP_FLOW_ID 0xFFFFFFFCUL
 7730
 7731/* hwrm_cfa_l2_filter_alloc_input (size:768b/96B) */
 7732struct hwrm_cfa_l2_filter_alloc_input {
 7733	__le16	req_type;
 7734	__le16	cmpl_ring;
 7735	__le16	seq_id;
 7736	__le16	target_id;
 7737	__le64	resp_addr;
 7738	__le32	flags;
 7739	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH              0x1UL
 7740	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX             0x0UL
 7741	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX             0x1UL
 7742	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_LAST          CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX
 7743	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK          0x2UL
 7744	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP              0x4UL
 7745	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST         0x8UL
 7746	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_MASK      0x30UL
 7747	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_SFT       4
 7748	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_NO_ROCE_L2  (0x0UL << 4)
 7749	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_L2          (0x1UL << 4)
 7750	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_ROCE        (0x2UL << 4)
 7751	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_LAST       CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_ROCE
 7752	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_XDP_DISABLE       0x40UL
 7753	#define CFA_L2_FILTER_ALLOC_REQ_FLAGS_SOURCE_VALID      0x80UL
 7754	__le32	enables;
 7755	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR             0x1UL
 7756	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR_MASK        0x2UL
 7757	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN            0x4UL
 7758	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN_MASK       0x8UL
 7759	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN            0x10UL
 7760	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN_MASK       0x20UL
 7761	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR           0x40UL
 7762	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR_MASK      0x80UL
 7763	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN          0x100UL
 7764	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN_MASK     0x200UL
 7765	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN          0x400UL
 7766	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN_MASK     0x800UL
 7767	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_TYPE            0x1000UL
 7768	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_ID              0x2000UL
 7769	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE         0x4000UL
 7770	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_DST_ID              0x8000UL
 7771	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID      0x10000UL
 7772	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_NUM_VLANS           0x20000UL
 7773	#define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_NUM_VLANS         0x40000UL
 7774	u8	l2_addr[6];
 7775	u8	num_vlans;
 7776	u8	t_num_vlans;
 7777	u8	l2_addr_mask[6];
 7778	__le16	l2_ovlan;
 7779	__le16	l2_ovlan_mask;
 7780	__le16	l2_ivlan;
 7781	__le16	l2_ivlan_mask;
 7782	u8	unused_1[2];
 7783	u8	t_l2_addr[6];
 7784	u8	unused_2[2];
 7785	u8	t_l2_addr_mask[6];
 7786	__le16	t_l2_ovlan;
 7787	__le16	t_l2_ovlan_mask;
 7788	__le16	t_l2_ivlan;
 7789	__le16	t_l2_ivlan_mask;
 7790	u8	src_type;
 7791	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_NPORT 0x0UL
 7792	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_PF    0x1UL
 7793	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VF    0x2UL
 7794	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VNIC  0x3UL
 7795	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_KONG  0x4UL
 7796	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_APE   0x5UL
 7797	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_BONO  0x6UL
 7798	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG  0x7UL
 7799	#define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_LAST CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG
 7800	u8	unused_3;
 7801	__le32	src_id;
 7802	u8	tunnel_type;
 7803	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL    0x0UL
 7804	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN        0x1UL
 7805	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE        0x2UL
 7806	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE        0x3UL
 7807	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP         0x4UL
 7808	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE       0x5UL
 7809	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS         0x6UL
 7810	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT          0x7UL
 7811	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE        0x8UL
 7812	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4     0x9UL
 7813	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1     0xaUL
 7814	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE     0xbUL
 7815	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
 7816	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE    0x10UL
 7817	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL    0xffUL
 7818	#define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST        CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
 7819	u8	unused_4;
 7820	__le16	dst_id;
 7821	__le16	mirror_vnic_id;
 7822	u8	pri_hint;
 7823	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER    0x0UL
 7824	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_ABOVE_FILTER 0x1UL
 7825	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_BELOW_FILTER 0x2UL
 7826	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MAX          0x3UL
 7827	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN          0x4UL
 7828	#define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_LAST        CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN
 7829	u8	unused_5;
 7830	__le32	unused_6;
 7831	__le64	l2_filter_id_hint;
 7832};
 7833
 7834/* hwrm_cfa_l2_filter_alloc_output (size:192b/24B) */
 7835struct hwrm_cfa_l2_filter_alloc_output {
 7836	__le16	error_code;
 7837	__le16	req_type;
 7838	__le16	seq_id;
 7839	__le16	resp_len;
 7840	__le64	l2_filter_id;
 7841	__le32	flow_id;
 7842	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
 7843	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
 7844	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE      0x40000000UL
 7845	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT    (0x0UL << 30)
 7846	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT    (0x1UL << 30)
 7847	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST  CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
 7848	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR       0x80000000UL
 7849	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX      (0x0UL << 31)
 7850	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX      (0x1UL << 31)
 7851	#define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST   CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
 7852	u8	unused_0[3];
 7853	u8	valid;
 7854};
 7855
 7856/* hwrm_cfa_l2_filter_free_input (size:192b/24B) */
 7857struct hwrm_cfa_l2_filter_free_input {
 7858	__le16	req_type;
 7859	__le16	cmpl_ring;
 7860	__le16	seq_id;
 7861	__le16	target_id;
 7862	__le64	resp_addr;
 7863	__le64	l2_filter_id;
 7864};
 7865
 7866/* hwrm_cfa_l2_filter_free_output (size:128b/16B) */
 7867struct hwrm_cfa_l2_filter_free_output {
 7868	__le16	error_code;
 7869	__le16	req_type;
 7870	__le16	seq_id;
 7871	__le16	resp_len;
 7872	u8	unused_0[7];
 7873	u8	valid;
 7874};
 7875
 7876/* hwrm_cfa_l2_filter_cfg_input (size:384b/48B) */
 7877struct hwrm_cfa_l2_filter_cfg_input {
 7878	__le16	req_type;
 7879	__le16	cmpl_ring;
 7880	__le16	seq_id;
 7881	__le16	target_id;
 7882	__le64	resp_addr;
 7883	__le32	flags;
 7884	#define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH                  0x1UL
 7885	#define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX                 0x0UL
 7886	#define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX                 0x1UL
 7887	#define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_LAST              CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX
 7888	#define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP                  0x2UL
 7889	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_MASK          0xcUL
 7890	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_SFT           2
 7891	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_NO_ROCE_L2      (0x0UL << 2)
 7892	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_L2              (0x1UL << 2)
 7893	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_ROCE            (0x2UL << 2)
 7894	#define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_LAST           CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_ROCE
 7895	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_MASK         0x30UL
 7896	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_SFT          4
 7897	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_NO_UPDATE      (0x0UL << 4)
 7898	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_BYPASS_LKUP    (0x1UL << 4)
 7899	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_ENABLE_LKUP    (0x2UL << 4)
 7900	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_RESTORE_FW_OP  (0x3UL << 4)
 7901	#define CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_LAST          CFA_L2_FILTER_CFG_REQ_FLAGS_REMAP_OP_RESTORE_FW_OP
 7902	__le32	enables;
 7903	#define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID                 0x1UL
 7904	#define CFA_L2_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID     0x2UL
 7905	#define CFA_L2_FILTER_CFG_REQ_ENABLES_PROF_FUNC              0x4UL
 7906	#define CFA_L2_FILTER_CFG_REQ_ENABLES_L2_CONTEXT_ID          0x8UL
 7907	__le64	l2_filter_id;
 7908	__le32	dst_id;
 7909	__le32	new_mirror_vnic_id;
 7910	__le32	prof_func;
 7911	__le32	l2_context_id;
 7912};
 7913
 7914/* hwrm_cfa_l2_filter_cfg_output (size:128b/16B) */
 7915struct hwrm_cfa_l2_filter_cfg_output {
 7916	__le16	error_code;
 7917	__le16	req_type;
 7918	__le16	seq_id;
 7919	__le16	resp_len;
 7920	u8	unused_0[7];
 7921	u8	valid;
 7922};
 7923
 7924/* hwrm_cfa_l2_set_rx_mask_input (size:448b/56B) */
 7925struct hwrm_cfa_l2_set_rx_mask_input {
 7926	__le16	req_type;
 7927	__le16	cmpl_ring;
 7928	__le16	seq_id;
 7929	__le16	target_id;
 7930	__le64	resp_addr;
 7931	__le32	vnic_id;
 7932	__le32	mask;
 7933	#define CFA_L2_SET_RX_MASK_REQ_MASK_MCAST               0x2UL
 7934	#define CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST           0x4UL
 7935	#define CFA_L2_SET_RX_MASK_REQ_MASK_BCAST               0x8UL
 7936	#define CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS         0x10UL
 7937	#define CFA_L2_SET_RX_MASK_REQ_MASK_OUTERMOST           0x20UL
 7938	#define CFA_L2_SET_RX_MASK_REQ_MASK_VLANONLY            0x40UL
 7939	#define CFA_L2_SET_RX_MASK_REQ_MASK_VLAN_NONVLAN        0x80UL
 7940	#define CFA_L2_SET_RX_MASK_REQ_MASK_ANYVLAN_NONVLAN     0x100UL
 7941	__le64	mc_tbl_addr;
 7942	__le32	num_mc_entries;
 7943	u8	unused_0[4];
 7944	__le64	vlan_tag_tbl_addr;
 7945	__le32	num_vlan_tags;
 7946	u8	unused_1[4];
 7947};
 7948
 7949/* hwrm_cfa_l2_set_rx_mask_output (size:128b/16B) */
 7950struct hwrm_cfa_l2_set_rx_mask_output {
 7951	__le16	error_code;
 7952	__le16	req_type;
 7953	__le16	seq_id;
 7954	__le16	resp_len;
 7955	u8	unused_0[7];
 7956	u8	valid;
 7957};
 7958
 7959/* hwrm_cfa_l2_set_rx_mask_cmd_err (size:64b/8B) */
 7960struct hwrm_cfa_l2_set_rx_mask_cmd_err {
 7961	u8	code;
 7962	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_UNKNOWN                    0x0UL
 7963	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR 0x1UL
 7964	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_MAX_VLAN_TAGS              0x2UL
 7965	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_INVALID_VNIC_ID            0x3UL
 7966	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_INVALID_ACTION             0x4UL
 7967	#define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_LAST                      CFA_L2_SET_RX_MASK_CMD_ERR_CODE_INVALID_ACTION
 7968	u8	unused_0[7];
 7969};
 7970
 7971/* hwrm_cfa_tunnel_filter_alloc_input (size:704b/88B) */
 7972struct hwrm_cfa_tunnel_filter_alloc_input {
 7973	__le16	req_type;
 7974	__le16	cmpl_ring;
 7975	__le16	seq_id;
 7976	__le16	target_id;
 7977	__le64	resp_addr;
 7978	__le32	flags;
 7979	#define CFA_TUNNEL_FILTER_ALLOC_REQ_FLAGS_LOOPBACK     0x1UL
 7980	__le32	enables;
 7981	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID       0x1UL
 7982	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_ADDR            0x2UL
 7983	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN           0x4UL
 7984	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR            0x8UL
 7985	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR_TYPE       0x10UL
 7986	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR_TYPE     0x20UL
 7987	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR          0x40UL
 7988	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE        0x80UL
 7989	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_VNI                0x100UL
 7990	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_DST_VNIC_ID        0x200UL
 7991	#define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID     0x400UL
 7992	__le64	l2_filter_id;
 7993	u8	l2_addr[6];
 7994	__le16	l2_ivlan;
 7995	__le32	l3_addr[4];
 7996	__le32	t_l3_addr[4];
 7997	u8	l3_addr_type;
 7998	u8	t_l3_addr_type;
 7999	u8	tunnel_type;
 8000	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL    0x0UL
 8001	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN        0x1UL
 8002	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE        0x2UL
 8003	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE        0x3UL
 8004	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP         0x4UL
 8005	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE       0x5UL
 8006	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS         0x6UL
 8007	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT          0x7UL
 8008	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE        0x8UL
 8009	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4     0x9UL
 8010	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1     0xaUL
 8011	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE     0xbUL
 8012	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
 8013	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE    0x10UL
 8014	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL    0xffUL
 8015	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST        CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
 8016	u8	tunnel_flags;
 8017	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_OAM_CHECKSUM_EXPLHDR     0x1UL
 8018	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_CRITICAL_OPT_S1          0x2UL
 8019	#define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_EXTHDR_SEQNUM_S0         0x4UL
 8020	__le32	vni;
 8021	__le32	dst_vnic_id;
 8022	__le32	mirror_vnic_id;
 8023};
 8024
 8025/* hwrm_cfa_tunnel_filter_alloc_output (size:192b/24B) */
 8026struct hwrm_cfa_tunnel_filter_alloc_output {
 8027	__le16	error_code;
 8028	__le16	req_type;
 8029	__le16	seq_id;
 8030	__le16	resp_len;
 8031	__le64	tunnel_filter_id;
 8032	__le32	flow_id;
 8033	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
 8034	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
 8035	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE      0x40000000UL
 8036	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT    (0x0UL << 30)
 8037	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT    (0x1UL << 30)
 8038	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST  CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
 8039	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR       0x80000000UL
 8040	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX      (0x0UL << 31)
 8041	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX      (0x1UL << 31)
 8042	#define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST   CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
 8043	u8	unused_0[3];
 8044	u8	valid;
 8045};
 8046
 8047/* hwrm_cfa_tunnel_filter_free_input (size:192b/24B) */
 8048struct hwrm_cfa_tunnel_filter_free_input {
 8049	__le16	req_type;
 8050	__le16	cmpl_ring;
 8051	__le16	seq_id;
 8052	__le16	target_id;
 8053	__le64	resp_addr;
 8054	__le64	tunnel_filter_id;
 8055};
 8056
 8057/* hwrm_cfa_tunnel_filter_free_output (size:128b/16B) */
 8058struct hwrm_cfa_tunnel_filter_free_output {
 8059	__le16	error_code;
 8060	__le16	req_type;
 8061	__le16	seq_id;
 8062	__le16	resp_len;
 8063	u8	unused_0[7];
 8064	u8	valid;
 8065};
 8066
 8067/* hwrm_vxlan_ipv4_hdr (size:128b/16B) */
 8068struct hwrm_vxlan_ipv4_hdr {
 8069	u8	ver_hlen;
 8070	#define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_MASK 0xfUL
 8071	#define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_SFT 0
 8072	#define VXLAN_IPV4_HDR_VER_HLEN_VERSION_MASK      0xf0UL
 8073	#define VXLAN_IPV4_HDR_VER_HLEN_VERSION_SFT       4
 8074	u8	tos;
 8075	__be16	ip_id;
 8076	__be16	flags_frag_offset;
 8077	u8	ttl;
 8078	u8	protocol;
 8079	__be32	src_ip_addr;
 8080	__be32	dest_ip_addr;
 8081};
 8082
 8083/* hwrm_vxlan_ipv6_hdr (size:320b/40B) */
 8084struct hwrm_vxlan_ipv6_hdr {
 8085	__be32	ver_tc_flow_label;
 8086	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_SFT         0x1cUL
 8087	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_MASK        0xf0000000UL
 8088	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_SFT          0x14UL
 8089	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_MASK         0xff00000UL
 8090	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_SFT  0x0UL
 8091	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK 0xfffffUL
 8092	#define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_LAST           VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK
 8093	__be16	payload_len;
 8094	u8	next_hdr;
 8095	u8	ttl;
 8096	__be32	src_ip_addr[4];
 8097	__be32	dest_ip_addr[4];
 8098};
 8099
 8100/* hwrm_cfa_encap_data_vxlan (size:640b/80B) */
 8101struct hwrm_cfa_encap_data_vxlan {
 8102	u8	src_mac_addr[6];
 8103	__le16	unused_0;
 8104	u8	dst_mac_addr[6];
 8105	u8	num_vlan_tags;
 8106	u8	unused_1;
 8107	__be16	ovlan_tpid;
 8108	__be16	ovlan_tci;
 8109	__be16	ivlan_tpid;
 8110	__be16	ivlan_tci;
 8111	__le32	l3[10];
 8112	#define CFA_ENCAP_DATA_VXLAN_L3_VER_MASK 0xfUL
 8113	#define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV4 0x4UL
 8114	#define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6 0x6UL
 8115	#define CFA_ENCAP_DATA_VXLAN_L3_LAST    CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6
 8116	__be16	src_port;
 8117	__be16	dst_port;
 8118	__be32	vni;
 8119	u8	hdr_rsvd0[3];
 8120	u8	hdr_rsvd1;
 8121	u8	hdr_flags;
 8122	u8	unused[3];
 8123};
 8124
 8125/* hwrm_cfa_encap_record_alloc_input (size:832b/104B) */
 8126struct hwrm_cfa_encap_record_alloc_input {
 8127	__le16	req_type;
 8128	__le16	cmpl_ring;
 8129	__le16	seq_id;
 8130	__le16	target_id;
 8131	__le64	resp_addr;
 8132	__le32	flags;
 8133	#define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_LOOPBACK     0x1UL
 8134	#define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_EXTERNAL     0x2UL
 8135	u8	encap_type;
 8136	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN        0x1UL
 8137	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_NVGRE        0x2UL
 8138	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2GRE        0x3UL
 8139	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPIP         0x4UL
 8140	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_GENEVE       0x5UL
 8141	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_MPLS         0x6UL
 8142	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VLAN         0x7UL
 8143	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE        0x8UL
 8144	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_V4     0x9UL
 8145	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE_V1     0xaUL
 8146	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2_ETYPE     0xbUL
 8147	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_GPE_V6 0xcUL
 8148	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_GPE    0x10UL
 8149	#define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_LAST        CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_GPE
 8150	u8	unused_0[3];
 8151	__le32	encap_data[20];
 8152};
 8153
 8154/* hwrm_cfa_encap_record_alloc_output (size:128b/16B) */
 8155struct hwrm_cfa_encap_record_alloc_output {
 8156	__le16	error_code;
 8157	__le16	req_type;
 8158	__le16	seq_id;
 8159	__le16	resp_len;
 8160	__le32	encap_record_id;
 8161	u8	unused_0[3];
 8162	u8	valid;
 8163};
 8164
 8165/* hwrm_cfa_encap_record_free_input (size:192b/24B) */
 8166struct hwrm_cfa_encap_record_free_input {
 8167	__le16	req_type;
 8168	__le16	cmpl_ring;
 8169	__le16	seq_id;
 8170	__le16	target_id;
 8171	__le64	resp_addr;
 8172	__le32	encap_record_id;
 8173	u8	unused_0[4];
 8174};
 8175
 8176/* hwrm_cfa_encap_record_free_output (size:128b/16B) */
 8177struct hwrm_cfa_encap_record_free_output {
 8178	__le16	error_code;
 8179	__le16	req_type;
 8180	__le16	seq_id;
 8181	__le16	resp_len;
 8182	u8	unused_0[7];
 8183	u8	valid;
 8184};
 8185
 8186/* hwrm_cfa_ntuple_filter_alloc_input (size:1024b/128B) */
 8187struct hwrm_cfa_ntuple_filter_alloc_input {
 8188	__le16	req_type;
 8189	__le16	cmpl_ring;
 8190	__le16	seq_id;
 8191	__le16	target_id;
 8192	__le64	resp_addr;
 8193	__le32	flags;
 8194	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_LOOPBACK              0x1UL
 8195	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DROP                  0x2UL
 8196	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_METER                 0x4UL
 8197	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DEST_FID              0x8UL
 8198	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_ARP_REPLY             0x10UL
 8199	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DEST_RFS_RING_IDX     0x20UL
 8200	#define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_NO_L2_CONTEXT         0x40UL
 8201	__le32	enables;
 8202	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID         0x1UL
 8203	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE            0x2UL
 8204	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE          0x4UL
 8205	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR          0x8UL
 8206	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE          0x10UL
 8207	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR           0x20UL
 8208	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR_MASK      0x40UL
 8209	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR           0x80UL
 8210	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR_MASK      0x100UL
 8211	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL          0x200UL
 8212	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT             0x400UL
 8213	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT_MASK        0x800UL
 8214	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT             0x1000UL
 8215	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT_MASK        0x2000UL
 8216	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_PRI_HINT             0x4000UL
 8217	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_NTUPLE_FILTER_ID     0x8000UL
 8218	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_ID               0x10000UL
 8219	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID       0x20000UL
 8220	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR          0x40000UL
 8221	#define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_RFS_RING_TBL_IDX     0x80000UL
 8222	__le64	l2_filter_id;
 8223	u8	src_macaddr[6];
 8224	__be16	ethertype;
 8225	u8	ip_addr_type;
 8226	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL
 8227	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4    0x4UL
 8228	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6    0x6UL
 8229	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST   CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6
 8230	u8	ip_protocol;
 8231	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL
 8232	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP     0x6UL
 8233	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP     0x11UL
 8234	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_ICMP    0x1UL
 8235	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_ICMPV6  0x3aUL
 8236	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_RSVD    0xffUL
 8237	#define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST   CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_RSVD
 8238	__le16	dst_id;
 8239	__le16	rfs_ring_tbl_idx;
 8240	u8	tunnel_type;
 8241	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL    0x0UL
 8242	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN        0x1UL
 8243	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE        0x2UL
 8244	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE        0x3UL
 8245	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP         0x4UL
 8246	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE       0x5UL
 8247	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS         0x6UL
 8248	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT          0x7UL
 8249	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE        0x8UL
 8250	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4     0x9UL
 8251	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1     0xaUL
 8252	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE     0xbUL
 8253	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
 8254	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE    0x10UL
 8255	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL    0xffUL
 8256	#define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST        CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
 8257	u8	pri_hint;
 8258	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL
 8259	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_ABOVE     0x1UL
 8260	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_BELOW     0x2UL
 8261	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_HIGHEST   0x3UL
 8262	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST    0x4UL
 8263	#define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LAST     CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST
 8264	__be32	src_ipaddr[4];
 8265	__be32	src_ipaddr_mask[4];
 8266	__be32	dst_ipaddr[4];
 8267	__be32	dst_ipaddr_mask[4];
 8268	__be16	src_port;
 8269	__be16	src_port_mask;
 8270	__be16	dst_port;
 8271	__be16	dst_port_mask;
 8272	__le64	ntuple_filter_id_hint;
 8273};
 8274
 8275/* hwrm_cfa_ntuple_filter_alloc_output (size:192b/24B) */
 8276struct hwrm_cfa_ntuple_filter_alloc_output {
 8277	__le16	error_code;
 8278	__le16	req_type;
 8279	__le16	seq_id;
 8280	__le16	resp_len;
 8281	__le64	ntuple_filter_id;
 8282	__le32	flow_id;
 8283	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
 8284	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
 8285	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE      0x40000000UL
 8286	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT    (0x0UL << 30)
 8287	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT    (0x1UL << 30)
 8288	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST  CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
 8289	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR       0x80000000UL
 8290	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX      (0x0UL << 31)
 8291	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX      (0x1UL << 31)
 8292	#define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST   CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
 8293	u8	unused_0[3];
 8294	u8	valid;
 8295};
 8296
 8297/* hwrm_cfa_ntuple_filter_alloc_cmd_err (size:64b/8B) */
 8298struct hwrm_cfa_ntuple_filter_alloc_cmd_err {
 8299	u8	code;
 8300	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_UNKNOWN            0x0UL
 8301	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_ZERO_MAC           0x65UL
 8302	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_BC_MC_MAC          0x66UL
 8303	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_VNIC       0x67UL
 8304	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_PF_FID     0x68UL
 8305	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_L2_CTXT_ID 0x69UL
 8306	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_NULL_L2_CTXT_CFG   0x6aUL
 8307	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_NULL_L2_DATA_FLD   0x6bUL
 8308	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_CFA_LAYOUT 0x6cUL
 8309	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_L2_CTXT_ALLOC_FAIL 0x6dUL
 8310	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_ROCE_FLOW_ERR      0x6eUL
 8311	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_OWNER_FID  0x6fUL
 8312	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_ZERO_REF_CNT       0x70UL
 8313	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_FLOW_TYPE  0x71UL
 8314	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_IVLAN      0x72UL
 8315	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_MAX_VLAN_ID        0x73UL
 8316	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_TNL_REQ    0x74UL
 8317	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_L2_ADDR            0x75UL
 8318	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_L2_IVLAN           0x76UL
 8319	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_L3_ADDR            0x77UL
 8320	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_L3_ADDR_TYPE       0x78UL
 8321	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_T_L3_ADDR_TYPE     0x79UL
 8322	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_DST_VNIC_ID        0x7aUL
 8323	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_VNI                0x7bUL
 8324	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_DST_ID     0x7cUL
 8325	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_FAIL_ROCE_L2_FLOW  0x7dUL
 8326	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_NPAR_VLAN  0x7eUL
 8327	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_ATSP_ADD           0x7fUL
 8328	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_DFLT_VLAN_FAIL     0x80UL
 8329	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_INVALID_L3_TYPE    0x81UL
 8330	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_VAL_FAIL_TNL_FLOW  0x82UL
 8331	#define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_LAST              CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_VAL_FAIL_TNL_FLOW
 8332	u8	unused_0[7];
 8333};
 8334
 8335/* hwrm_cfa_ntuple_filter_free_input (size:192b/24B) */
 8336struct hwrm_cfa_ntuple_filter_free_input {
 8337	__le16	req_type;
 8338	__le16	cmpl_ring;
 8339	__le16	seq_id;
 8340	__le16	target_id;
 8341	__le64	resp_addr;
 8342	__le64	ntuple_filter_id;
 8343};
 8344
 8345/* hwrm_cfa_ntuple_filter_free_output (size:128b/16B) */
 8346struct hwrm_cfa_ntuple_filter_free_output {
 8347	__le16	error_code;
 8348	__le16	req_type;
 8349	__le16	seq_id;
 8350	__le16	resp_len;
 8351	u8	unused_0[7];
 8352	u8	valid;
 8353};
 8354
 8355/* hwrm_cfa_ntuple_filter_cfg_input (size:384b/48B) */
 8356struct hwrm_cfa_ntuple_filter_cfg_input {
 8357	__le16	req_type;
 8358	__le16	cmpl_ring;
 8359	__le16	seq_id;
 8360	__le16	target_id;
 8361	__le64	resp_addr;
 8362	__le32	enables;
 8363	#define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_DST_ID                0x1UL
 8364	#define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID        0x2UL
 8365	#define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_METER_INSTANCE_ID     0x4UL
 8366	__le32	flags;
 8367	#define CFA_NTUPLE_FILTER_CFG_REQ_FLAGS_DEST_FID              0x1UL
 8368	#define CFA_NTUPLE_FILTER_CFG_REQ_FLAGS_DEST_RFS_RING_IDX     0x2UL
 8369	#define CFA_NTUPLE_FILTER_CFG_REQ_FLAGS_NO_L2_CONTEXT         0x4UL
 8370	__le64	ntuple_filter_id;
 8371	__le32	new_dst_id;
 8372	__le32	new_mirror_vnic_id;
 8373	__le16	new_meter_instance_id;
 8374	#define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID 0xffffUL
 8375	#define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_LAST   CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID
 8376	u8	unused_1[6];
 8377};
 8378
 8379/* hwrm_cfa_ntuple_filter_cfg_output (size:128b/16B) */
 8380struct hwrm_cfa_ntuple_filter_cfg_output {
 8381	__le16	error_code;
 8382	__le16	req_type;
 8383	__le16	seq_id;
 8384	__le16	resp_len;
 8385	u8	unused_0[7];
 8386	u8	valid;
 8387};
 8388
 8389/* hwrm_cfa_decap_filter_alloc_input (size:832b/104B) */
 8390struct hwrm_cfa_decap_filter_alloc_input {
 8391	__le16	req_type;
 8392	__le16	cmpl_ring;
 8393	__le16	seq_id;
 8394	__le16	target_id;
 8395	__le64	resp_addr;
 8396	__le32	flags;
 8397	#define CFA_DECAP_FILTER_ALLOC_REQ_FLAGS_OVS_TUNNEL     0x1UL
 8398	__le32	enables;
 8399	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE        0x1UL
 8400	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_ID          0x2UL
 8401	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR        0x4UL
 8402	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR        0x8UL
 8403	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_OVLAN_VID          0x10UL
 8404	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IVLAN_VID          0x20UL
 8405	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_OVLAN_VID        0x40UL
 8406	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_IVLAN_VID        0x80UL
 8407	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE          0x100UL
 8408	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR         0x200UL
 8409	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR         0x400UL
 8410	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE        0x800UL
 8411	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL        0x1000UL
 8412	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_PORT           0x2000UL
 8413	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_PORT           0x4000UL
 8414	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_ID             0x8000UL
 8415	#define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID     0x10000UL
 8416	__be32	tunnel_id;
 8417	u8	tunnel_type;
 8418	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL    0x0UL
 8419	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN        0x1UL
 8420	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE        0x2UL
 8421	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE        0x3UL
 8422	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP         0x4UL
 8423	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE       0x5UL
 8424	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS         0x6UL
 8425	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT          0x7UL
 8426	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE        0x8UL
 8427	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4     0x9UL
 8428	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1     0xaUL
 8429	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE     0xbUL
 8430	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
 8431	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE    0x10UL
 8432	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL    0xffUL
 8433	#define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST        CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
 8434	u8	unused_0;
 8435	__le16	unused_1;
 8436	u8	src_macaddr[6];
 8437	u8	unused_2[2];
 8438	u8	dst_macaddr[6];
 8439	__be16	ovlan_vid;
 8440	__be16	ivlan_vid;
 8441	__be16	t_ovlan_vid;
 8442	__be16	t_ivlan_vid;
 8443	__be16	ethertype;
 8444	u8	ip_addr_type;
 8445	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL
 8446	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4    0x4UL
 8447	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6    0x6UL
 8448	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST   CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6
 8449	u8	ip_protocol;
 8450	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL
 8451	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP     0x6UL
 8452	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP     0x11UL
 8453	#define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST   CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP
 8454	__le16	unused_3;
 8455	__le32	unused_4;
 8456	__be32	src_ipaddr[4];
 8457	__be32	dst_ipaddr[4];
 8458	__be16	src_port;
 8459	__be16	dst_port;
 8460	__le16	dst_id;
 8461	__le16	l2_ctxt_ref_id;
 8462};
 8463
 8464/* hwrm_cfa_decap_filter_alloc_output (size:128b/16B) */
 8465struct hwrm_cfa_decap_filter_alloc_output {
 8466	__le16	error_code;
 8467	__le16	req_type;
 8468	__le16	seq_id;
 8469	__le16	resp_len;
 8470	__le32	decap_filter_id;
 8471	u8	unused_0[3];
 8472	u8	valid;
 8473};
 8474
 8475/* hwrm_cfa_decap_filter_free_input (size:192b/24B) */
 8476struct hwrm_cfa_decap_filter_free_input {
 8477	__le16	req_type;
 8478	__le16	cmpl_ring;
 8479	__le16	seq_id;
 8480	__le16	target_id;
 8481	__le64	resp_addr;
 8482	__le32	decap_filter_id;
 8483	u8	unused_0[4];
 8484};
 8485
 8486/* hwrm_cfa_decap_filter_free_output (size:128b/16B) */
 8487struct hwrm_cfa_decap_filter_free_output {
 8488	__le16	error_code;
 8489	__le16	req_type;
 8490	__le16	seq_id;
 8491	__le16	resp_len;
 8492	u8	unused_0[7];
 8493	u8	valid;
 8494};
 8495
 8496/* hwrm_cfa_flow_alloc_input (size:1024b/128B) */
 8497struct hwrm_cfa_flow_alloc_input {
 8498	__le16	req_type;
 8499	__le16	cmpl_ring;
 8500	__le16	seq_id;
 8501	__le16	target_id;
 8502	__le64	resp_addr;
 8503	__le16	flags;
 8504	#define CFA_FLOW_ALLOC_REQ_FLAGS_TUNNEL                 0x1UL
 8505	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_MASK          0x6UL
 8506	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_SFT           1
 8507	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_NONE            (0x0UL << 1)
 8508	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_ONE             (0x1UL << 1)
 8509	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO             (0x2UL << 1)
 8510	#define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_LAST           CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO
 8511	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_MASK          0x38UL
 8512	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_SFT           3
 8513	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_L2              (0x0UL << 3)
 8514	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV4            (0x1UL << 3)
 8515	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6            (0x2UL << 3)
 8516	#define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_LAST           CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6
 8517	#define CFA_FLOW_ALLOC_REQ_FLAGS_PATH_TX                0x40UL
 8518	#define CFA_FLOW_ALLOC_REQ_FLAGS_PATH_RX                0x80UL
 8519	#define CFA_FLOW_ALLOC_REQ_FLAGS_MATCH_VXLAN_IP_VNI     0x100UL
 8520	#define CFA_FLOW_ALLOC_REQ_FLAGS_VHOST_ID_USE_VLAN      0x200UL
 8521	__le16	src_fid;
 8522	__le32	tunnel_handle;
 8523	__le16	action_flags;
 8524	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FWD                       0x1UL
 8525	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_RECYCLE                   0x2UL
 8526	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_DROP                      0x4UL
 8527	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_METER                     0x8UL
 8528	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL                    0x10UL
 8529	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_SRC                   0x20UL
 8530	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_DEST                  0x40UL
 8531	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_IPV4_ADDRESS          0x80UL
 8532	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_L2_HEADER_REWRITE         0x100UL
 8533	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TTL_DECREMENT             0x200UL
 8534	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL_IP                 0x400UL
 8535	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FLOW_AGING_ENABLED        0x800UL
 8536	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_PRI_HINT                  0x1000UL
 8537	#define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NO_FLOW_COUNTER_ALLOC     0x2000UL
 8538	__le16	dst_fid;
 8539	__be16	l2_rewrite_vlan_tpid;
 8540	__be16	l2_rewrite_vlan_tci;
 8541	__le16	act_meter_id;
 8542	__le16	ref_flow_handle;
 8543	__be16	ethertype;
 8544	__be16	outer_vlan_tci;
 8545	__be16	dmac[3];
 8546	__be16	inner_vlan_tci;
 8547	__be16	smac[3];
 8548	u8	ip_dst_mask_len;
 8549	u8	ip_src_mask_len;
 8550	__be32	ip_dst[4];
 8551	__be32	ip_src[4];
 8552	__be16	l4_src_port;
 8553	__be16	l4_src_port_mask;
 8554	__be16	l4_dst_port;
 8555	__be16	l4_dst_port_mask;
 8556	__be32	nat_ip_address[4];
 8557	__be16	l2_rewrite_dmac[3];
 8558	__be16	nat_port;
 8559	__be16	l2_rewrite_smac[3];
 8560	u8	ip_proto;
 8561	u8	tunnel_type;
 8562	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL    0x0UL
 8563	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN        0x1UL
 8564	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_NVGRE        0x2UL
 8565	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_L2GRE        0x3UL
 8566	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPIP         0x4UL
 8567	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_GENEVE       0x5UL
 8568	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_MPLS         0x6UL
 8569	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_STT          0x7UL
 8570	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPGRE        0x8UL
 8571	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4     0x9UL
 8572	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1     0xaUL
 8573	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE     0xbUL
 8574	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
 8575	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE    0x10UL
 8576	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL    0xffUL
 8577	#define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_LAST        CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
 8578};
 8579
 8580/* hwrm_cfa_flow_alloc_output (size:256b/32B) */
 8581struct hwrm_cfa_flow_alloc_output {
 8582	__le16	error_code;
 8583	__le16	req_type;
 8584	__le16	seq_id;
 8585	__le16	resp_len;
 8586	__le16	flow_handle;
 8587	u8	unused_0[2];
 8588	__le32	flow_id;
 8589	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
 8590	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
 8591	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE      0x40000000UL
 8592	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_INT    (0x0UL << 30)
 8593	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_EXT    (0x1UL << 30)
 8594	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_LAST  CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_EXT
 8595	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR       0x80000000UL
 8596	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_RX      (0x0UL << 31)
 8597	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_TX      (0x1UL << 31)
 8598	#define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_LAST   CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_TX
 8599	__le64	ext_flow_handle;
 8600	__le32	flow_counter_id;
 8601	u8	unused_1[3];
 8602	u8	valid;
 8603};
 8604
 8605/* hwrm_cfa_flow_alloc_cmd_err (size:64b/8B) */
 8606struct hwrm_cfa_flow_alloc_cmd_err {
 8607	u8	code;
 8608	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_UNKNOWN         0x0UL
 8609	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_L2_CONTEXT_TCAM 0x1UL
 8610	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_ACTION_RECORD   0x2UL
 8611	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_COUNTER    0x3UL
 8612	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_WILD_CARD_TCAM  0x4UL
 8613	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_HASH_COLLISION  0x5UL
 8614	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_KEY_EXISTS      0x6UL
 8615	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_CTXT_DB    0x7UL
 8616	#define CFA_FLOW_ALLOC_CMD_ERR_CODE_LAST           CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_CTXT_DB
 8617	u8	unused_0[7];
 8618};
 8619
 8620/* hwrm_cfa_flow_free_input (size:256b/32B) */
 8621struct hwrm_cfa_flow_free_input {
 8622	__le16	req_type;
 8623	__le16	cmpl_ring;
 8624	__le16	seq_id;
 8625	__le16	target_id;
 8626	__le64	resp_addr;
 8627	__le16	flow_handle;
 8628	__le16	unused_0;
 8629	__le32	flow_counter_id;
 8630	__le64	ext_flow_handle;
 8631};
 8632
 8633/* hwrm_cfa_flow_free_output (size:256b/32B) */
 8634struct hwrm_cfa_flow_free_output {
 8635	__le16	error_code;
 8636	__le16	req_type;
 8637	__le16	seq_id;
 8638	__le16	resp_len;
 8639	__le64	packet;
 8640	__le64	byte;
 8641	u8	unused_0[7];
 8642	u8	valid;
 8643};
 8644
 8645/* hwrm_cfa_flow_info_input (size:256b/32B) */
 8646struct hwrm_cfa_flow_info_input {
 8647	__le16	req_type;
 8648	__le16	cmpl_ring;
 8649	__le16	seq_id;
 8650	__le16	target_id;
 8651	__le64	resp_addr;
 8652	__le16	flow_handle;
 8653	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_MAX_MASK      0xfffUL
 8654	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_CNP_CNT       0x1000UL
 8655	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV1_CNT    0x2000UL
 8656	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_NIC_TX        0x3000UL
 8657	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV2_CNT    0x4000UL
 8658	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_DIR_RX        0x8000UL
 8659	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_CNP_CNT_RX    0x9000UL
 8660	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV1_CNT_RX 0xa000UL
 8661	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_NIC_RX        0xb000UL
 8662	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV2_CNT_RX 0xc000UL
 8663	#define CFA_FLOW_INFO_REQ_FLOW_HANDLE_LAST         CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV2_CNT_RX
 8664	u8	unused_0[6];
 8665	__le64	ext_flow_handle;
 8666};
 8667
 8668/* hwrm_cfa_flow_info_output (size:5632b/704B) */
 8669struct hwrm_cfa_flow_info_output {
 8670	__le16	error_code;
 8671	__le16	req_type;
 8672	__le16	seq_id;
 8673	__le16	resp_len;
 8674	u8	flags;
 8675	#define CFA_FLOW_INFO_RESP_FLAGS_PATH_TX     0x1UL
 8676	#define CFA_FLOW_INFO_RESP_FLAGS_PATH_RX     0x2UL
 8677	u8	profile;
 8678	__le16	src_fid;
 8679	__le16	dst_fid;
 8680	__le16	l2_ctxt_id;
 8681	__le64	em_info;
 8682	__le64	tcam_info;
 8683	__le64	vfp_tcam_info;
 8684	__le16	ar_id;
 8685	__le16	flow_handle;
 8686	__le32	tunnel_handle;
 8687	__le16	flow_timer;
 8688	u8	unused_0[6];
 8689	__le32	flow_key_data[130];
 8690	__le32	flow_action_info[30];
 8691	u8	unused_1[7];
 8692	u8	valid;
 8693};
 8694
 8695/* hwrm_cfa_flow_stats_input (size:640b/80B) */
 8696struct hwrm_cfa_flow_stats_input {
 8697	__le16	req_type;
 8698	__le16	cmpl_ring;
 8699	__le16	seq_id;
 8700	__le16	target_id;
 8701	__le64	resp_addr;
 8702	__le16	num_flows;
 8703	__le16	flow_handle_0;
 8704	__le16	flow_handle_1;
 8705	__le16	flow_handle_2;
 8706	__le16	flow_handle_3;
 8707	__le16	flow_handle_4;
 8708	__le16	flow_handle_5;
 8709	__le16	flow_handle_6;
 8710	__le16	flow_handle_7;
 8711	__le16	flow_handle_8;
 8712	__le16	flow_handle_9;
 8713	u8	unused_0[2];
 8714	__le32	flow_id_0;
 8715	__le32	flow_id_1;
 8716	__le32	flow_id_2;
 8717	__le32	flow_id_3;
 8718	__le32	flow_id_4;
 8719	__le32	flow_id_5;
 8720	__le32	flow_id_6;
 8721	__le32	flow_id_7;
 8722	__le32	flow_id_8;
 8723	__le32	flow_id_9;
 8724};
 8725
 8726/* hwrm_cfa_flow_stats_output (size:1408b/176B) */
 8727struct hwrm_cfa_flow_stats_output {
 8728	__le16	error_code;
 8729	__le16	req_type;
 8730	__le16	seq_id;
 8731	__le16	resp_len;
 8732	__le64	packet_0;
 8733	__le64	packet_1;
 8734	__le64	packet_2;
 8735	__le64	packet_3;
 8736	__le64	packet_4;
 8737	__le64	packet_5;
 8738	__le64	packet_6;
 8739	__le64	packet_7;
 8740	__le64	packet_8;
 8741	__le64	packet_9;
 8742	__le64	byte_0;
 8743	__le64	byte_1;
 8744	__le64	byte_2;
 8745	__le64	byte_3;
 8746	__le64	byte_4;
 8747	__le64	byte_5;
 8748	__le64	byte_6;
 8749	__le64	byte_7;
 8750	__le64	byte_8;
 8751	__le64	byte_9;
 8752	__le16	flow_hits;
 8753	u8	unused_0[5];
 8754	u8	valid;
 8755};
 8756
 8757/* hwrm_cfa_vfr_alloc_input (size:448b/56B) */
 8758struct hwrm_cfa_vfr_alloc_input {
 8759	__le16	req_type;
 8760	__le16	cmpl_ring;
 8761	__le16	seq_id;
 8762	__le16	target_id;
 8763	__le64	resp_addr;
 8764	__le16	vf_id;
 8765	__le16	reserved;
 8766	u8	unused_0[4];
 8767	char	vfr_name[32];
 8768};
 8769
 8770/* hwrm_cfa_vfr_alloc_output (size:128b/16B) */
 8771struct hwrm_cfa_vfr_alloc_output {
 8772	__le16	error_code;
 8773	__le16	req_type;
 8774	__le16	seq_id;
 8775	__le16	resp_len;
 8776	__le16	rx_cfa_code;
 8777	__le16	tx_cfa_action;
 8778	u8	unused_0[3];
 8779	u8	valid;
 8780};
 8781
 8782/* hwrm_cfa_vfr_free_input (size:448b/56B) */
 8783struct hwrm_cfa_vfr_free_input {
 8784	__le16	req_type;
 8785	__le16	cmpl_ring;
 8786	__le16	seq_id;
 8787	__le16	target_id;
 8788	__le64	resp_addr;
 8789	char	vfr_name[32];
 8790	__le16	vf_id;
 8791	__le16	reserved;
 8792	u8	unused_0[4];
 8793};
 8794
 8795/* hwrm_cfa_vfr_free_output (size:128b/16B) */
 8796struct hwrm_cfa_vfr_free_output {
 8797	__le16	error_code;
 8798	__le16	req_type;
 8799	__le16	seq_id;
 8800	__le16	resp_len;
 8801	u8	unused_0[7];
 8802	u8	valid;
 8803};
 8804
 8805/* hwrm_cfa_eem_qcaps_input (size:192b/24B) */
 8806struct hwrm_cfa_eem_qcaps_input {
 8807	__le16	req_type;
 8808	__le16	cmpl_ring;
 8809	__le16	seq_id;
 8810	__le16	target_id;
 8811	__le64	resp_addr;
 8812	__le32	flags;
 8813	#define CFA_EEM_QCAPS_REQ_FLAGS_PATH_TX               0x1UL
 8814	#define CFA_EEM_QCAPS_REQ_FLAGS_PATH_RX               0x2UL
 8815	#define CFA_EEM_QCAPS_REQ_FLAGS_PREFERRED_OFFLOAD     0x4UL
 8816	__le32	unused_0;
 8817};
 8818
 8819/* hwrm_cfa_eem_qcaps_output (size:320b/40B) */
 8820struct hwrm_cfa_eem_qcaps_output {
 8821	__le16	error_code;
 8822	__le16	req_type;
 8823	__le16	seq_id;
 8824	__le16	resp_len;
 8825	__le32	flags;
 8826	#define CFA_EEM_QCAPS_RESP_FLAGS_PATH_TX                                         0x1UL
 8827	#define CFA_EEM_QCAPS_RESP_FLAGS_PATH_RX                                         0x2UL
 8828	#define CFA_EEM_QCAPS_RESP_FLAGS_CENTRALIZED_MEMORY_MODEL_SUPPORTED              0x4UL
 8829	#define CFA_EEM_QCAPS_RESP_FLAGS_DETACHED_CENTRALIZED_MEMORY_MODEL_SUPPORTED     0x8UL
 8830	__le32	unused_0;
 8831	__le32	supported;
 8832	#define CFA_EEM_QCAPS_RESP_SUPPORTED_KEY0_TABLE                       0x1UL
 8833	#define CFA_EEM_QCAPS_RESP_SUPPORTED_KEY1_TABLE                       0x2UL
 8834	#define CFA_EEM_QCAPS_RESP_SUPPORTED_EXTERNAL_RECORD_TABLE            0x4UL
 8835	#define CFA_EEM_QCAPS_RESP_SUPPORTED_EXTERNAL_FLOW_COUNTERS_TABLE     0x8UL
 8836	#define CFA_EEM_QCAPS_RESP_SUPPORTED_FID_TABLE                        0x10UL
 8837	__le32	max_entries_supported;
 8838	__le16	key_entry_size;
 8839	__le16	record_entry_size;
 8840	__le16	efc_entry_size;
 8841	__le16	fid_entry_size;
 8842	u8	unused_1[7];
 8843	u8	valid;
 8844};
 8845
 8846/* hwrm_cfa_eem_cfg_input (size:384b/48B) */
 8847struct hwrm_cfa_eem_cfg_input {
 8848	__le16	req_type;
 8849	__le16	cmpl_ring;
 8850	__le16	seq_id;
 8851	__le16	target_id;
 8852	__le64	resp_addr;
 8853	__le32	flags;
 8854	#define CFA_EEM_CFG_REQ_FLAGS_PATH_TX               0x1UL
 8855	#define CFA_EEM_CFG_REQ_FLAGS_PATH_RX               0x2UL
 8856	#define CFA_EEM_CFG_REQ_FLAGS_PREFERRED_OFFLOAD     0x4UL
 8857	#define CFA_EEM_CFG_REQ_FLAGS_SECONDARY_PF          0x8UL
 8858	__le16	group_id;
 8859	__le16	unused_0;
 8860	__le32	num_entries;
 8861	__le32	unused_1;
 8862	__le16	key0_ctx_id;
 8863	__le16	key1_ctx_id;
 8864	__le16	record_ctx_id;
 8865	__le16	efc_ctx_id;
 8866	__le16	fid_ctx_id;
 8867	__le16	unused_2;
 8868	__le32	unused_3;
 8869};
 8870
 8871/* hwrm_cfa_eem_cfg_output (size:128b/16B) */
 8872struct hwrm_cfa_eem_cfg_output {
 8873	__le16	error_code;
 8874	__le16	req_type;
 8875	__le16	seq_id;
 8876	__le16	resp_len;
 8877	u8	unused_0[7];
 8878	u8	valid;
 8879};
 8880
 8881/* hwrm_cfa_eem_qcfg_input (size:192b/24B) */
 8882struct hwrm_cfa_eem_qcfg_input {
 8883	__le16	req_type;
 8884	__le16	cmpl_ring;
 8885	__le16	seq_id;
 8886	__le16	target_id;
 8887	__le64	resp_addr;
 8888	__le32	flags;
 8889	#define CFA_EEM_QCFG_REQ_FLAGS_PATH_TX     0x1UL
 8890	#define CFA_EEM_QCFG_REQ_FLAGS_PATH_RX     0x2UL
 8891	__le32	unused_0;
 8892};
 8893
 8894/* hwrm_cfa_eem_qcfg_output (size:256b/32B) */
 8895struct hwrm_cfa_eem_qcfg_output {
 8896	__le16	error_code;
 8897	__le16	req_type;
 8898	__le16	seq_id;
 8899	__le16	resp_len;
 8900	__le32	flags;
 8901	#define CFA_EEM_QCFG_RESP_FLAGS_PATH_TX               0x1UL
 8902	#define CFA_EEM_QCFG_RESP_FLAGS_PATH_RX               0x2UL
 8903	#define CFA_EEM_QCFG_RESP_FLAGS_PREFERRED_OFFLOAD     0x4UL
 8904	__le32	num_entries;
 8905	__le16	key0_ctx_id;
 8906	__le16	key1_ctx_id;
 8907	__le16	record_ctx_id;
 8908	__le16	efc_ctx_id;
 8909	__le16	fid_ctx_id;
 8910	u8	unused_2[5];
 8911	u8	valid;
 8912};
 8913
 8914/* hwrm_cfa_eem_op_input (size:192b/24B) */
 8915struct hwrm_cfa_eem_op_input {
 8916	__le16	req_type;
 8917	__le16	cmpl_ring;
 8918	__le16	seq_id;
 8919	__le16	target_id;
 8920	__le64	resp_addr;
 8921	__le32	flags;
 8922	#define CFA_EEM_OP_REQ_FLAGS_PATH_TX     0x1UL
 8923	#define CFA_EEM_OP_REQ_FLAGS_PATH_RX     0x2UL
 8924	__le16	unused_0;
 8925	__le16	op;
 8926	#define CFA_EEM_OP_REQ_OP_RESERVED    0x0UL
 8927	#define CFA_EEM_OP_REQ_OP_EEM_DISABLE 0x1UL
 8928	#define CFA_EEM_OP_REQ_OP_EEM_ENABLE  0x2UL
 8929	#define CFA_EEM_OP_REQ_OP_EEM_CLEANUP 0x3UL
 8930	#define CFA_EEM_OP_REQ_OP_LAST       CFA_EEM_OP_REQ_OP_EEM_CLEANUP
 8931};
 8932
 8933/* hwrm_cfa_eem_op_output (size:128b/16B) */
 8934struct hwrm_cfa_eem_op_output {
 8935	__le16	error_code;
 8936	__le16	req_type;
 8937	__le16	seq_id;
 8938	__le16	resp_len;
 8939	u8	unused_0[7];
 8940	u8	valid;
 8941};
 8942
 8943/* hwrm_cfa_adv_flow_mgnt_qcaps_input (size:256b/32B) */
 8944struct hwrm_cfa_adv_flow_mgnt_qcaps_input {
 8945	__le16	req_type;
 8946	__le16	cmpl_ring;
 8947	__le16	seq_id;
 8948	__le16	target_id;
 8949	__le64	resp_addr;
 8950	__le32	unused_0[4];
 8951};
 8952
 8953/* hwrm_cfa_adv_flow_mgnt_qcaps_output (size:128b/16B) */
 8954struct hwrm_cfa_adv_flow_mgnt_qcaps_output {
 8955	__le16	error_code;
 8956	__le16	req_type;
 8957	__le16	seq_id;
 8958	__le16	resp_len;
 8959	__le32	flags;
 8960	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_HND_16BIT_SUPPORTED                     0x1UL
 8961	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_HND_64BIT_SUPPORTED                     0x2UL
 8962	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_BATCH_DELETE_SUPPORTED                  0x4UL
 8963	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_RESET_ALL_SUPPORTED                     0x8UL
 8964	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_DEST_FUNC_SUPPORTED              0x10UL
 8965	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_TX_EEM_FLOW_SUPPORTED                        0x20UL
 8966	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RX_EEM_FLOW_SUPPORTED                        0x40UL
 8967	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_COUNTER_ALLOC_SUPPORTED                 0x80UL
 8968	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RFS_RING_TBL_IDX_SUPPORTED                   0x100UL
 8969	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_UNTAGGED_VLAN_SUPPORTED                      0x200UL
 8970	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_XDP_SUPPORTED                                0x400UL
 8971	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_L2_HEADER_SOURCE_FIELDS_SUPPORTED            0x800UL
 8972	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_RX_ARP_SUPPORTED                 0x1000UL
 8973	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RFS_RING_TBL_IDX_V2_SUPPORTED                0x2000UL
 8974	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_RX_ETHERTYPE_IP_SUPPORTED        0x4000UL
 8975	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_TRUFLOW_CAPABLE                              0x8000UL
 8976	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_L2_FILTER_TRAFFIC_TYPE_L2_ROCE_SUPPORTED     0x10000UL
 8977	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_LAG_SUPPORTED                                0x20000UL
 8978	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_NO_L2CTX_SUPPORTED               0x40000UL
 8979	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NIC_FLOW_STATS_SUPPORTED                     0x80000UL
 8980	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_RX_EXT_IP_PROTO_SUPPORTED        0x100000UL
 8981	#define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RFS_RING_TBL_IDX_V3_SUPPORTED                0x200000UL
 8982	u8	unused_0[3];
 8983	u8	valid;
 8984};
 8985
 8986/* hwrm_tunnel_dst_port_query_input (size:192b/24B) */
 8987struct hwrm_tunnel_dst_port_query_input {
 8988	__le16	req_type;
 8989	__le16	cmpl_ring;
 8990	__le16	seq_id;
 8991	__le16	target_id;
 8992	__le64	resp_addr;
 8993	u8	tunnel_type;
 8994	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN              0x1UL
 8995	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_GENEVE             0x5UL
 8996	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_V4           0x9UL
 8997	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_IPGRE_V1           0xaUL
 8998	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_L2_ETYPE           0xbUL
 8999	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_GPE_V6       0xcUL
 9000	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_CUSTOM_GRE         0xdUL
 9001	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ECPRI              0xeUL
 9002	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_SRV6               0xfUL
 9003	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_GPE          0x10UL
 9004	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_GRE                0x11UL
 9005	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR       0x12UL
 9006	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES01 0x13UL
 9007	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES02 0x14UL
 9008	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES03 0x15UL
 9009	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES04 0x16UL
 9010	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES05 0x17UL
 9011	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES06 0x18UL
 9012	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07 0x19UL
 9013	#define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_LAST              TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07
 9014	u8	tunnel_next_proto;
 9015	u8	unused_0[6];
 9016};
 9017
 9018/* hwrm_tunnel_dst_port_query_output (size:128b/16B) */
 9019struct hwrm_tunnel_dst_port_query_output {
 9020	__le16	error_code;
 9021	__le16	req_type;
 9022	__le16	seq_id;
 9023	__le16	resp_len;
 9024	__le16	tunnel_dst_port_id;
 9025	__be16	tunnel_dst_port_val;
 9026	u8	upar_in_use;
 9027	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR0     0x1UL
 9028	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR1     0x2UL
 9029	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR2     0x4UL
 9030	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR3     0x8UL
 9031	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR4     0x10UL
 9032	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR5     0x20UL
 9033	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR6     0x40UL
 9034	#define TUNNEL_DST_PORT_QUERY_RESP_UPAR_IN_USE_UPAR7     0x80UL
 9035	u8	status;
 9036	#define TUNNEL_DST_PORT_QUERY_RESP_STATUS_CHIP_LEVEL     0x1UL
 9037	#define TUNNEL_DST_PORT_QUERY_RESP_STATUS_FUNC_LEVEL     0x2UL
 9038	u8	unused_0;
 9039	u8	valid;
 9040};
 9041
 9042/* hwrm_tunnel_dst_port_alloc_input (size:192b/24B) */
 9043struct hwrm_tunnel_dst_port_alloc_input {
 9044	__le16	req_type;
 9045	__le16	cmpl_ring;
 9046	__le16	seq_id;
 9047	__le16	target_id;
 9048	__le64	resp_addr;
 9049	u8	tunnel_type;
 9050	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN              0x1UL
 9051	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE             0x5UL
 9052	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4           0x9UL
 9053	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1           0xaUL
 9054	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE           0xbUL
 9055	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6       0xcUL
 9056	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_CUSTOM_GRE         0xdUL
 9057	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ECPRI              0xeUL
 9058	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_SRV6               0xfUL
 9059	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE          0x10UL
 9060	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GRE                0x11UL
 9061	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR       0x12UL
 9062	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES01 0x13UL
 9063	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES02 0x14UL
 9064	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES03 0x15UL
 9065	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES04 0x16UL
 9066	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES05 0x17UL
 9067	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES06 0x18UL
 9068	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07 0x19UL
 9069	#define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_LAST              TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07
 9070	u8	tunnel_next_proto;
 9071	__be16	tunnel_dst_port_val;
 9072	u8	unused_0[4];
 9073};
 9074
 9075/* hwrm_tunnel_dst_port_alloc_output (size:128b/16B) */
 9076struct hwrm_tunnel_dst_port_alloc_output {
 9077	__le16	error_code;
 9078	__le16	req_type;
 9079	__le16	seq_id;
 9080	__le16	resp_len;
 9081	__le16	tunnel_dst_port_id;
 9082	u8	error_info;
 9083	#define TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_SUCCESS         0x0UL
 9084	#define TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_ERR_ALLOCATED   0x1UL
 9085	#define TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_ERR_NO_RESOURCE 0x2UL
 9086	#define TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_ERR_ENABLED     0x3UL
 9087	#define TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_LAST           TUNNEL_DST_PORT_ALLOC_RESP_ERROR_INFO_ERR_ENABLED
 9088	u8	upar_in_use;
 9089	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR0     0x1UL
 9090	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR1     0x2UL
 9091	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR2     0x4UL
 9092	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR3     0x8UL
 9093	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR4     0x10UL
 9094	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR5     0x20UL
 9095	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR6     0x40UL
 9096	#define TUNNEL_DST_PORT_ALLOC_RESP_UPAR_IN_USE_UPAR7     0x80UL
 9097	u8	unused_0[3];
 9098	u8	valid;
 9099};
 9100
 9101/* hwrm_tunnel_dst_port_free_input (size:192b/24B) */
 9102struct hwrm_tunnel_dst_port_free_input {
 9103	__le16	req_type;
 9104	__le16	cmpl_ring;
 9105	__le16	seq_id;
 9106	__le16	target_id;
 9107	__le64	resp_addr;
 9108	u8	tunnel_type;
 9109	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN              0x1UL
 9110	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE             0x5UL
 9111	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_V4           0x9UL
 9112	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_IPGRE_V1           0xaUL
 9113	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_L2_ETYPE           0xbUL
 9114	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_GPE_V6       0xcUL
 9115	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_CUSTOM_GRE         0xdUL
 9116	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ECPRI              0xeUL
 9117	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_SRV6               0xfUL
 9118	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_GPE          0x10UL
 9119	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GRE                0x11UL
 9120	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR       0x12UL
 9121	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES01 0x13UL
 9122	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES02 0x14UL
 9123	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES03 0x15UL
 9124	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES04 0x16UL
 9125	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES05 0x17UL
 9126	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES06 0x18UL
 9127	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07 0x19UL
 9128	#define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_LAST              TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_ULP_DYN_UPAR_RES07
 9129	u8	tunnel_next_proto;
 9130	__le16	tunnel_dst_port_id;
 9131	u8	unused_0[4];
 9132};
 9133
 9134/* hwrm_tunnel_dst_port_free_output (size:128b/16B) */
 9135struct hwrm_tunnel_dst_port_free_output {
 9136	__le16	error_code;
 9137	__le16	req_type;
 9138	__le16	seq_id;
 9139	__le16	resp_len;
 9140	u8	error_info;
 9141	#define TUNNEL_DST_PORT_FREE_RESP_ERROR_INFO_SUCCESS           0x0UL
 9142	#define TUNNEL_DST_PORT_FREE_RESP_ERROR_INFO_ERR_NOT_OWNER     0x1UL
 9143	#define TUNNEL_DST_PORT_FREE_RESP_ERROR_INFO_ERR_NOT_ALLOCATED 0x2UL
 9144	#define TUNNEL_DST_PORT_FREE_RESP_ERROR_INFO_LAST             TUNNEL_DST_PORT_FREE_RESP_ERROR_INFO_ERR_NOT_ALLOCATED
 9145	u8	unused_1[6];
 9146	u8	valid;
 9147};
 9148
 9149/* ctx_hw_stats (size:1280b/160B) */
 9150struct ctx_hw_stats {
 9151	__le64	rx_ucast_pkts;
 9152	__le64	rx_mcast_pkts;
 9153	__le64	rx_bcast_pkts;
 9154	__le64	rx_discard_pkts;
 9155	__le64	rx_error_pkts;
 9156	__le64	rx_ucast_bytes;
 9157	__le64	rx_mcast_bytes;
 9158	__le64	rx_bcast_bytes;
 9159	__le64	tx_ucast_pkts;
 9160	__le64	tx_mcast_pkts;
 9161	__le64	tx_bcast_pkts;
 9162	__le64	tx_error_pkts;
 9163	__le64	tx_discard_pkts;
 9164	__le64	tx_ucast_bytes;
 9165	__le64	tx_mcast_bytes;
 9166	__le64	tx_bcast_bytes;
 9167	__le64	tpa_pkts;
 9168	__le64	tpa_bytes;
 9169	__le64	tpa_events;
 9170	__le64	tpa_aborts;
 9171};
 9172
 9173/* ctx_hw_stats_ext (size:1408b/176B) */
 9174struct ctx_hw_stats_ext {
 9175	__le64	rx_ucast_pkts;
 9176	__le64	rx_mcast_pkts;
 9177	__le64	rx_bcast_pkts;
 9178	__le64	rx_discard_pkts;
 9179	__le64	rx_error_pkts;
 9180	__le64	rx_ucast_bytes;
 9181	__le64	rx_mcast_bytes;
 9182	__le64	rx_bcast_bytes;
 9183	__le64	tx_ucast_pkts;
 9184	__le64	tx_mcast_pkts;
 9185	__le64	tx_bcast_pkts;
 9186	__le64	tx_error_pkts;
 9187	__le64	tx_discard_pkts;
 9188	__le64	tx_ucast_bytes;
 9189	__le64	tx_mcast_bytes;
 9190	__le64	tx_bcast_bytes;
 9191	__le64	rx_tpa_eligible_pkt;
 9192	__le64	rx_tpa_eligible_bytes;
 9193	__le64	rx_tpa_pkt;
 9194	__le64	rx_tpa_bytes;
 9195	__le64	rx_tpa_errors;
 9196	__le64	rx_tpa_events;
 9197};
 9198
 9199/* hwrm_stat_ctx_alloc_input (size:384b/48B) */
 9200struct hwrm_stat_ctx_alloc_input {
 9201	__le16	req_type;
 9202	__le16	cmpl_ring;
 9203	__le16	seq_id;
 9204	__le16	target_id;
 9205	__le64	resp_addr;
 9206	__le64	stats_dma_addr;
 9207	__le32	update_period_ms;
 9208	u8	stat_ctx_flags;
 9209	#define STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE             0x1UL
 9210	#define STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_DUP_HOST_BUF     0x2UL
 9211	u8	unused_0;
 9212	__le16	stats_dma_length;
 9213	__le16	flags;
 9214	#define STAT_CTX_ALLOC_REQ_FLAGS_STEERING_TAG_VALID     0x1UL
 9215	__le16	steering_tag;
 9216	__le32	stat_ctx_id;
 9217	__le16	alloc_seq_id;
 9218	u8	unused_1[6];
 9219};
 9220
 9221/* hwrm_stat_ctx_alloc_output (size:128b/16B) */
 9222struct hwrm_stat_ctx_alloc_output {
 9223	__le16	error_code;
 9224	__le16	req_type;
 9225	__le16	seq_id;
 9226	__le16	resp_len;
 9227	__le32	stat_ctx_id;
 9228	u8	unused_0[3];
 9229	u8	valid;
 9230};
 9231
 9232/* hwrm_stat_ctx_free_input (size:192b/24B) */
 9233struct hwrm_stat_ctx_free_input {
 9234	__le16	req_type;
 9235	__le16	cmpl_ring;
 9236	__le16	seq_id;
 9237	__le16	target_id;
 9238	__le64	resp_addr;
 9239	__le32	stat_ctx_id;
 9240	u8	unused_0[4];
 9241};
 9242
 9243/* hwrm_stat_ctx_free_output (size:128b/16B) */
 9244struct hwrm_stat_ctx_free_output {
 9245	__le16	error_code;
 9246	__le16	req_type;
 9247	__le16	seq_id;
 9248	__le16	resp_len;
 9249	__le32	stat_ctx_id;
 9250	u8	unused_0[3];
 9251	u8	valid;
 9252};
 9253
 9254/* hwrm_stat_ctx_query_input (size:192b/24B) */
 9255struct hwrm_stat_ctx_query_input {
 9256	__le16	req_type;
 9257	__le16	cmpl_ring;
 9258	__le16	seq_id;
 9259	__le16	target_id;
 9260	__le64	resp_addr;
 9261	__le32	stat_ctx_id;
 9262	u8	flags;
 9263	#define STAT_CTX_QUERY_REQ_FLAGS_COUNTER_MASK     0x1UL
 9264	u8	unused_0[3];
 9265};
 9266
 9267/* hwrm_stat_ctx_query_output (size:1408b/176B) */
 9268struct hwrm_stat_ctx_query_output {
 9269	__le16	error_code;
 9270	__le16	req_type;
 9271	__le16	seq_id;
 9272	__le16	resp_len;
 9273	__le64	tx_ucast_pkts;
 9274	__le64	tx_mcast_pkts;
 9275	__le64	tx_bcast_pkts;
 9276	__le64	tx_discard_pkts;
 9277	__le64	tx_error_pkts;
 9278	__le64	tx_ucast_bytes;
 9279	__le64	tx_mcast_bytes;
 9280	__le64	tx_bcast_bytes;
 9281	__le64	rx_ucast_pkts;
 9282	__le64	rx_mcast_pkts;
 9283	__le64	rx_bcast_pkts;
 9284	__le64	rx_discard_pkts;
 9285	__le64	rx_error_pkts;
 9286	__le64	rx_ucast_bytes;
 9287	__le64	rx_mcast_bytes;
 9288	__le64	rx_bcast_bytes;
 9289	__le64	rx_agg_pkts;
 9290	__le64	rx_agg_bytes;
 9291	__le64	rx_agg_events;
 9292	__le64	rx_agg_aborts;
 9293	u8	unused_0[7];
 9294	u8	valid;
 9295};
 9296
 9297/* hwrm_stat_ext_ctx_query_input (size:192b/24B) */
 9298struct hwrm_stat_ext_ctx_query_input {
 9299	__le16	req_type;
 9300	__le16	cmpl_ring;
 9301	__le16	seq_id;
 9302	__le16	target_id;
 9303	__le64	resp_addr;
 9304	__le32	stat_ctx_id;
 9305	u8	flags;
 9306	#define STAT_EXT_CTX_QUERY_REQ_FLAGS_COUNTER_MASK     0x1UL
 9307	u8	unused_0[3];
 9308};
 9309
 9310/* hwrm_stat_ext_ctx_query_output (size:1536b/192B) */
 9311struct hwrm_stat_ext_ctx_query_output {
 9312	__le16	error_code;
 9313	__le16	req_type;
 9314	__le16	seq_id;
 9315	__le16	resp_len;
 9316	__le64	rx_ucast_pkts;
 9317	__le64	rx_mcast_pkts;
 9318	__le64	rx_bcast_pkts;
 9319	__le64	rx_discard_pkts;
 9320	__le64	rx_error_pkts;
 9321	__le64	rx_ucast_bytes;
 9322	__le64	rx_mcast_bytes;
 9323	__le64	rx_bcast_bytes;
 9324	__le64	tx_ucast_pkts;
 9325	__le64	tx_mcast_pkts;
 9326	__le64	tx_bcast_pkts;
 9327	__le64	tx_error_pkts;
 9328	__le64	tx_discard_pkts;
 9329	__le64	tx_ucast_bytes;
 9330	__le64	tx_mcast_bytes;
 9331	__le64	tx_bcast_bytes;
 9332	__le64	rx_tpa_eligible_pkt;
 9333	__le64	rx_tpa_eligible_bytes;
 9334	__le64	rx_tpa_pkt;
 9335	__le64	rx_tpa_bytes;
 9336	__le64	rx_tpa_errors;
 9337	__le64	rx_tpa_events;
 9338	u8	unused_0[7];
 9339	u8	valid;
 9340};
 9341
 9342/* hwrm_stat_ctx_clr_stats_input (size:192b/24B) */
 9343struct hwrm_stat_ctx_clr_stats_input {
 9344	__le16	req_type;
 9345	__le16	cmpl_ring;
 9346	__le16	seq_id;
 9347	__le16	target_id;
 9348	__le64	resp_addr;
 9349	__le32	stat_ctx_id;
 9350	u8	unused_0[4];
 9351};
 9352
 9353/* hwrm_stat_ctx_clr_stats_output (size:128b/16B) */
 9354struct hwrm_stat_ctx_clr_stats_output {
 9355	__le16	error_code;
 9356	__le16	req_type;
 9357	__le16	seq_id;
 9358	__le16	resp_len;
 9359	u8	unused_0[7];
 9360	u8	valid;
 9361};
 9362
 9363/* hwrm_pcie_qstats_input (size:256b/32B) */
 9364struct hwrm_pcie_qstats_input {
 9365	__le16	req_type;
 9366	__le16	cmpl_ring;
 9367	__le16	seq_id;
 9368	__le16	target_id;
 9369	__le64	resp_addr;
 9370	__le16	pcie_stat_size;
 9371	u8	unused_0[6];
 9372	__le64	pcie_stat_host_addr;
 9373};
 9374
 9375/* hwrm_pcie_qstats_output (size:128b/16B) */
 9376struct hwrm_pcie_qstats_output {
 9377	__le16	error_code;
 9378	__le16	req_type;
 9379	__le16	seq_id;
 9380	__le16	resp_len;
 9381	__le16	pcie_stat_size;
 9382	u8	unused_0[5];
 9383	u8	valid;
 9384};
 9385
 9386/* pcie_ctx_hw_stats (size:768b/96B) */
 9387struct pcie_ctx_hw_stats {
 9388	__le64	pcie_pl_signal_integrity;
 9389	__le64	pcie_dl_signal_integrity;
 9390	__le64	pcie_tl_signal_integrity;
 9391	__le64	pcie_link_integrity;
 9392	__le64	pcie_tx_traffic_rate;
 9393	__le64	pcie_rx_traffic_rate;
 9394	__le64	pcie_tx_dllp_statistics;
 9395	__le64	pcie_rx_dllp_statistics;
 9396	__le64	pcie_equalization_time;
 9397	__le32	pcie_ltssm_histogram[4];
 9398	__le64	pcie_recovery_histogram;
 9399};
 9400
 9401/* pcie_ctx_hw_stats_v2 (size:4544b/568B) */
 9402struct pcie_ctx_hw_stats_v2 {
 9403	__le64	pcie_pl_signal_integrity;
 9404	__le64	pcie_dl_signal_integrity;
 9405	__le64	pcie_tl_signal_integrity;
 9406	__le64	pcie_link_integrity;
 9407	__le64	pcie_tx_traffic_rate;
 9408	__le64	pcie_rx_traffic_rate;
 9409	__le64	pcie_tx_dllp_statistics;
 9410	__le64	pcie_rx_dllp_statistics;
 9411	__le64	pcie_equalization_time;
 9412	__le32	pcie_ltssm_histogram[4];
 9413	__le64	pcie_recovery_histogram;
 9414	__le32	pcie_tl_credit_nph_histogram[8];
 9415	__le32	pcie_tl_credit_ph_histogram[8];
 9416	__le32	pcie_tl_credit_pd_histogram[8];
 9417	__le32	pcie_cmpl_latest_times[4];
 9418	__le32	pcie_cmpl_longest_time;
 9419	__le32	pcie_cmpl_shortest_time;
 9420	__le32	unused_0[2];
 9421	__le32	pcie_cmpl_latest_headers[4][4];
 9422	__le32	pcie_cmpl_longest_headers[4][4];
 9423	__le32	pcie_cmpl_shortest_headers[4][4];
 9424	__le32	pcie_wr_latency_histogram[12];
 9425	__le32	pcie_wr_latency_all_normal_count;
 9426	__le32	unused_1;
 9427	__le64	pcie_posted_packet_count;
 9428	__le64	pcie_non_posted_packet_count;
 9429	__le64	pcie_other_packet_count;
 9430	__le64	pcie_blocked_packet_count;
 9431	__le64	pcie_cmpl_packet_count;
 9432	__le32	pcie_rd_latency_histogram[12];
 9433	__le32	pcie_rd_latency_all_normal_count;
 9434	__le32	unused_2;
 9435};
 9436
 9437/* hwrm_stat_generic_qstats_input (size:256b/32B) */
 9438struct hwrm_stat_generic_qstats_input {
 9439	__le16	req_type;
 9440	__le16	cmpl_ring;
 9441	__le16	seq_id;
 9442	__le16	target_id;
 9443	__le64	resp_addr;
 9444	__le16	generic_stat_size;
 9445	u8	flags;
 9446	#define STAT_GENERIC_QSTATS_REQ_FLAGS_COUNTER_MASK     0x1UL
 9447	u8	unused_0[5];
 9448	__le64	generic_stat_host_addr;
 9449};
 9450
 9451/* hwrm_stat_generic_qstats_output (size:128b/16B) */
 9452struct hwrm_stat_generic_qstats_output {
 9453	__le16	error_code;
 9454	__le16	req_type;
 9455	__le16	seq_id;
 9456	__le16	resp_len;
 9457	__le16	generic_stat_size;
 9458	u8	unused_0[5];
 9459	u8	valid;
 9460};
 9461
 9462/* generic_sw_hw_stats (size:1472b/184B) */
 9463struct generic_sw_hw_stats {
 9464	__le64	pcie_statistics_tx_tlp;
 9465	__le64	pcie_statistics_rx_tlp;
 9466	__le64	pcie_credit_fc_hdr_posted;
 9467	__le64	pcie_credit_fc_hdr_nonposted;
 9468	__le64	pcie_credit_fc_hdr_cmpl;
 9469	__le64	pcie_credit_fc_data_posted;
 9470	__le64	pcie_credit_fc_data_nonposted;
 9471	__le64	pcie_credit_fc_data_cmpl;
 9472	__le64	pcie_credit_fc_tgt_nonposted;
 9473	__le64	pcie_credit_fc_tgt_data_posted;
 9474	__le64	pcie_credit_fc_tgt_hdr_posted;
 9475	__le64	pcie_credit_fc_cmpl_hdr_posted;
 9476	__le64	pcie_credit_fc_cmpl_data_posted;
 9477	__le64	pcie_cmpl_longest;
 9478	__le64	pcie_cmpl_shortest;
 9479	__le64	cache_miss_count_cfcq;
 9480	__le64	cache_miss_count_cfcs;
 9481	__le64	cache_miss_count_cfcc;
 9482	__le64	cache_miss_count_cfcm;
 9483	__le64	hw_db_recov_dbs_dropped;
 9484	__le64	hw_db_recov_drops_serviced;
 9485	__le64	hw_db_recov_dbs_recovered;
 9486	__le64	hw_db_recov_oo_drop_count;
 9487};
 9488
 9489/* hwrm_fw_reset_input (size:192b/24B) */
 9490struct hwrm_fw_reset_input {
 9491	__le16	req_type;
 9492	__le16	cmpl_ring;
 9493	__le16	seq_id;
 9494	__le16	target_id;
 9495	__le64	resp_addr;
 9496	u8	embedded_proc_type;
 9497	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_BOOT                  0x0UL
 9498	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_MGMT                  0x1UL
 9499	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_NETCTRL               0x2UL
 9500	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_ROCE                  0x3UL
 9501	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST                  0x4UL
 9502	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_AP                    0x5UL
 9503	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP                  0x6UL
 9504	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST_RESOURCE_REINIT  0x7UL
 9505	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_IMPACTLESS_ACTIVATION 0x8UL
 9506	#define FW_RESET_REQ_EMBEDDED_PROC_TYPE_LAST                 FW_RESET_REQ_EMBEDDED_PROC_TYPE_IMPACTLESS_ACTIVATION
 9507	u8	selfrst_status;
 9508	#define FW_RESET_REQ_SELFRST_STATUS_SELFRSTNONE      0x0UL
 9509	#define FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP      0x1UL
 9510	#define FW_RESET_REQ_SELFRST_STATUS_SELFRSTPCIERST   0x2UL
 9511	#define FW_RESET_REQ_SELFRST_STATUS_SELFRSTIMMEDIATE 0x3UL
 9512	#define FW_RESET_REQ_SELFRST_STATUS_LAST            FW_RESET_REQ_SELFRST_STATUS_SELFRSTIMMEDIATE
 9513	u8	host_idx;
 9514	u8	flags;
 9515	#define FW_RESET_REQ_FLAGS_RESET_GRACEFUL     0x1UL
 9516	#define FW_RESET_REQ_FLAGS_FW_ACTIVATION      0x2UL
 9517	u8	unused_0[4];
 9518};
 9519
 9520/* hwrm_fw_reset_output (size:128b/16B) */
 9521struct hwrm_fw_reset_output {
 9522	__le16	error_code;
 9523	__le16	req_type;
 9524	__le16	seq_id;
 9525	__le16	resp_len;
 9526	u8	selfrst_status;
 9527	#define FW_RESET_RESP_SELFRST_STATUS_SELFRSTNONE      0x0UL
 9528	#define FW_RESET_RESP_SELFRST_STATUS_SELFRSTASAP      0x1UL
 9529	#define FW_RESET_RESP_SELFRST_STATUS_SELFRSTPCIERST   0x2UL
 9530	#define FW_RESET_RESP_SELFRST_STATUS_SELFRSTIMMEDIATE 0x3UL
 9531	#define FW_RESET_RESP_SELFRST_STATUS_LAST            FW_RESET_RESP_SELFRST_STATUS_SELFRSTIMMEDIATE
 9532	u8	unused_0[6];
 9533	u8	valid;
 9534};
 9535
 9536/* hwrm_fw_qstatus_input (size:192b/24B) */
 9537struct hwrm_fw_qstatus_input {
 9538	__le16	req_type;
 9539	__le16	cmpl_ring;
 9540	__le16	seq_id;
 9541	__le16	target_id;
 9542	__le64	resp_addr;
 9543	u8	embedded_proc_type;
 9544	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_BOOT    0x0UL
 9545	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_MGMT    0x1UL
 9546	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL
 9547	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_ROCE    0x3UL
 9548	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_HOST    0x4UL
 9549	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_AP      0x5UL
 9550	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP    0x6UL
 9551	#define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_LAST   FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP
 9552	u8	unused_0[7];
 9553};
 9554
 9555/* hwrm_fw_qstatus_output (size:128b/16B) */
 9556struct hwrm_fw_qstatus_output {
 9557	__le16	error_code;
 9558	__le16	req_type;
 9559	__le16	seq_id;
 9560	__le16	resp_len;
 9561	u8	selfrst_status;
 9562	#define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTNONE    0x0UL
 9563	#define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTASAP    0x1UL
 9564	#define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL
 9565	#define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPOWER   0x3UL
 9566	#define FW_QSTATUS_RESP_SELFRST_STATUS_LAST          FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPOWER
 9567	u8	nvm_option_action_status;
 9568	#define FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_NVMOPT_ACTION_NONE     0x0UL
 9569	#define FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_NVMOPT_ACTION_HOTRESET 0x1UL
 9570	#define FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_NVMOPT_ACTION_WARMBOOT 0x2UL
 9571	#define FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_NVMOPT_ACTION_COLDBOOT 0x3UL
 9572	#define FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_LAST                  FW_QSTATUS_RESP_NVM_OPTION_ACTION_STATUS_NVMOPT_ACTION_COLDBOOT
 9573	u8	unused_0[5];
 9574	u8	valid;
 9575};
 9576
 9577/* hwrm_fw_set_time_input (size:256b/32B) */
 9578struct hwrm_fw_set_time_input {
 9579	__le16	req_type;
 9580	__le16	cmpl_ring;
 9581	__le16	seq_id;
 9582	__le16	target_id;
 9583	__le64	resp_addr;
 9584	__le16	year;
 9585	#define FW_SET_TIME_REQ_YEAR_UNKNOWN 0x0UL
 9586	#define FW_SET_TIME_REQ_YEAR_LAST   FW_SET_TIME_REQ_YEAR_UNKNOWN
 9587	u8	month;
 9588	u8	day;
 9589	u8	hour;
 9590	u8	minute;
 9591	u8	second;
 9592	u8	unused_0;
 9593	__le16	millisecond;
 9594	__le16	zone;
 9595	#define FW_SET_TIME_REQ_ZONE_UTC     0
 9596	#define FW_SET_TIME_REQ_ZONE_UNKNOWN 65535
 9597	#define FW_SET_TIME_REQ_ZONE_LAST   FW_SET_TIME_REQ_ZONE_UNKNOWN
 9598	u8	unused_1[4];
 9599};
 9600
 9601/* hwrm_fw_set_time_output (size:128b/16B) */
 9602struct hwrm_fw_set_time_output {
 9603	__le16	error_code;
 9604	__le16	req_type;
 9605	__le16	seq_id;
 9606	__le16	resp_len;
 9607	u8	unused_0[7];
 9608	u8	valid;
 9609};
 9610
 9611/* hwrm_struct_hdr (size:128b/16B) */
 9612struct hwrm_struct_hdr {
 9613	__le16	struct_id;
 9614	#define STRUCT_HDR_STRUCT_ID_LLDP_CFG              0x41bUL
 9615	#define STRUCT_HDR_STRUCT_ID_DCBX_ETS              0x41dUL
 9616	#define STRUCT_HDR_STRUCT_ID_DCBX_PFC              0x41fUL
 9617	#define STRUCT_HDR_STRUCT_ID_DCBX_APP              0x421UL
 9618	#define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE    0x422UL
 9619	#define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC          0x424UL
 9620	#define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE           0x426UL
 9621	#define STRUCT_HDR_STRUCT_ID_POWER_BKUP            0x427UL
 9622	#define STRUCT_HDR_STRUCT_ID_PEER_MMAP             0x429UL
 9623	#define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE            0x1UL
 9624	#define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION      0xaUL
 9625	#define STRUCT_HDR_STRUCT_ID_RSS_V2                0x64UL
 9626	#define STRUCT_HDR_STRUCT_ID_MSIX_PER_VF           0xc8UL
 9627	#define STRUCT_HDR_STRUCT_ID_UDCC_RTT_BUCKET_COUNT 0x12cUL
 9628	#define STRUCT_HDR_STRUCT_ID_UDCC_RTT_BUCKET_BOUND 0x12dUL
 9629	#define STRUCT_HDR_STRUCT_ID_DBG_TOKEN_CLAIMS      0x190UL
 9630	#define STRUCT_HDR_STRUCT_ID_LAST                 STRUCT_HDR_STRUCT_ID_DBG_TOKEN_CLAIMS
 9631	__le16	len;
 9632	u8	version;
 9633	#define STRUCT_HDR_VERSION_0 0x0UL
 9634	#define STRUCT_HDR_VERSION_1 0x1UL
 9635	#define STRUCT_HDR_VERSION_LAST STRUCT_HDR_VERSION_1
 9636	u8	count;
 9637	__le16	subtype;
 9638	__le16	next_offset;
 9639	#define STRUCT_HDR_NEXT_OFFSET_LAST 0x0UL
 9640	u8	unused_0[6];
 9641};
 9642
 9643/* hwrm_struct_data_dcbx_app (size:64b/8B) */
 9644struct hwrm_struct_data_dcbx_app {
 9645	__be16	protocol_id;
 9646	u8	protocol_selector;
 9647	#define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_ETHER_TYPE   0x1UL
 9648	#define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_PORT     0x2UL
 9649	#define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_UDP_PORT     0x3UL
 9650	#define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT 0x4UL
 9651	#define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_LAST        STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT
 9652	u8	priority;
 9653	u8	valid;
 9654	u8	unused_0[3];
 9655};
 9656
 9657/* hwrm_fw_set_structured_data_input (size:256b/32B) */
 9658struct hwrm_fw_set_structured_data_input {
 9659	__le16	req_type;
 9660	__le16	cmpl_ring;
 9661	__le16	seq_id;
 9662	__le16	target_id;
 9663	__le64	resp_addr;
 9664	__le64	src_data_addr;
 9665	__le16	data_len;
 9666	u8	hdr_cnt;
 9667	u8	unused_0[5];
 9668};
 9669
 9670/* hwrm_fw_set_structured_data_output (size:128b/16B) */
 9671struct hwrm_fw_set_structured_data_output {
 9672	__le16	error_code;
 9673	__le16	req_type;
 9674	__le16	seq_id;
 9675	__le16	resp_len;
 9676	u8	unused_0[7];
 9677	u8	valid;
 9678};
 9679
 9680/* hwrm_fw_set_structured_data_cmd_err (size:64b/8B) */
 9681struct hwrm_fw_set_structured_data_cmd_err {
 9682	u8	code;
 9683	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN       0x0UL
 9684	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_HDR_CNT   0x1UL
 9685	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_FMT       0x2UL
 9686	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID        0x3UL
 9687	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_ALREADY_ADDED 0x4UL
 9688	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_INST_IN_PROG  0x5UL
 9689	#define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_LAST         FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_INST_IN_PROG
 9690	u8	unused_0[7];
 9691};
 9692
 9693/* hwrm_fw_get_structured_data_input (size:256b/32B) */
 9694struct hwrm_fw_get_structured_data_input {
 9695	__le16	req_type;
 9696	__le16	cmpl_ring;
 9697	__le16	seq_id;
 9698	__le16	target_id;
 9699	__le64	resp_addr;
 9700	__le64	dest_data_addr;
 9701	__le16	data_len;
 9702	__le16	structure_id;
 9703	__le16	subtype;
 9704	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_UNUSED                  0x0UL
 9705	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_ALL                     0xffffUL
 9706	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_ADMIN       0x100UL
 9707	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_PEER        0x101UL
 9708	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_OPERATIONAL 0x102UL
 9709	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_ADMIN          0x200UL
 9710	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_PEER           0x201UL
 9711	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_OPERATIONAL    0x202UL
 9712	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL        0x300UL
 9713	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_CLAIMS_SUPPORTED        0x320UL
 9714	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_CLAIMS_ACTIVE           0x321UL
 9715	#define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_LAST                   FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_CLAIMS_ACTIVE
 9716	u8	count;
 9717	u8	unused_0;
 9718};
 9719
 9720/* hwrm_fw_get_structured_data_output (size:128b/16B) */
 9721struct hwrm_fw_get_structured_data_output {
 9722	__le16	error_code;
 9723	__le16	req_type;
 9724	__le16	seq_id;
 9725	__le16	resp_len;
 9726	u8	hdr_cnt;
 9727	u8	unused_0[6];
 9728	u8	valid;
 9729};
 9730
 9731/* hwrm_fw_get_structured_data_cmd_err (size:64b/8B) */
 9732struct hwrm_fw_get_structured_data_cmd_err {
 9733	u8	code;
 9734	#define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL
 9735	#define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID  0x3UL
 9736	#define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_LAST   FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID
 9737	u8	unused_0[7];
 9738};
 9739
 9740/* hwrm_fw_livepatch_query_input (size:192b/24B) */
 9741struct hwrm_fw_livepatch_query_input {
 9742	__le16	req_type;
 9743	__le16	cmpl_ring;
 9744	__le16	seq_id;
 9745	__le16	target_id;
 9746	__le64	resp_addr;
 9747	u8	fw_target;
 9748	#define FW_LIVEPATCH_QUERY_REQ_FW_TARGET_COMMON_FW 0x1UL
 9749	#define FW_LIVEPATCH_QUERY_REQ_FW_TARGET_SECURE_FW 0x2UL
 9750	#define FW_LIVEPATCH_QUERY_REQ_FW_TARGET_LAST     FW_LIVEPATCH_QUERY_REQ_FW_TARGET_SECURE_FW
 9751	u8	unused_0[7];
 9752};
 9753
 9754/* hwrm_fw_livepatch_query_output (size:640b/80B) */
 9755struct hwrm_fw_livepatch_query_output {
 9756	__le16	error_code;
 9757	__le16	req_type;
 9758	__le16	seq_id;
 9759	__le16	resp_len;
 9760	char	install_ver[32];
 9761	char	active_ver[32];
 9762	__le16	status_flags;
 9763	#define FW_LIVEPATCH_QUERY_RESP_STATUS_FLAGS_INSTALL     0x1UL
 9764	#define FW_LIVEPATCH_QUERY_RESP_STATUS_FLAGS_ACTIVE      0x2UL
 9765	u8	unused_0[5];
 9766	u8	valid;
 9767};
 9768
 9769/* hwrm_fw_livepatch_input (size:256b/32B) */
 9770struct hwrm_fw_livepatch_input {
 9771	__le16	req_type;
 9772	__le16	cmpl_ring;
 9773	__le16	seq_id;
 9774	__le16	target_id;
 9775	__le64	resp_addr;
 9776	u8	opcode;
 9777	#define FW_LIVEPATCH_REQ_OPCODE_ACTIVATE   0x1UL
 9778	#define FW_LIVEPATCH_REQ_OPCODE_DEACTIVATE 0x2UL
 9779	#define FW_LIVEPATCH_REQ_OPCODE_LAST      FW_LIVEPATCH_REQ_OPCODE_DEACTIVATE
 9780	u8	fw_target;
 9781	#define FW_LIVEPATCH_REQ_FW_TARGET_COMMON_FW 0x1UL
 9782	#define FW_LIVEPATCH_REQ_FW_TARGET_SECURE_FW 0x2UL
 9783	#define FW_LIVEPATCH_REQ_FW_TARGET_LAST     FW_LIVEPATCH_REQ_FW_TARGET_SECURE_FW
 9784	u8	loadtype;
 9785	#define FW_LIVEPATCH_REQ_LOADTYPE_NVM_INSTALL   0x1UL
 9786	#define FW_LIVEPATCH_REQ_LOADTYPE_MEMORY_DIRECT 0x2UL
 9787	#define FW_LIVEPATCH_REQ_LOADTYPE_LAST         FW_LIVEPATCH_REQ_LOADTYPE_MEMORY_DIRECT
 9788	u8	flags;
 9789	__le32	patch_len;
 9790	__le64	host_addr;
 9791};
 9792
 9793/* hwrm_fw_livepatch_output (size:128b/16B) */
 9794struct hwrm_fw_livepatch_output {
 9795	__le16	error_code;
 9796	__le16	req_type;
 9797	__le16	seq_id;
 9798	__le16	resp_len;
 9799	u8	unused_0[7];
 9800	u8	valid;
 9801};
 9802
 9803/* hwrm_fw_livepatch_cmd_err (size:64b/8B) */
 9804struct hwrm_fw_livepatch_cmd_err {
 9805	u8	code;
 9806	#define FW_LIVEPATCH_CMD_ERR_CODE_UNKNOWN         0x0UL
 9807	#define FW_LIVEPATCH_CMD_ERR_CODE_INVALID_OPCODE  0x1UL
 9808	#define FW_LIVEPATCH_CMD_ERR_CODE_INVALID_TARGET  0x2UL
 9809	#define FW_LIVEPATCH_CMD_ERR_CODE_NOT_SUPPORTED   0x3UL
 9810	#define FW_LIVEPATCH_CMD_ERR_CODE_NOT_INSTALLED   0x4UL
 9811	#define FW_LIVEPATCH_CMD_ERR_CODE_NOT_PATCHED     0x5UL
 9812	#define FW_LIVEPATCH_CMD_ERR_CODE_AUTH_FAIL       0x6UL
 9813	#define FW_LIVEPATCH_CMD_ERR_CODE_INVALID_HEADER  0x7UL
 9814	#define FW_LIVEPATCH_CMD_ERR_CODE_INVALID_SIZE    0x8UL
 9815	#define FW_LIVEPATCH_CMD_ERR_CODE_ALREADY_PATCHED 0x9UL
 9816	#define FW_LIVEPATCH_CMD_ERR_CODE_LAST           FW_LIVEPATCH_CMD_ERR_CODE_ALREADY_PATCHED
 9817	u8	unused_0[7];
 9818};
 9819
 9820/* hwrm_exec_fwd_resp_input (size:1024b/128B) */
 9821struct hwrm_exec_fwd_resp_input {
 9822	__le16	req_type;
 9823	__le16	cmpl_ring;
 9824	__le16	seq_id;
 9825	__le16	target_id;
 9826	__le64	resp_addr;
 9827	__le32	encap_request[26];
 9828	__le16	encap_resp_target_id;
 9829	u8	unused_0[6];
 9830};
 9831
 9832/* hwrm_exec_fwd_resp_output (size:128b/16B) */
 9833struct hwrm_exec_fwd_resp_output {
 9834	__le16	error_code;
 9835	__le16	req_type;
 9836	__le16	seq_id;
 9837	__le16	resp_len;
 9838	u8	unused_0[7];
 9839	u8	valid;
 9840};
 9841
 9842/* hwrm_reject_fwd_resp_input (size:1024b/128B) */
 9843struct hwrm_reject_fwd_resp_input {
 9844	__le16	req_type;
 9845	__le16	cmpl_ring;
 9846	__le16	seq_id;
 9847	__le16	target_id;
 9848	__le64	resp_addr;
 9849	__le32	encap_request[26];
 9850	__le16	encap_resp_target_id;
 9851	u8	unused_0[6];
 9852};
 9853
 9854/* hwrm_reject_fwd_resp_output (size:128b/16B) */
 9855struct hwrm_reject_fwd_resp_output {
 9856	__le16	error_code;
 9857	__le16	req_type;
 9858	__le16	seq_id;
 9859	__le16	resp_len;
 9860	u8	unused_0[7];
 9861	u8	valid;
 9862};
 9863
 9864/* hwrm_fwd_resp_input (size:1024b/128B) */
 9865struct hwrm_fwd_resp_input {
 9866	__le16	req_type;
 9867	__le16	cmpl_ring;
 9868	__le16	seq_id;
 9869	__le16	target_id;
 9870	__le64	resp_addr;
 9871	__le16	encap_resp_target_id;
 9872	__le16	encap_resp_cmpl_ring;
 9873	__le16	encap_resp_len;
 9874	u8	unused_0;
 9875	u8	unused_1;
 9876	__le64	encap_resp_addr;
 9877	__le32	encap_resp[24];
 9878};
 9879
 9880/* hwrm_fwd_resp_output (size:128b/16B) */
 9881struct hwrm_fwd_resp_output {
 9882	__le16	error_code;
 9883	__le16	req_type;
 9884	__le16	seq_id;
 9885	__le16	resp_len;
 9886	u8	unused_0[7];
 9887	u8	valid;
 9888};
 9889
 9890/* hwrm_fwd_async_event_cmpl_input (size:320b/40B) */
 9891struct hwrm_fwd_async_event_cmpl_input {
 9892	__le16	req_type;
 9893	__le16	cmpl_ring;
 9894	__le16	seq_id;
 9895	__le16	target_id;
 9896	__le64	resp_addr;
 9897	__le16	encap_async_event_target_id;
 9898	u8	unused_0[6];
 9899	__le32	encap_async_event_cmpl[4];
 9900};
 9901
 9902/* hwrm_fwd_async_event_cmpl_output (size:128b/16B) */
 9903struct hwrm_fwd_async_event_cmpl_output {
 9904	__le16	error_code;
 9905	__le16	req_type;
 9906	__le16	seq_id;
 9907	__le16	resp_len;
 9908	u8	unused_0[7];
 9909	u8	valid;
 9910};
 9911
 9912/* hwrm_temp_monitor_query_input (size:128b/16B) */
 9913struct hwrm_temp_monitor_query_input {
 9914	__le16	req_type;
 9915	__le16	cmpl_ring;
 9916	__le16	seq_id;
 9917	__le16	target_id;
 9918	__le64	resp_addr;
 9919};
 9920
 9921/* hwrm_temp_monitor_query_output (size:192b/24B) */
 9922struct hwrm_temp_monitor_query_output {
 9923	__le16	error_code;
 9924	__le16	req_type;
 9925	__le16	seq_id;
 9926	__le16	resp_len;
 9927	u8	temp;
 9928	u8	phy_temp;
 9929	u8	om_temp;
 9930	u8	flags;
 9931	#define TEMP_MONITOR_QUERY_RESP_FLAGS_TEMP_NOT_AVAILABLE             0x1UL
 9932	#define TEMP_MONITOR_QUERY_RESP_FLAGS_PHY_TEMP_NOT_AVAILABLE         0x2UL
 9933	#define TEMP_MONITOR_QUERY_RESP_FLAGS_OM_NOT_PRESENT                 0x4UL
 9934	#define TEMP_MONITOR_QUERY_RESP_FLAGS_OM_TEMP_NOT_AVAILABLE          0x8UL
 9935	#define TEMP_MONITOR_QUERY_RESP_FLAGS_EXT_TEMP_FIELDS_AVAILABLE      0x10UL
 9936	#define TEMP_MONITOR_QUERY_RESP_FLAGS_THRESHOLD_VALUES_AVAILABLE     0x20UL
 9937	u8	temp2;
 9938	u8	phy_temp2;
 9939	u8	om_temp2;
 9940	u8	warn_threshold;
 9941	u8	critical_threshold;
 9942	u8	fatal_threshold;
 9943	u8	shutdown_threshold;
 9944	u8	unused_0[4];
 9945	u8	valid;
 9946};
 9947
 9948/* hwrm_wol_filter_alloc_input (size:512b/64B) */
 9949struct hwrm_wol_filter_alloc_input {
 9950	__le16	req_type;
 9951	__le16	cmpl_ring;
 9952	__le16	seq_id;
 9953	__le16	target_id;
 9954	__le64	resp_addr;
 9955	__le32	flags;
 9956	__le32	enables;
 9957	#define WOL_FILTER_ALLOC_REQ_ENABLES_MAC_ADDRESS           0x1UL
 9958	#define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_OFFSET        0x2UL
 9959	#define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_SIZE      0x4UL
 9960	#define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_ADDR      0x8UL
 9961	#define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_ADDR     0x10UL
 9962	#define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_SIZE     0x20UL
 9963	__le16	port_id;
 9964	u8	wol_type;
 9965	#define WOL_FILTER_ALLOC_REQ_WOL_TYPE_MAGICPKT 0x0UL
 9966	#define WOL_FILTER_ALLOC_REQ_WOL_TYPE_BMP      0x1UL
 9967	#define WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID  0xffUL
 9968	#define WOL_FILTER_ALLOC_REQ_WOL_TYPE_LAST    WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID
 9969	u8	unused_0[5];
 9970	u8	mac_address[6];
 9971	__le16	pattern_offset;
 9972	__le16	pattern_buf_size;
 9973	__le16	pattern_mask_size;
 9974	u8	unused_1[4];
 9975	__le64	pattern_buf_addr;
 9976	__le64	pattern_mask_addr;
 9977};
 9978
 9979/* hwrm_wol_filter_alloc_output (size:128b/16B) */
 9980struct hwrm_wol_filter_alloc_output {
 9981	__le16	error_code;
 9982	__le16	req_type;
 9983	__le16	seq_id;
 9984	__le16	resp_len;
 9985	u8	wol_filter_id;
 9986	u8	unused_0[6];
 9987	u8	valid;
 9988};
 9989
 9990/* hwrm_wol_filter_free_input (size:256b/32B) */
 9991struct hwrm_wol_filter_free_input {
 9992	__le16	req_type;
 9993	__le16	cmpl_ring;
 9994	__le16	seq_id;
 9995	__le16	target_id;
 9996	__le64	resp_addr;
 9997	__le32	flags;
 9998	#define WOL_FILTER_FREE_REQ_FLAGS_FREE_ALL_WOL_FILTERS     0x1UL
 9999	__le32	enables;
10000	#define WOL_FILTER_FREE_REQ_ENABLES_WOL_FILTER_ID     0x1UL
10001	__le16	port_id;
10002	u8	wol_filter_id;
10003	u8	unused_0[5];
10004};
10005
10006/* hwrm_wol_filter_free_output (size:128b/16B) */
10007struct hwrm_wol_filter_free_output {
10008	__le16	error_code;
10009	__le16	req_type;
10010	__le16	seq_id;
10011	__le16	resp_len;
10012	u8	unused_0[7];
10013	u8	valid;
10014};
10015
10016/* hwrm_wol_filter_qcfg_input (size:448b/56B) */
10017struct hwrm_wol_filter_qcfg_input {
10018	__le16	req_type;
10019	__le16	cmpl_ring;
10020	__le16	seq_id;
10021	__le16	target_id;
10022	__le64	resp_addr;
10023	__le16	port_id;
10024	__le16	handle;
10025	u8	unused_0[4];
10026	__le64	pattern_buf_addr;
10027	__le16	pattern_buf_size;
10028	u8	unused_1[6];
10029	__le64	pattern_mask_addr;
10030	__le16	pattern_mask_size;
10031	u8	unused_2[6];
10032};
10033
10034/* hwrm_wol_filter_qcfg_output (size:256b/32B) */
10035struct hwrm_wol_filter_qcfg_output {
10036	__le16	error_code;
10037	__le16	req_type;
10038	__le16	seq_id;
10039	__le16	resp_len;
10040	__le16	next_handle;
10041	u8	wol_filter_id;
10042	u8	wol_type;
10043	#define WOL_FILTER_QCFG_RESP_WOL_TYPE_MAGICPKT 0x0UL
10044	#define WOL_FILTER_QCFG_RESP_WOL_TYPE_BMP      0x1UL
10045	#define WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID  0xffUL
10046	#define WOL_FILTER_QCFG_RESP_WOL_TYPE_LAST    WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID
10047	__le32	unused_0;
10048	u8	mac_address[6];
10049	__le16	pattern_offset;
10050	__le16	pattern_size;
10051	__le16	pattern_mask_size;
10052	u8	unused_1[3];
10053	u8	valid;
10054};
10055
10056/* hwrm_wol_reason_qcfg_input (size:320b/40B) */
10057struct hwrm_wol_reason_qcfg_input {
10058	__le16	req_type;
10059	__le16	cmpl_ring;
10060	__le16	seq_id;
10061	__le16	target_id;
10062	__le64	resp_addr;
10063	__le16	port_id;
10064	u8	unused_0[6];
10065	__le64	wol_pkt_buf_addr;
10066	__le16	wol_pkt_buf_size;
10067	u8	unused_1[6];
10068};
10069
10070/* hwrm_wol_reason_qcfg_output (size:128b/16B) */
10071struct hwrm_wol_reason_qcfg_output {
10072	__le16	error_code;
10073	__le16	req_type;
10074	__le16	seq_id;
10075	__le16	resp_len;
10076	u8	wol_filter_id;
10077	u8	wol_reason;
10078	#define WOL_REASON_QCFG_RESP_WOL_REASON_MAGICPKT 0x0UL
10079	#define WOL_REASON_QCFG_RESP_WOL_REASON_BMP      0x1UL
10080	#define WOL_REASON_QCFG_RESP_WOL_REASON_INVALID  0xffUL
10081	#define WOL_REASON_QCFG_RESP_WOL_REASON_LAST    WOL_REASON_QCFG_RESP_WOL_REASON_INVALID
10082	u8	wol_pkt_len;
10083	u8	unused_0[4];
10084	u8	valid;
10085};
10086
10087/* hwrm_dbg_read_direct_input (size:256b/32B) */
10088struct hwrm_dbg_read_direct_input {
10089	__le16	req_type;
10090	__le16	cmpl_ring;
10091	__le16	seq_id;
10092	__le16	target_id;
10093	__le64	resp_addr;
10094	__le64	host_dest_addr;
10095	__le32	read_addr;
10096	__le32	read_len32;
10097};
10098
10099/* hwrm_dbg_read_direct_output (size:128b/16B) */
10100struct hwrm_dbg_read_direct_output {
10101	__le16	error_code;
10102	__le16	req_type;
10103	__le16	seq_id;
10104	__le16	resp_len;
10105	__le32	crc32;
10106	u8	unused_0[3];
10107	u8	valid;
10108};
10109
10110/* hwrm_dbg_qcaps_input (size:192b/24B) */
10111struct hwrm_dbg_qcaps_input {
10112	__le16	req_type;
10113	__le16	cmpl_ring;
10114	__le16	seq_id;
10115	__le16	target_id;
10116	__le64	resp_addr;
10117	__le16	fid;
10118	u8	unused_0[6];
10119};
10120
10121/* hwrm_dbg_qcaps_output (size:192b/24B) */
10122struct hwrm_dbg_qcaps_output {
10123	__le16	error_code;
10124	__le16	req_type;
10125	__le16	seq_id;
10126	__le16	resp_len;
10127	__le16	fid;
10128	u8	unused_0[2];
10129	__le32	coredump_component_disable_caps;
10130	#define DBG_QCAPS_RESP_COREDUMP_COMPONENT_DISABLE_CAPS_NVRAM     0x1UL
10131	__le32	flags;
10132	#define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_NVM             0x1UL
10133	#define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_HOST_DDR        0x2UL
10134	#define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_SOC_DDR         0x4UL
10135	#define DBG_QCAPS_RESP_FLAGS_USEQ                      0x8UL
10136	#define DBG_QCAPS_RESP_FLAGS_COREDUMP_HOST_DDR         0x10UL
10137	#define DBG_QCAPS_RESP_FLAGS_COREDUMP_HOST_CAPTURE     0x20UL
10138	#define DBG_QCAPS_RESP_FLAGS_PTRACE                    0x40UL
10139	#define DBG_QCAPS_RESP_FLAGS_REG_ACCESS_RESTRICTED     0x80UL
10140	u8	unused_1[3];
10141	u8	valid;
10142};
10143
10144/* hwrm_dbg_qcfg_input (size:192b/24B) */
10145struct hwrm_dbg_qcfg_input {
10146	__le16	req_type;
10147	__le16	cmpl_ring;
10148	__le16	seq_id;
10149	__le16	target_id;
10150	__le64	resp_addr;
10151	__le16	fid;
10152	__le16	flags;
10153	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_MASK         0x3UL
10154	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_SFT          0
10155	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_NVM       0x0UL
10156	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_HOST_DDR  0x1UL
10157	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_SOC_DDR   0x2UL
10158	#define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_LAST          DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_SOC_DDR
10159	__le32	coredump_component_disable_flags;
10160	#define DBG_QCFG_REQ_COREDUMP_COMPONENT_DISABLE_FLAGS_NVRAM     0x1UL
10161};
10162
10163/* hwrm_dbg_qcfg_output (size:256b/32B) */
10164struct hwrm_dbg_qcfg_output {
10165	__le16	error_code;
10166	__le16	req_type;
10167	__le16	seq_id;
10168	__le16	resp_len;
10169	__le16	fid;
10170	u8	unused_0[2];
10171	__le32	coredump_size;
10172	__le32	flags;
10173	#define DBG_QCFG_RESP_FLAGS_UART_LOG               0x1UL
10174	#define DBG_QCFG_RESP_FLAGS_UART_LOG_SECONDARY     0x2UL
10175	#define DBG_QCFG_RESP_FLAGS_FW_TRACE               0x4UL
10176	#define DBG_QCFG_RESP_FLAGS_FW_TRACE_SECONDARY     0x8UL
10177	#define DBG_QCFG_RESP_FLAGS_DEBUG_NOTIFY           0x10UL
10178	#define DBG_QCFG_RESP_FLAGS_JTAG_DEBUG             0x20UL
10179	__le16	async_cmpl_ring;
10180	u8	unused_2[2];
10181	__le32	crashdump_size;
10182	u8	unused_3[3];
10183	u8	valid;
10184};
10185
10186/* hwrm_dbg_crashdump_medium_cfg_input (size:320b/40B) */
10187struct hwrm_dbg_crashdump_medium_cfg_input {
10188	__le16	req_type;
10189	__le16	cmpl_ring;
10190	__le16	seq_id;
10191	__le16	target_id;
10192	__le64	resp_addr;
10193	__le16	output_dest_flags;
10194	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_TYPE_DDR     0x1UL
10195	__le16	pg_size_lvl;
10196	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_MASK      0x3UL
10197	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_SFT       0
10198	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_LVL_0       0x0UL
10199	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_LVL_1       0x1UL
10200	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_LVL_2       0x2UL
10201	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_LAST       DBG_CRASHDUMP_MEDIUM_CFG_REQ_LVL_LVL_2
10202	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_MASK  0x1cUL
10203	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_SFT   2
10204	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_4K   (0x0UL << 2)
10205	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_8K   (0x1UL << 2)
10206	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_64K  (0x2UL << 2)
10207	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_2M   (0x3UL << 2)
10208	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_8M   (0x4UL << 2)
10209	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_1G   (0x5UL << 2)
10210	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_LAST   DBG_CRASHDUMP_MEDIUM_CFG_REQ_PG_SIZE_PG_1G
10211	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_UNUSED11_MASK 0xffe0UL
10212	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_UNUSED11_SFT  5
10213	__le32	size;
10214	__le32	coredump_component_disable_flags;
10215	#define DBG_CRASHDUMP_MEDIUM_CFG_REQ_NVRAM     0x1UL
10216	__le32	unused_0;
10217	__le64	pbl;
10218};
10219
10220/* hwrm_dbg_crashdump_medium_cfg_output (size:128b/16B) */
10221struct hwrm_dbg_crashdump_medium_cfg_output {
10222	__le16	error_code;
10223	__le16	req_type;
10224	__le16	seq_id;
10225	__le16	resp_len;
10226	u8	unused_1[7];
10227	u8	valid;
10228};
10229
10230/* coredump_segment_record (size:128b/16B) */
10231struct coredump_segment_record {
10232	__le16	component_id;
10233	__le16	segment_id;
10234	__le16	max_instances;
10235	u8	version_hi;
10236	u8	version_low;
10237	u8	seg_flags;
10238	u8	compress_flags;
10239	#define SFLAG_COMPRESSED_ZLIB     0x1UL
10240	u8	unused_0[2];
10241	__le32	segment_len;
10242};
10243
10244/* hwrm_dbg_coredump_list_input (size:256b/32B) */
10245struct hwrm_dbg_coredump_list_input {
10246	__le16	req_type;
10247	__le16	cmpl_ring;
10248	__le16	seq_id;
10249	__le16	target_id;
10250	__le64	resp_addr;
10251	__le64	host_dest_addr;
10252	__le32	host_buf_len;
10253	__le16	seq_no;
10254	u8	flags;
10255	#define DBG_COREDUMP_LIST_REQ_FLAGS_CRASHDUMP     0x1UL
10256	u8	unused_0[1];
10257};
10258
10259/* hwrm_dbg_coredump_list_output (size:128b/16B) */
10260struct hwrm_dbg_coredump_list_output {
10261	__le16	error_code;
10262	__le16	req_type;
10263	__le16	seq_id;
10264	__le16	resp_len;
10265	u8	flags;
10266	#define DBG_COREDUMP_LIST_RESP_FLAGS_MORE     0x1UL
10267	u8	unused_0;
10268	__le16	total_segments;
10269	__le16	data_len;
10270	u8	unused_1;
10271	u8	valid;
10272};
10273
10274/* hwrm_dbg_coredump_initiate_input (size:256b/32B) */
10275struct hwrm_dbg_coredump_initiate_input {
10276	__le16	req_type;
10277	__le16	cmpl_ring;
10278	__le16	seq_id;
10279	__le16	target_id;
10280	__le64	resp_addr;
10281	__le16	component_id;
10282	__le16	segment_id;
10283	__le16	instance;
10284	__le16	unused_0;
10285	u8	seg_flags;
10286	#define DBG_COREDUMP_INITIATE_REQ_SEG_FLAGS_LIVE_DATA                0x1UL
10287	#define DBG_COREDUMP_INITIATE_REQ_SEG_FLAGS_CRASH_DATA               0x2UL
10288	#define DBG_COREDUMP_INITIATE_REQ_SEG_FLAGS_COLLECT_CTX_L1_CACHE     0x4UL
10289	u8	unused_1[7];
10290};
10291
10292/* hwrm_dbg_coredump_initiate_output (size:128b/16B) */
10293struct hwrm_dbg_coredump_initiate_output {
10294	__le16	error_code;
10295	__le16	req_type;
10296	__le16	seq_id;
10297	__le16	resp_len;
10298	u8	unused_0[7];
10299	u8	valid;
10300};
10301
10302/* coredump_data_hdr (size:128b/16B) */
10303struct coredump_data_hdr {
10304	__le32	address;
10305	__le32	flags_length;
10306	#define COREDUMP_DATA_HDR_FLAGS_LENGTH_ACTUAL_LEN_MASK     0xffffffUL
10307	#define COREDUMP_DATA_HDR_FLAGS_LENGTH_ACTUAL_LEN_SFT      0
10308	#define COREDUMP_DATA_HDR_FLAGS_LENGTH_INDIRECT_ACCESS     0x1000000UL
10309	__le32	instance;
10310	__le32	next_offset;
10311};
10312
10313/* hwrm_dbg_coredump_retrieve_input (size:448b/56B) */
10314struct hwrm_dbg_coredump_retrieve_input {
10315	__le16	req_type;
10316	__le16	cmpl_ring;
10317	__le16	seq_id;
10318	__le16	target_id;
10319	__le64	resp_addr;
10320	__le64	host_dest_addr;
10321	__le32	host_buf_len;
10322	__le32	unused_0;
10323	__le16	component_id;
10324	__le16	segment_id;
10325	__le16	instance;
10326	__le16	unused_1;
10327	u8	seg_flags;
10328	u8	unused_2;
10329	__le16	unused_3;
10330	__le32	unused_4;
10331	__le32	seq_no;
10332	__le32	unused_5;
10333};
10334
10335/* hwrm_dbg_coredump_retrieve_output (size:128b/16B) */
10336struct hwrm_dbg_coredump_retrieve_output {
10337	__le16	error_code;
10338	__le16	req_type;
10339	__le16	seq_id;
10340	__le16	resp_len;
10341	u8	flags;
10342	#define DBG_COREDUMP_RETRIEVE_RESP_FLAGS_MORE     0x1UL
10343	u8	unused_0;
10344	__le16	data_len;
10345	u8	unused_1[3];
10346	u8	valid;
10347};
10348
10349/* hwrm_dbg_ring_info_get_input (size:192b/24B) */
10350struct hwrm_dbg_ring_info_get_input {
10351	__le16	req_type;
10352	__le16	cmpl_ring;
10353	__le16	seq_id;
10354	__le16	target_id;
10355	__le64	resp_addr;
10356	u8	ring_type;
10357	#define DBG_RING_INFO_GET_REQ_RING_TYPE_L2_CMPL 0x0UL
10358	#define DBG_RING_INFO_GET_REQ_RING_TYPE_TX      0x1UL
10359	#define DBG_RING_INFO_GET_REQ_RING_TYPE_RX      0x2UL
10360	#define DBG_RING_INFO_GET_REQ_RING_TYPE_NQ      0x3UL
10361	#define DBG_RING_INFO_GET_REQ_RING_TYPE_LAST   DBG_RING_INFO_GET_REQ_RING_TYPE_NQ
10362	u8	unused_0[3];
10363	__le32	fw_ring_id;
10364};
10365
10366/* hwrm_dbg_ring_info_get_output (size:192b/24B) */
10367struct hwrm_dbg_ring_info_get_output {
10368	__le16	error_code;
10369	__le16	req_type;
10370	__le16	seq_id;
10371	__le16	resp_len;
10372	__le32	producer_index;
10373	__le32	consumer_index;
10374	__le32	cag_vector_ctrl;
10375	__le16	st_tag;
10376	u8	unused_0;
10377	u8	valid;
10378};
10379
10380/* hwrm_dbg_log_buffer_flush_input (size:192b/24B) */
10381struct hwrm_dbg_log_buffer_flush_input {
10382	__le16	req_type;
10383	__le16	cmpl_ring;
10384	__le16	seq_id;
10385	__le16	target_id;
10386	__le64	resp_addr;
10387	__le16	type;
10388	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT_TRACE           0x0UL
10389	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT2_TRACE          0x1UL
10390	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT_TRACE           0x2UL
10391	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT2_TRACE          0x3UL
10392	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP0_TRACE         0x4UL
10393	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_L2_HWRM_TRACE       0x5UL
10394	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ROCE_HWRM_TRACE     0x6UL
10395	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA0_TRACE           0x7UL
10396	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA1_TRACE           0x8UL
10397	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA2_TRACE           0x9UL
10398	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP1_TRACE         0xaUL
10399	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE 0xbUL
10400	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE       0xcUL
10401	#define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_LAST               DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE
10402	u8	unused_1[2];
10403	__le32	flags;
10404	#define DBG_LOG_BUFFER_FLUSH_REQ_FLAGS_FLUSH_ALL_BUFFERS     0x1UL
10405};
10406
10407/* hwrm_dbg_log_buffer_flush_output (size:128b/16B) */
10408struct hwrm_dbg_log_buffer_flush_output {
10409	__le16	error_code;
10410	__le16	req_type;
10411	__le16	seq_id;
10412	__le16	resp_len;
10413	__le32	current_buffer_offset;
10414	u8	unused_1[3];
10415	u8	valid;
10416};
10417
10418/* hwrm_nvm_read_input (size:320b/40B) */
10419struct hwrm_nvm_read_input {
10420	__le16	req_type;
10421	__le16	cmpl_ring;
10422	__le16	seq_id;
10423	__le16	target_id;
10424	__le64	resp_addr;
10425	__le64	host_dest_addr;
10426	__le16	dir_idx;
10427	u8	unused_0[2];
10428	__le32	offset;
10429	__le32	len;
10430	u8	unused_1[4];
10431};
10432
10433/* hwrm_nvm_read_output (size:128b/16B) */
10434struct hwrm_nvm_read_output {
10435	__le16	error_code;
10436	__le16	req_type;
10437	__le16	seq_id;
10438	__le16	resp_len;
10439	u8	unused_0[7];
10440	u8	valid;
10441};
10442
10443/* hwrm_nvm_get_dir_entries_input (size:192b/24B) */
10444struct hwrm_nvm_get_dir_entries_input {
10445	__le16	req_type;
10446	__le16	cmpl_ring;
10447	__le16	seq_id;
10448	__le16	target_id;
10449	__le64	resp_addr;
10450	__le64	host_dest_addr;
10451};
10452
10453/* hwrm_nvm_get_dir_entries_output (size:128b/16B) */
10454struct hwrm_nvm_get_dir_entries_output {
10455	__le16	error_code;
10456	__le16	req_type;
10457	__le16	seq_id;
10458	__le16	resp_len;
10459	u8	unused_0[7];
10460	u8	valid;
10461};
10462
10463/* hwrm_nvm_get_dir_info_input (size:128b/16B) */
10464struct hwrm_nvm_get_dir_info_input {
10465	__le16	req_type;
10466	__le16	cmpl_ring;
10467	__le16	seq_id;
10468	__le16	target_id;
10469	__le64	resp_addr;
10470};
10471
10472/* hwrm_nvm_get_dir_info_output (size:192b/24B) */
10473struct hwrm_nvm_get_dir_info_output {
10474	__le16	error_code;
10475	__le16	req_type;
10476	__le16	seq_id;
10477	__le16	resp_len;
10478	__le32	entries;
10479	__le32	entry_length;
10480	u8	unused_0[7];
10481	u8	valid;
10482};
10483
10484/* hwrm_nvm_write_input (size:448b/56B) */
10485struct hwrm_nvm_write_input {
10486	__le16	req_type;
10487	__le16	cmpl_ring;
10488	__le16	seq_id;
10489	__le16	target_id;
10490	__le64	resp_addr;
10491	__le64	host_src_addr;
10492	__le16	dir_type;
10493	__le16	dir_ordinal;
10494	__le16	dir_ext;
10495	__le16	dir_attr;
10496	__le32	dir_data_length;
10497	__le16	option;
10498	__le16	flags;
10499	#define NVM_WRITE_REQ_FLAGS_KEEP_ORIG_ACTIVE_IMG     0x1UL
10500	#define NVM_WRITE_REQ_FLAGS_BATCH_MODE               0x2UL
10501	#define NVM_WRITE_REQ_FLAGS_BATCH_LAST               0x4UL
10502	#define NVM_WRITE_REQ_FLAGS_SKIP_CRID_CHECK          0x8UL
10503	__le32	dir_item_length;
10504	__le32	offset;
10505	__le32	len;
10506	__le32	unused_0;
10507};
10508
10509/* hwrm_nvm_write_output (size:128b/16B) */
10510struct hwrm_nvm_write_output {
10511	__le16	error_code;
10512	__le16	req_type;
10513	__le16	seq_id;
10514	__le16	resp_len;
10515	__le32	dir_item_length;
10516	__le16	dir_idx;
10517	u8	unused_0;
10518	u8	valid;
10519};
10520
10521/* hwrm_nvm_write_cmd_err (size:64b/8B) */
10522struct hwrm_nvm_write_cmd_err {
10523	u8	code;
10524	#define NVM_WRITE_CMD_ERR_CODE_UNKNOWN              0x0UL
10525	#define NVM_WRITE_CMD_ERR_CODE_FRAG_ERR             0x1UL
10526	#define NVM_WRITE_CMD_ERR_CODE_NO_SPACE             0x2UL
10527	#define NVM_WRITE_CMD_ERR_CODE_WRITE_FAILED         0x3UL
10528	#define NVM_WRITE_CMD_ERR_CODE_REQD_ERASE_FAILED    0x4UL
10529	#define NVM_WRITE_CMD_ERR_CODE_VERIFY_FAILED        0x5UL
10530	#define NVM_WRITE_CMD_ERR_CODE_INVALID_HEADER       0x6UL
10531	#define NVM_WRITE_CMD_ERR_CODE_UPDATE_DIGEST_FAILED 0x7UL
10532	#define NVM_WRITE_CMD_ERR_CODE_LAST                NVM_WRITE_CMD_ERR_CODE_UPDATE_DIGEST_FAILED
10533	u8	unused_0[7];
10534};
10535
10536/* hwrm_nvm_modify_input (size:320b/40B) */
10537struct hwrm_nvm_modify_input {
10538	__le16	req_type;
10539	__le16	cmpl_ring;
10540	__le16	seq_id;
10541	__le16	target_id;
10542	__le64	resp_addr;
10543	__le64	host_src_addr;
10544	__le16	dir_idx;
10545	__le16	flags;
10546	#define NVM_MODIFY_REQ_FLAGS_BATCH_MODE     0x1UL
10547	#define NVM_MODIFY_REQ_FLAGS_BATCH_LAST     0x2UL
10548	__le32	offset;
10549	__le32	len;
10550	u8	unused_1[4];
10551};
10552
10553/* hwrm_nvm_modify_output (size:128b/16B) */
10554struct hwrm_nvm_modify_output {
10555	__le16	error_code;
10556	__le16	req_type;
10557	__le16	seq_id;
10558	__le16	resp_len;
10559	u8	unused_0[7];
10560	u8	valid;
10561};
10562
10563/* hwrm_nvm_find_dir_entry_input (size:256b/32B) */
10564struct hwrm_nvm_find_dir_entry_input {
10565	__le16	req_type;
10566	__le16	cmpl_ring;
10567	__le16	seq_id;
10568	__le16	target_id;
10569	__le64	resp_addr;
10570	__le32	enables;
10571	#define NVM_FIND_DIR_ENTRY_REQ_ENABLES_DIR_IDX_VALID     0x1UL
10572	__le16	dir_idx;
10573	__le16	dir_type;
10574	__le16	dir_ordinal;
10575	__le16	dir_ext;
10576	u8	opt_ordinal;
10577	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_MASK 0x3UL
10578	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_SFT 0
10579	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_EQ    0x0UL
10580	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GE    0x1UL
10581	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT    0x2UL
10582	#define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_LAST NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT
10583	u8	unused_0[3];
10584};
10585
10586/* hwrm_nvm_find_dir_entry_output (size:256b/32B) */
10587struct hwrm_nvm_find_dir_entry_output {
10588	__le16	error_code;
10589	__le16	req_type;
10590	__le16	seq_id;
10591	__le16	resp_len;
10592	__le32	dir_item_length;
10593	__le32	dir_data_length;
10594	__le32	fw_ver;
10595	__le16	dir_ordinal;
10596	__le16	dir_idx;
10597	u8	unused_0[7];
10598	u8	valid;
10599};
10600
10601/* hwrm_nvm_erase_dir_entry_input (size:192b/24B) */
10602struct hwrm_nvm_erase_dir_entry_input {
10603	__le16	req_type;
10604	__le16	cmpl_ring;
10605	__le16	seq_id;
10606	__le16	target_id;
10607	__le64	resp_addr;
10608	__le16	dir_idx;
10609	u8	unused_0[6];
10610};
10611
10612/* hwrm_nvm_erase_dir_entry_output (size:128b/16B) */
10613struct hwrm_nvm_erase_dir_entry_output {
10614	__le16	error_code;
10615	__le16	req_type;
10616	__le16	seq_id;
10617	__le16	resp_len;
10618	u8	unused_0[7];
10619	u8	valid;
10620};
10621
10622/* hwrm_nvm_get_dev_info_input (size:192b/24B) */
10623struct hwrm_nvm_get_dev_info_input {
10624	__le16	req_type;
10625	__le16	cmpl_ring;
10626	__le16	seq_id;
10627	__le16	target_id;
10628	__le64	resp_addr;
10629	u8	flags;
10630	#define NVM_GET_DEV_INFO_REQ_FLAGS_SECURITY_SOC_NVM     0x1UL
10631	u8	unused_0[7];
10632};
10633
10634/* hwrm_nvm_get_dev_info_output (size:768b/96B) */
10635struct hwrm_nvm_get_dev_info_output {
10636	__le16	error_code;
10637	__le16	req_type;
10638	__le16	seq_id;
10639	__le16	resp_len;
10640	__le16	manufacturer_id;
10641	__le16	device_id;
10642	__le32	sector_size;
10643	__le32	nvram_size;
10644	__le32	reserved_size;
10645	__le32	available_size;
10646	u8	nvm_cfg_ver_maj;
10647	u8	nvm_cfg_ver_min;
10648	u8	nvm_cfg_ver_upd;
10649	u8	flags;
10650	#define NVM_GET_DEV_INFO_RESP_FLAGS_FW_VER_VALID     0x1UL
10651	char	pkg_name[16];
10652	__le16	hwrm_fw_major;
10653	__le16	hwrm_fw_minor;
10654	__le16	hwrm_fw_build;
10655	__le16	hwrm_fw_patch;
10656	__le16	mgmt_fw_major;
10657	__le16	mgmt_fw_minor;
10658	__le16	mgmt_fw_build;
10659	__le16	mgmt_fw_patch;
10660	__le16	roce_fw_major;
10661	__le16	roce_fw_minor;
10662	__le16	roce_fw_build;
10663	__le16	roce_fw_patch;
10664	__le16	netctrl_fw_major;
10665	__le16	netctrl_fw_minor;
10666	__le16	netctrl_fw_build;
10667	__le16	netctrl_fw_patch;
10668	__le16	srt2_fw_major;
10669	__le16	srt2_fw_minor;
10670	__le16	srt2_fw_build;
10671	__le16	srt2_fw_patch;
10672	u8	security_soc_fw_major;
10673	u8	security_soc_fw_minor;
10674	u8	security_soc_fw_build;
10675	u8	security_soc_fw_patch;
10676	u8	unused_0[3];
10677	u8	valid;
10678};
10679
10680/* hwrm_nvm_mod_dir_entry_input (size:256b/32B) */
10681struct hwrm_nvm_mod_dir_entry_input {
10682	__le16	req_type;
10683	__le16	cmpl_ring;
10684	__le16	seq_id;
10685	__le16	target_id;
10686	__le64	resp_addr;
10687	__le32	enables;
10688	#define NVM_MOD_DIR_ENTRY_REQ_ENABLES_CHECKSUM     0x1UL
10689	__le16	dir_idx;
10690	__le16	dir_ordinal;
10691	__le16	dir_ext;
10692	__le16	dir_attr;
10693	__le32	checksum;
10694};
10695
10696/* hwrm_nvm_mod_dir_entry_output (size:128b/16B) */
10697struct hwrm_nvm_mod_dir_entry_output {
10698	__le16	error_code;
10699	__le16	req_type;
10700	__le16	seq_id;
10701	__le16	resp_len;
10702	u8	unused_0[7];
10703	u8	valid;
10704};
10705
10706/* hwrm_nvm_verify_update_input (size:192b/24B) */
10707struct hwrm_nvm_verify_update_input {
10708	__le16	req_type;
10709	__le16	cmpl_ring;
10710	__le16	seq_id;
10711	__le16	target_id;
10712	__le64	resp_addr;
10713	__le16	dir_type;
10714	__le16	dir_ordinal;
10715	__le16	dir_ext;
10716	u8	unused_0[2];
10717};
10718
10719/* hwrm_nvm_verify_update_output (size:128b/16B) */
10720struct hwrm_nvm_verify_update_output {
10721	__le16	error_code;
10722	__le16	req_type;
10723	__le16	seq_id;
10724	__le16	resp_len;
10725	u8	unused_0[7];
10726	u8	valid;
10727};
10728
10729/* hwrm_nvm_install_update_input (size:192b/24B) */
10730struct hwrm_nvm_install_update_input {
10731	__le16	req_type;
10732	__le16	cmpl_ring;
10733	__le16	seq_id;
10734	__le16	target_id;
10735	__le64	resp_addr;
10736	__le32	install_type;
10737	#define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_NORMAL 0x0UL
10738	#define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL    0xffffffffUL
10739	#define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_LAST  NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL
10740	__le16	flags;
10741	#define NVM_INSTALL_UPDATE_REQ_FLAGS_ERASE_UNUSED_SPACE     0x1UL
10742	#define NVM_INSTALL_UPDATE_REQ_FLAGS_REMOVE_UNUSED_PKG      0x2UL
10743	#define NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG      0x4UL
10744	#define NVM_INSTALL_UPDATE_REQ_FLAGS_VERIFY_ONLY            0x8UL
10745	u8	unused_0[2];
10746};
10747
10748/* hwrm_nvm_install_update_output (size:192b/24B) */
10749struct hwrm_nvm_install_update_output {
10750	__le16	error_code;
10751	__le16	req_type;
10752	__le16	seq_id;
10753	__le16	resp_len;
10754	__le64	installed_items;
10755	u8	result;
10756	#define NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS                      0x0UL
10757	#define NVM_INSTALL_UPDATE_RESP_RESULT_FAILURE                      0xffUL
10758	#define NVM_INSTALL_UPDATE_RESP_RESULT_MALLOC_FAILURE               0xfdUL
10759	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_INDEX_PARAMETER      0xfbUL
10760	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_TYPE_PARAMETER       0xf3UL
10761	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_PREREQUISITE         0xf2UL
10762	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_FILE_HEADER          0xecUL
10763	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_SIGNATURE            0xebUL
10764	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_PROP_STREAM          0xeaUL
10765	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_PROP_LENGTH          0xe9UL
10766	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_MANIFEST             0xe8UL
10767	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_TRAILER              0xe7UL
10768	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_CHECKSUM             0xe6UL
10769	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_ITEM_CHECKSUM        0xe5UL
10770	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_DATA_LENGTH          0xe4UL
10771	#define NVM_INSTALL_UPDATE_RESP_RESULT_INVALID_DIRECTIVE            0xe1UL
10772	#define NVM_INSTALL_UPDATE_RESP_RESULT_UNSUPPORTED_CHIP_REV         0xceUL
10773	#define NVM_INSTALL_UPDATE_RESP_RESULT_UNSUPPORTED_DEVICE_ID        0xcdUL
10774	#define NVM_INSTALL_UPDATE_RESP_RESULT_UNSUPPORTED_SUBSYS_VENDOR    0xccUL
10775	#define NVM_INSTALL_UPDATE_RESP_RESULT_UNSUPPORTED_SUBSYS_ID        0xcbUL
10776	#define NVM_INSTALL_UPDATE_RESP_RESULT_UNSUPPORTED_PLATFORM         0xc5UL
10777	#define NVM_INSTALL_UPDATE_RESP_RESULT_DUPLICATE_ITEM               0xc4UL
10778	#define NVM_INSTALL_UPDATE_RESP_RESULT_ZERO_LENGTH_ITEM             0xc3UL
10779	#define NVM_INSTALL_UPDATE_RESP_RESULT_INSTALL_CHECKSUM_ERROR       0xb9UL
10780	#define NVM_INSTALL_UPDATE_RESP_RESULT_INSTALL_DATA_ERROR           0xb8UL
10781	#define NVM_INSTALL_UPDATE_RESP_RESULT_INSTALL_AUTHENTICATION_ERROR 0xb7UL
10782	#define NVM_INSTALL_UPDATE_RESP_RESULT_ITEM_NOT_FOUND               0xb0UL
10783	#define NVM_INSTALL_UPDATE_RESP_RESULT_ITEM_LOCKED                  0xa7UL
10784	#define NVM_INSTALL_UPDATE_RESP_RESULT_LAST                        NVM_INSTALL_UPDATE_RESP_RESULT_ITEM_LOCKED
10785	u8	problem_item;
10786	#define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_NONE    0x0UL
10787	#define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE 0xffUL
10788	#define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_LAST   NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE
10789	u8	reset_required;
10790	#define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_NONE  0x0UL
10791	#define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_PCI   0x1UL
10792	#define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER 0x2UL
10793	#define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_LAST NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER
10794	u8	unused_0[4];
10795	u8	valid;
10796};
10797
10798/* hwrm_nvm_install_update_cmd_err (size:64b/8B) */
10799struct hwrm_nvm_install_update_cmd_err {
10800	u8	code;
10801	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN            0x0UL
10802	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR           0x1UL
10803	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE           0x2UL
10804	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_ANTI_ROLLBACK      0x3UL
10805	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_VOLTREG_SUPPORT 0x4UL
10806	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_DEFRAG_FAILED      0x5UL
10807	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN_DIR_ERR    0x6UL
10808	#define NVM_INSTALL_UPDATE_CMD_ERR_CODE_LAST              NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN_DIR_ERR
10809	u8	unused_0[7];
10810};
10811
10812/* hwrm_nvm_get_variable_input (size:320b/40B) */
10813struct hwrm_nvm_get_variable_input {
10814	__le16	req_type;
10815	__le16	cmpl_ring;
10816	__le16	seq_id;
10817	__le16	target_id;
10818	__le64	resp_addr;
10819	__le64	dest_data_addr;
10820	__le16	data_len;
10821	__le16	option_num;
10822	#define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_0    0x0UL
10823	#define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL
10824	#define NVM_GET_VARIABLE_REQ_OPTION_NUM_LAST     NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF
10825	__le16	dimensions;
10826	__le16	index_0;
10827	__le16	index_1;
10828	__le16	index_2;
10829	__le16	index_3;
10830	u8	flags;
10831	#define NVM_GET_VARIABLE_REQ_FLAGS_FACTORY_DFLT           0x1UL
10832	#define NVM_GET_VARIABLE_REQ_FLAGS_VALIDATE_OPT_VALUE     0x2UL
10833	u8	unused_0;
10834};
10835
10836/* hwrm_nvm_get_variable_output (size:128b/16B) */
10837struct hwrm_nvm_get_variable_output {
10838	__le16	error_code;
10839	__le16	req_type;
10840	__le16	seq_id;
10841	__le16	resp_len;
10842	__le16	data_len;
10843	__le16	option_num;
10844	#define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_0    0x0UL
10845	#define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF 0xffffUL
10846	#define NVM_GET_VARIABLE_RESP_OPTION_NUM_LAST     NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF
10847	u8	flags;
10848	#define NVM_GET_VARIABLE_RESP_FLAGS_VALIDATE_OPT_VALUE     0x1UL
10849	u8	unused_0[2];
10850	u8	valid;
10851};
10852
10853/* hwrm_nvm_get_variable_cmd_err (size:64b/8B) */
10854struct hwrm_nvm_get_variable_cmd_err {
10855	u8	code;
10856	#define NVM_GET_VARIABLE_CMD_ERR_CODE_UNKNOWN          0x0UL
10857	#define NVM_GET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST    0x1UL
10858	#define NVM_GET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR      0x2UL
10859	#define NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT    0x3UL
10860	#define NVM_GET_VARIABLE_CMD_ERR_CODE_INDEX_INVALID    0x4UL
10861	#define NVM_GET_VARIABLE_CMD_ERR_CODE_ACCESS_DENIED    0x5UL
10862	#define NVM_GET_VARIABLE_CMD_ERR_CODE_CB_FAILED        0x6UL
10863	#define NVM_GET_VARIABLE_CMD_ERR_CODE_INVALID_DATA_LEN 0x7UL
10864	#define NVM_GET_VARIABLE_CMD_ERR_CODE_NO_MEM           0x8UL
10865	#define NVM_GET_VARIABLE_CMD_ERR_CODE_LAST            NVM_GET_VARIABLE_CMD_ERR_CODE_NO_MEM
10866	u8	unused_0[7];
10867};
10868
10869/* hwrm_nvm_set_variable_input (size:320b/40B) */
10870struct hwrm_nvm_set_variable_input {
10871	__le16	req_type;
10872	__le16	cmpl_ring;
10873	__le16	seq_id;
10874	__le16	target_id;
10875	__le64	resp_addr;
10876	__le64	src_data_addr;
10877	__le16	data_len;
10878	__le16	option_num;
10879	#define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_0    0x0UL
10880	#define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL
10881	#define NVM_SET_VARIABLE_REQ_OPTION_NUM_LAST     NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF
10882	__le16	dimensions;
10883	__le16	index_0;
10884	__le16	index_1;
10885	__le16	index_2;
10886	__le16	index_3;
10887	u8	flags;
10888	#define NVM_SET_VARIABLE_REQ_FLAGS_FORCE_FLUSH                0x1UL
10889	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_MASK          0xeUL
10890	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_SFT           1
10891	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_NONE            (0x0UL << 1)
10892	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1       (0x1UL << 1)
10893	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_AES256          (0x2UL << 1)
10894	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1_AUTH  (0x3UL << 1)
10895	#define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_LAST           NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1_AUTH
10896	#define NVM_SET_VARIABLE_REQ_FLAGS_FLAGS_UNUSED_0_MASK        0x70UL
10897	#define NVM_SET_VARIABLE_REQ_FLAGS_FLAGS_UNUSED_0_SFT         4
10898	#define NVM_SET_VARIABLE_REQ_FLAGS_FACTORY_DEFAULT            0x80UL
10899	u8	unused_0;
10900};
10901
10902/* hwrm_nvm_set_variable_output (size:128b/16B) */
10903struct hwrm_nvm_set_variable_output {
10904	__le16	error_code;
10905	__le16	req_type;
10906	__le16	seq_id;
10907	__le16	resp_len;
10908	u8	unused_0[7];
10909	u8	valid;
10910};
10911
10912/* hwrm_nvm_set_variable_cmd_err (size:64b/8B) */
10913struct hwrm_nvm_set_variable_cmd_err {
10914	u8	code;
10915	#define NVM_SET_VARIABLE_CMD_ERR_CODE_UNKNOWN              0x0UL
10916	#define NVM_SET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST        0x1UL
10917	#define NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR          0x2UL
10918	#define NVM_SET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT        0x3UL
10919	#define NVM_SET_VARIABLE_CMD_ERR_CODE_ACTION_NOT_SUPPORTED 0x4UL
10920	#define NVM_SET_VARIABLE_CMD_ERR_CODE_INDEX_INVALID        0x5UL
10921	#define NVM_SET_VARIABLE_CMD_ERR_CODE_ACCESS_DENIED        0x6UL
10922	#define NVM_SET_VARIABLE_CMD_ERR_CODE_CB_FAILED            0x7UL
10923	#define NVM_SET_VARIABLE_CMD_ERR_CODE_INVALID_DATA_LEN     0x8UL
10924	#define NVM_SET_VARIABLE_CMD_ERR_CODE_NO_MEM               0x9UL
10925	#define NVM_SET_VARIABLE_CMD_ERR_CODE_LAST                NVM_SET_VARIABLE_CMD_ERR_CODE_NO_MEM
10926	u8	unused_0[7];
10927};
10928
10929/* hwrm_selftest_qlist_input (size:128b/16B) */
10930struct hwrm_selftest_qlist_input {
10931	__le16	req_type;
10932	__le16	cmpl_ring;
10933	__le16	seq_id;
10934	__le16	target_id;
10935	__le64	resp_addr;
10936};
10937
10938/* hwrm_selftest_qlist_output (size:2240b/280B) */
10939struct hwrm_selftest_qlist_output {
10940	__le16	error_code;
10941	__le16	req_type;
10942	__le16	seq_id;
10943	__le16	resp_len;
10944	u8	num_tests;
10945	u8	available_tests;
10946	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_NVM_TEST                 0x1UL
10947	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_LINK_TEST                0x2UL
10948	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_REGISTER_TEST            0x4UL
10949	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_MEMORY_TEST              0x8UL
10950	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_PCIE_SERDES_TEST         0x10UL
10951	#define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_ETHERNET_SERDES_TEST     0x20UL
10952	u8	offline_tests;
10953	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_NVM_TEST                 0x1UL
10954	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_LINK_TEST                0x2UL
10955	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_REGISTER_TEST            0x4UL
10956	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_MEMORY_TEST              0x8UL
10957	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_PCIE_SERDES_TEST         0x10UL
10958	#define SELFTEST_QLIST_RESP_OFFLINE_TESTS_ETHERNET_SERDES_TEST     0x20UL
10959	u8	unused_0;
10960	__le16	test_timeout;
10961	u8	unused_1[2];
10962	char	test_name[8][32];
10963	u8	eyescope_target_BER_support;
10964	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E8_SUPPORTED  0x0UL
10965	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E9_SUPPORTED  0x1UL
10966	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E10_SUPPORTED 0x2UL
10967	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E11_SUPPORTED 0x3UL
10968	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E12_SUPPORTED 0x4UL
10969	#define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_LAST              SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E12_SUPPORTED
10970	u8	unused_2[6];
10971	u8	valid;
10972};
10973
10974/* hwrm_selftest_exec_input (size:192b/24B) */
10975struct hwrm_selftest_exec_input {
10976	__le16	req_type;
10977	__le16	cmpl_ring;
10978	__le16	seq_id;
10979	__le16	target_id;
10980	__le64	resp_addr;
10981	u8	flags;
10982	#define SELFTEST_EXEC_REQ_FLAGS_NVM_TEST                 0x1UL
10983	#define SELFTEST_EXEC_REQ_FLAGS_LINK_TEST                0x2UL
10984	#define SELFTEST_EXEC_REQ_FLAGS_REGISTER_TEST            0x4UL
10985	#define SELFTEST_EXEC_REQ_FLAGS_MEMORY_TEST              0x8UL
10986	#define SELFTEST_EXEC_REQ_FLAGS_PCIE_SERDES_TEST         0x10UL
10987	#define SELFTEST_EXEC_REQ_FLAGS_ETHERNET_SERDES_TEST     0x20UL
10988	u8	unused_0[7];
10989};
10990
10991/* hwrm_selftest_exec_output (size:128b/16B) */
10992struct hwrm_selftest_exec_output {
10993	__le16	error_code;
10994	__le16	req_type;
10995	__le16	seq_id;
10996	__le16	resp_len;
10997	u8	requested_tests;
10998	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_NVM_TEST                 0x1UL
10999	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_LINK_TEST                0x2UL
11000	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_REGISTER_TEST            0x4UL
11001	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_MEMORY_TEST              0x8UL
11002	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_PCIE_SERDES_TEST         0x10UL
11003	#define SELFTEST_EXEC_RESP_REQUESTED_TESTS_ETHERNET_SERDES_TEST     0x20UL
11004	u8	test_success;
11005	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_NVM_TEST                 0x1UL
11006	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_LINK_TEST                0x2UL
11007	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_REGISTER_TEST            0x4UL
11008	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_MEMORY_TEST              0x8UL
11009	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_PCIE_SERDES_TEST         0x10UL
11010	#define SELFTEST_EXEC_RESP_TEST_SUCCESS_ETHERNET_SERDES_TEST     0x20UL
11011	u8	unused_0[5];
11012	u8	valid;
11013};
11014
11015/* hwrm_selftest_irq_input (size:128b/16B) */
11016struct hwrm_selftest_irq_input {
11017	__le16	req_type;
11018	__le16	cmpl_ring;
11019	__le16	seq_id;
11020	__le16	target_id;
11021	__le64	resp_addr;
11022};
11023
11024/* hwrm_selftest_irq_output (size:128b/16B) */
11025struct hwrm_selftest_irq_output {
11026	__le16	error_code;
11027	__le16	req_type;
11028	__le16	seq_id;
11029	__le16	resp_len;
11030	u8	unused_0[7];
11031	u8	valid;
11032};
11033
11034/* dbc_dbc (size:64b/8B) */
11035struct dbc_dbc {
11036	__le32	index;
11037	#define DBC_DBC_INDEX_MASK 0xffffffUL
11038	#define DBC_DBC_INDEX_SFT  0
11039	#define DBC_DBC_EPOCH      0x1000000UL
11040	#define DBC_DBC_TOGGLE_MASK 0x6000000UL
11041	#define DBC_DBC_TOGGLE_SFT 25
11042	__le32	type_path_xid;
11043	#define DBC_DBC_XID_MASK          0xfffffUL
11044	#define DBC_DBC_XID_SFT           0
11045	#define DBC_DBC_PATH_MASK         0x3000000UL
11046	#define DBC_DBC_PATH_SFT          24
11047	#define DBC_DBC_PATH_ROCE           (0x0UL << 24)
11048	#define DBC_DBC_PATH_L2             (0x1UL << 24)
11049	#define DBC_DBC_PATH_ENGINE         (0x2UL << 24)
11050	#define DBC_DBC_PATH_LAST          DBC_DBC_PATH_ENGINE
11051	#define DBC_DBC_VALID             0x4000000UL
11052	#define DBC_DBC_DEBUG_TRACE       0x8000000UL
11053	#define DBC_DBC_TYPE_MASK         0xf0000000UL
11054	#define DBC_DBC_TYPE_SFT          28
11055	#define DBC_DBC_TYPE_SQ             (0x0UL << 28)
11056	#define DBC_DBC_TYPE_RQ             (0x1UL << 28)
11057	#define DBC_DBC_TYPE_SRQ            (0x2UL << 28)
11058	#define DBC_DBC_TYPE_SRQ_ARM        (0x3UL << 28)
11059	#define DBC_DBC_TYPE_CQ             (0x4UL << 28)
11060	#define DBC_DBC_TYPE_CQ_ARMSE       (0x5UL << 28)
11061	#define DBC_DBC_TYPE_CQ_ARMALL      (0x6UL << 28)
11062	#define DBC_DBC_TYPE_CQ_ARMENA      (0x7UL << 28)
11063	#define DBC_DBC_TYPE_SRQ_ARMENA     (0x8UL << 28)
11064	#define DBC_DBC_TYPE_CQ_CUTOFF_ACK  (0x9UL << 28)
11065	#define DBC_DBC_TYPE_NQ             (0xaUL << 28)
11066	#define DBC_DBC_TYPE_NQ_ARM         (0xbUL << 28)
11067	#define DBC_DBC_TYPE_NQ_MASK        (0xeUL << 28)
11068	#define DBC_DBC_TYPE_NULL           (0xfUL << 28)
11069	#define DBC_DBC_TYPE_LAST          DBC_DBC_TYPE_NULL
11070};
11071
11072/* db_push_start (size:64b/8B) */
11073struct db_push_start {
11074	u64	db;
11075	#define DB_PUSH_START_DB_INDEX_MASK     0xffffffUL
11076	#define DB_PUSH_START_DB_INDEX_SFT      0
11077	#define DB_PUSH_START_DB_PI_LO_MASK     0xff000000UL
11078	#define DB_PUSH_START_DB_PI_LO_SFT      24
11079	#define DB_PUSH_START_DB_XID_MASK       0xfffff00000000ULL
11080	#define DB_PUSH_START_DB_XID_SFT        32
11081	#define DB_PUSH_START_DB_PI_HI_MASK     0xf0000000000000ULL
11082	#define DB_PUSH_START_DB_PI_HI_SFT      52
11083	#define DB_PUSH_START_DB_TYPE_MASK      0xf000000000000000ULL
11084	#define DB_PUSH_START_DB_TYPE_SFT       60
11085	#define DB_PUSH_START_DB_TYPE_PUSH_START  (0xcULL << 60)
11086	#define DB_PUSH_START_DB_TYPE_PUSH_END    (0xdULL << 60)
11087	#define DB_PUSH_START_DB_TYPE_LAST       DB_PUSH_START_DB_TYPE_PUSH_END
11088};
11089
11090/* db_push_end (size:64b/8B) */
11091struct db_push_end {
11092	u64	db;
11093	#define DB_PUSH_END_DB_INDEX_MASK      0xffffffUL
11094	#define DB_PUSH_END_DB_INDEX_SFT       0
11095	#define DB_PUSH_END_DB_PI_LO_MASK      0xff000000UL
11096	#define DB_PUSH_END_DB_PI_LO_SFT       24
11097	#define DB_PUSH_END_DB_XID_MASK        0xfffff00000000ULL
11098	#define DB_PUSH_END_DB_XID_SFT         32
11099	#define DB_PUSH_END_DB_PI_HI_MASK      0xf0000000000000ULL
11100	#define DB_PUSH_END_DB_PI_HI_SFT       52
11101	#define DB_PUSH_END_DB_PATH_MASK       0x300000000000000ULL
11102	#define DB_PUSH_END_DB_PATH_SFT        56
11103	#define DB_PUSH_END_DB_PATH_ROCE         (0x0ULL << 56)
11104	#define DB_PUSH_END_DB_PATH_L2           (0x1ULL << 56)
11105	#define DB_PUSH_END_DB_PATH_ENGINE       (0x2ULL << 56)
11106	#define DB_PUSH_END_DB_PATH_LAST        DB_PUSH_END_DB_PATH_ENGINE
11107	#define DB_PUSH_END_DB_DEBUG_TRACE     0x800000000000000ULL
11108	#define DB_PUSH_END_DB_TYPE_MASK       0xf000000000000000ULL
11109	#define DB_PUSH_END_DB_TYPE_SFT        60
11110	#define DB_PUSH_END_DB_TYPE_PUSH_START   (0xcULL << 60)
11111	#define DB_PUSH_END_DB_TYPE_PUSH_END     (0xdULL << 60)
11112	#define DB_PUSH_END_DB_TYPE_LAST        DB_PUSH_END_DB_TYPE_PUSH_END
11113};
11114
11115/* db_push_info (size:64b/8B) */
11116struct db_push_info {
11117	u32	push_size_push_index;
11118	#define DB_PUSH_INFO_PUSH_INDEX_MASK 0xffffffUL
11119	#define DB_PUSH_INFO_PUSH_INDEX_SFT 0
11120	#define DB_PUSH_INFO_PUSH_SIZE_MASK 0x1f000000UL
11121	#define DB_PUSH_INFO_PUSH_SIZE_SFT  24
11122	u32	reserved32;
11123};
11124
11125/* fw_status_reg (size:32b/4B) */
11126struct fw_status_reg {
11127	u32	fw_status;
11128	#define FW_STATUS_REG_CODE_MASK              0xffffUL
11129	#define FW_STATUS_REG_CODE_SFT               0
11130	#define FW_STATUS_REG_CODE_READY               0x8000UL
11131	#define FW_STATUS_REG_CODE_LAST               FW_STATUS_REG_CODE_READY
11132	#define FW_STATUS_REG_IMAGE_DEGRADED         0x10000UL
11133	#define FW_STATUS_REG_RECOVERABLE            0x20000UL
11134	#define FW_STATUS_REG_CRASHDUMP_ONGOING      0x40000UL
11135	#define FW_STATUS_REG_CRASHDUMP_COMPLETE     0x80000UL
11136	#define FW_STATUS_REG_SHUTDOWN               0x100000UL
11137	#define FW_STATUS_REG_CRASHED_NO_MASTER      0x200000UL
11138	#define FW_STATUS_REG_RECOVERING             0x400000UL
11139	#define FW_STATUS_REG_MANU_DEBUG_STATUS      0x800000UL
11140};
11141
11142/* hcomm_status (size:64b/8B) */
11143struct hcomm_status {
11144	u32	sig_ver;
11145	#define HCOMM_STATUS_VER_MASK      0xffUL
11146	#define HCOMM_STATUS_VER_SFT       0
11147	#define HCOMM_STATUS_VER_LATEST      0x1UL
11148	#define HCOMM_STATUS_VER_LAST       HCOMM_STATUS_VER_LATEST
11149	#define HCOMM_STATUS_SIGNATURE_MASK 0xffffff00UL
11150	#define HCOMM_STATUS_SIGNATURE_SFT 8
11151	#define HCOMM_STATUS_SIGNATURE_VAL   (0x484353UL << 8)
11152	#define HCOMM_STATUS_SIGNATURE_LAST HCOMM_STATUS_SIGNATURE_VAL
11153	u32	fw_status_loc;
11154	#define HCOMM_STATUS_TRUE_ADDR_SPACE_MASK    0x3UL
11155	#define HCOMM_STATUS_TRUE_ADDR_SPACE_SFT     0
11156	#define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_PCIE_CFG  0x0UL
11157	#define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_GRC       0x1UL
11158	#define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR0      0x2UL
11159	#define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR1      0x3UL
11160	#define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_LAST     HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR1
11161	#define HCOMM_STATUS_TRUE_OFFSET_MASK        0xfffffffcUL
11162	#define HCOMM_STATUS_TRUE_OFFSET_SFT         2
11163};
11164#define HCOMM_STATUS_STRUCT_LOC 0x31001F0UL
11165
11166#endif /* _BNXT_HSI_H_ */
~/ Read-only file preview.