cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ncsi-pkt.h (20910B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Copyright Gavin Shan, IBM Corporation 2016.
      4 */
      5
      6#ifndef __NCSI_PKT_H__
      7#define __NCSI_PKT_H__
      8
      9struct ncsi_pkt_hdr {
     10	unsigned char mc_id;        /* Management controller ID */
     11	unsigned char revision;     /* NCSI version - 0x01      */
     12	unsigned char reserved;     /* Reserved                 */
     13	unsigned char id;           /* Packet sequence number   */
     14	unsigned char type;         /* Packet type              */
     15	unsigned char channel;      /* Network controller ID    */
     16	__be16        length;       /* Payload length           */
     17	__be32        reserved1[2]; /* Reserved                 */
     18};
     19
     20struct ncsi_cmd_pkt_hdr {
     21	struct ncsi_pkt_hdr common; /* Common NCSI packet header */
     22};
     23
     24struct ncsi_rsp_pkt_hdr {
     25	struct ncsi_pkt_hdr common; /* Common NCSI packet header */
     26	__be16              code;   /* Response code             */
     27	__be16              reason; /* Response reason           */
     28};
     29
     30struct ncsi_aen_pkt_hdr {
     31	struct ncsi_pkt_hdr common;       /* Common NCSI packet header */
     32	unsigned char       reserved2[3]; /* Reserved                  */
     33	unsigned char       type;         /* AEN packet type           */
     34};
     35
     36/* NCSI common command packet */
     37struct ncsi_cmd_pkt {
     38	struct ncsi_cmd_pkt_hdr cmd;      /* Command header */
     39	__be32                  checksum; /* Checksum       */
     40	unsigned char           pad[26];
     41};
     42
     43struct ncsi_rsp_pkt {
     44	struct ncsi_rsp_pkt_hdr rsp;      /* Response header */
     45	__be32                  checksum; /* Checksum        */
     46	unsigned char           pad[22];
     47};
     48
     49/* Select Package */
     50struct ncsi_cmd_sp_pkt {
     51	struct ncsi_cmd_pkt_hdr cmd;            /* Command header */
     52	unsigned char           reserved[3];    /* Reserved       */
     53	unsigned char           hw_arbitration; /* HW arbitration */
     54	__be32                  checksum;       /* Checksum       */
     55	unsigned char           pad[22];
     56};
     57
     58/* Disable Channel */
     59struct ncsi_cmd_dc_pkt {
     60	struct ncsi_cmd_pkt_hdr cmd;         /* Command header  */
     61	unsigned char           reserved[3]; /* Reserved        */
     62	unsigned char           ald;         /* Allow link down */
     63	__be32                  checksum;    /* Checksum        */
     64	unsigned char           pad[22];
     65};
     66
     67/* Reset Channel */
     68struct ncsi_cmd_rc_pkt {
     69	struct ncsi_cmd_pkt_hdr cmd;      /* Command header */
     70	__be32                  reserved; /* Reserved       */
     71	__be32                  checksum; /* Checksum       */
     72	unsigned char           pad[22];
     73};
     74
     75/* AEN Enable */
     76struct ncsi_cmd_ae_pkt {
     77	struct ncsi_cmd_pkt_hdr cmd;         /* Command header   */
     78	unsigned char           reserved[3]; /* Reserved         */
     79	unsigned char           mc_id;       /* MC ID            */
     80	__be32                  mode;        /* AEN working mode */
     81	__be32                  checksum;    /* Checksum         */
     82	unsigned char           pad[18];
     83};
     84
     85/* Set Link */
     86struct ncsi_cmd_sl_pkt {
     87	struct ncsi_cmd_pkt_hdr cmd;      /* Command header    */
     88	__be32                  mode;     /* Link working mode */
     89	__be32                  oem_mode; /* OEM link mode     */
     90	__be32                  checksum; /* Checksum          */
     91	unsigned char           pad[18];
     92};
     93
     94/* Set VLAN Filter */
     95struct ncsi_cmd_svf_pkt {
     96	struct ncsi_cmd_pkt_hdr cmd;       /* Command header    */
     97	__be16                  reserved;  /* Reserved          */
     98	__be16                  vlan;      /* VLAN ID           */
     99	__be16                  reserved1; /* Reserved          */
    100	unsigned char           index;     /* VLAN table index  */
    101	unsigned char           enable;    /* Enable or disable */
    102	__be32                  checksum;  /* Checksum          */
    103	unsigned char           pad[18];
    104};
    105
    106/* Enable VLAN */
    107struct ncsi_cmd_ev_pkt {
    108	struct ncsi_cmd_pkt_hdr cmd;         /* Command header   */
    109	unsigned char           reserved[3]; /* Reserved         */
    110	unsigned char           mode;        /* VLAN filter mode */
    111	__be32                  checksum;    /* Checksum         */
    112	unsigned char           pad[22];
    113};
    114
    115/* Set MAC Address */
    116struct ncsi_cmd_sma_pkt {
    117	struct ncsi_cmd_pkt_hdr cmd;      /* Command header          */
    118	unsigned char           mac[6];   /* MAC address             */
    119	unsigned char           index;    /* MAC table index         */
    120	unsigned char           at_e;     /* Addr type and operation */
    121	__be32                  checksum; /* Checksum                */
    122	unsigned char           pad[18];
    123};
    124
    125/* Enable Broadcast Filter */
    126struct ncsi_cmd_ebf_pkt {
    127	struct ncsi_cmd_pkt_hdr cmd;      /* Command header */
    128	__be32                  mode;     /* Filter mode    */
    129	__be32                  checksum; /* Checksum       */
    130	unsigned char           pad[22];
    131};
    132
    133/* Enable Global Multicast Filter */
    134struct ncsi_cmd_egmf_pkt {
    135	struct ncsi_cmd_pkt_hdr cmd;      /* Command header */
    136	__be32                  mode;     /* Global MC mode */
    137	__be32                  checksum; /* Checksum       */
    138	unsigned char           pad[22];
    139};
    140
    141/* Set NCSI Flow Control */
    142struct ncsi_cmd_snfc_pkt {
    143	struct ncsi_cmd_pkt_hdr cmd;         /* Command header    */
    144	unsigned char           reserved[3]; /* Reserved          */
    145	unsigned char           mode;        /* Flow control mode */
    146	__be32                  checksum;    /* Checksum          */
    147	unsigned char           pad[22];
    148};
    149
    150/* OEM Request Command as per NCSI Specification */
    151struct ncsi_cmd_oem_pkt {
    152	struct ncsi_cmd_pkt_hdr cmd;         /* Command header    */
    153	__be32                  mfr_id;      /* Manufacture ID    */
    154	unsigned char           data[];      /* OEM Payload Data  */
    155};
    156
    157/* OEM Response Packet as per NCSI Specification */
    158struct ncsi_rsp_oem_pkt {
    159	struct ncsi_rsp_pkt_hdr rsp;         /* Command header    */
    160	__be32                  mfr_id;      /* Manufacture ID    */
    161	unsigned char           data[];      /* Payload data      */
    162};
    163
    164/* Mellanox Response Data */
    165struct ncsi_rsp_oem_mlx_pkt {
    166	unsigned char           cmd_rev;     /* Command Revision  */
    167	unsigned char           cmd;         /* Command ID        */
    168	unsigned char           param;       /* Parameter         */
    169	unsigned char           optional;    /* Optional data     */
    170	unsigned char           data[];      /* Data              */
    171};
    172
    173/* Broadcom Response Data */
    174struct ncsi_rsp_oem_bcm_pkt {
    175	unsigned char           ver;         /* Payload Version   */
    176	unsigned char           type;        /* OEM Command type  */
    177	__be16                  len;         /* Payload Length    */
    178	unsigned char           data[];      /* Cmd specific Data */
    179};
    180
    181/* Intel Response Data */
    182struct ncsi_rsp_oem_intel_pkt {
    183	unsigned char           cmd;         /* OEM Command ID    */
    184	unsigned char           data[];      /* Cmd specific Data */
    185};
    186
    187/* Get Link Status */
    188struct ncsi_rsp_gls_pkt {
    189	struct ncsi_rsp_pkt_hdr rsp;        /* Response header   */
    190	__be32                  status;     /* Link status       */
    191	__be32                  other;      /* Other indications */
    192	__be32                  oem_status; /* OEM link status   */
    193	__be32                  checksum;
    194	unsigned char           pad[10];
    195};
    196
    197/* Get Version ID */
    198struct ncsi_rsp_gvi_pkt {
    199	struct ncsi_rsp_pkt_hdr rsp;          /* Response header */
    200	__be32                  ncsi_version; /* NCSI version    */
    201	unsigned char           reserved[3];  /* Reserved        */
    202	unsigned char           alpha2;       /* NCSI version    */
    203	unsigned char           fw_name[12];  /* f/w name string */
    204	__be32                  fw_version;   /* f/w version     */
    205	__be16                  pci_ids[4];   /* PCI IDs         */
    206	__be32                  mf_id;        /* Manufacture ID  */
    207	__be32                  checksum;
    208};
    209
    210/* Get Capabilities */
    211struct ncsi_rsp_gc_pkt {
    212	struct ncsi_rsp_pkt_hdr rsp;         /* Response header   */
    213	__be32                  cap;         /* Capabilities      */
    214	__be32                  bc_cap;      /* Broadcast cap     */
    215	__be32                  mc_cap;      /* Multicast cap     */
    216	__be32                  buf_cap;     /* Buffering cap     */
    217	__be32                  aen_cap;     /* AEN cap           */
    218	unsigned char           vlan_cnt;    /* VLAN filter count */
    219	unsigned char           mixed_cnt;   /* Mix filter count  */
    220	unsigned char           mc_cnt;      /* MC filter count   */
    221	unsigned char           uc_cnt;      /* UC filter count   */
    222	unsigned char           reserved[2]; /* Reserved          */
    223	unsigned char           vlan_mode;   /* VLAN mode         */
    224	unsigned char           channel_cnt; /* Channel count     */
    225	__be32                  checksum;    /* Checksum          */
    226};
    227
    228/* Get Parameters */
    229struct ncsi_rsp_gp_pkt {
    230	struct ncsi_rsp_pkt_hdr rsp;          /* Response header       */
    231	unsigned char           mac_cnt;      /* Number of MAC addr    */
    232	unsigned char           reserved[2];  /* Reserved              */
    233	unsigned char           mac_enable;   /* MAC addr enable flags */
    234	unsigned char           vlan_cnt;     /* VLAN tag count        */
    235	unsigned char           reserved1;    /* Reserved              */
    236	__be16                  vlan_enable;  /* VLAN tag enable flags */
    237	__be32                  link_mode;    /* Link setting          */
    238	__be32                  bc_mode;      /* BC filter mode        */
    239	__be32                  valid_modes;  /* Valid mode parameters */
    240	unsigned char           vlan_mode;    /* VLAN mode             */
    241	unsigned char           fc_mode;      /* Flow control mode     */
    242	unsigned char           reserved2[2]; /* Reserved              */
    243	__be32                  aen_mode;     /* AEN mode              */
    244	unsigned char           mac[6];       /* Supported MAC addr    */
    245	__be16                  vlan;         /* Supported VLAN tags   */
    246	__be32                  checksum;     /* Checksum              */
    247};
    248
    249/* Get Controller Packet Statistics */
    250struct ncsi_rsp_gcps_pkt {
    251	struct ncsi_rsp_pkt_hdr rsp;            /* Response header            */
    252	__be32                  cnt_hi;         /* Counter cleared            */
    253	__be32                  cnt_lo;         /* Counter cleared            */
    254	__be32                  rx_bytes;       /* Rx bytes                   */
    255	__be32                  tx_bytes;       /* Tx bytes                   */
    256	__be32                  rx_uc_pkts;     /* Rx UC packets              */
    257	__be32                  rx_mc_pkts;     /* Rx MC packets              */
    258	__be32                  rx_bc_pkts;     /* Rx BC packets              */
    259	__be32                  tx_uc_pkts;     /* Tx UC packets              */
    260	__be32                  tx_mc_pkts;     /* Tx MC packets              */
    261	__be32                  tx_bc_pkts;     /* Tx BC packets              */
    262	__be32                  fcs_err;        /* FCS errors                 */
    263	__be32                  align_err;      /* Alignment errors           */
    264	__be32                  false_carrier;  /* False carrier detection    */
    265	__be32                  runt_pkts;      /* Rx runt packets            */
    266	__be32                  jabber_pkts;    /* Rx jabber packets          */
    267	__be32                  rx_pause_xon;   /* Rx pause XON frames        */
    268	__be32                  rx_pause_xoff;  /* Rx XOFF frames             */
    269	__be32                  tx_pause_xon;   /* Tx XON frames              */
    270	__be32                  tx_pause_xoff;  /* Tx XOFF frames             */
    271	__be32                  tx_s_collision; /* Single collision frames    */
    272	__be32                  tx_m_collision; /* Multiple collision frames  */
    273	__be32                  l_collision;    /* Late collision frames      */
    274	__be32                  e_collision;    /* Excessive collision frames */
    275	__be32                  rx_ctl_frames;  /* Rx control frames          */
    276	__be32                  rx_64_frames;   /* Rx 64-bytes frames         */
    277	__be32                  rx_127_frames;  /* Rx 65-127 bytes frames     */
    278	__be32                  rx_255_frames;  /* Rx 128-255 bytes frames    */
    279	__be32                  rx_511_frames;  /* Rx 256-511 bytes frames    */
    280	__be32                  rx_1023_frames; /* Rx 512-1023 bytes frames   */
    281	__be32                  rx_1522_frames; /* Rx 1024-1522 bytes frames  */
    282	__be32                  rx_9022_frames; /* Rx 1523-9022 bytes frames  */
    283	__be32                  tx_64_frames;   /* Tx 64-bytes frames         */
    284	__be32                  tx_127_frames;  /* Tx 65-127 bytes frames     */
    285	__be32                  tx_255_frames;  /* Tx 128-255 bytes frames    */
    286	__be32                  tx_511_frames;  /* Tx 256-511 bytes frames    */
    287	__be32                  tx_1023_frames; /* Tx 512-1023 bytes frames   */
    288	__be32                  tx_1522_frames; /* Tx 1024-1522 bytes frames  */
    289	__be32                  tx_9022_frames; /* Tx 1523-9022 bytes frames  */
    290	__be32                  rx_valid_bytes; /* Rx valid bytes             */
    291	__be32                  rx_runt_pkts;   /* Rx error runt packets      */
    292	__be32                  rx_jabber_pkts; /* Rx error jabber packets    */
    293	__be32                  checksum;       /* Checksum                   */
    294};
    295
    296/* Get NCSI Statistics */
    297struct ncsi_rsp_gns_pkt {
    298	struct ncsi_rsp_pkt_hdr rsp;           /* Response header         */
    299	__be32                  rx_cmds;       /* Rx NCSI commands        */
    300	__be32                  dropped_cmds;  /* Dropped commands        */
    301	__be32                  cmd_type_errs; /* Command type errors     */
    302	__be32                  cmd_csum_errs; /* Command checksum errors */
    303	__be32                  rx_pkts;       /* Rx NCSI packets         */
    304	__be32                  tx_pkts;       /* Tx NCSI packets         */
    305	__be32                  tx_aen_pkts;   /* Tx AEN packets          */
    306	__be32                  checksum;      /* Checksum                */
    307};
    308
    309/* Get NCSI Pass-through Statistics */
    310struct ncsi_rsp_gnpts_pkt {
    311	struct ncsi_rsp_pkt_hdr rsp;            /* Response header     */
    312	__be32                  tx_pkts;        /* Tx packets          */
    313	__be32                  tx_dropped;     /* Tx dropped packets  */
    314	__be32                  tx_channel_err; /* Tx channel errors   */
    315	__be32                  tx_us_err;      /* Tx undersize errors */
    316	__be32                  rx_pkts;        /* Rx packets          */
    317	__be32                  rx_dropped;     /* Rx dropped packets  */
    318	__be32                  rx_channel_err; /* Rx channel errors   */
    319	__be32                  rx_us_err;      /* Rx undersize errors */
    320	__be32                  rx_os_err;      /* Rx oversize errors  */
    321	__be32                  checksum;       /* Checksum            */
    322};
    323
    324/* Get package status */
    325struct ncsi_rsp_gps_pkt {
    326	struct ncsi_rsp_pkt_hdr rsp;      /* Response header             */
    327	__be32                  status;   /* Hardware arbitration status */
    328	__be32                  checksum;
    329};
    330
    331/* Get package UUID */
    332struct ncsi_rsp_gpuuid_pkt {
    333	struct ncsi_rsp_pkt_hdr rsp;      /* Response header */
    334	unsigned char           uuid[16]; /* UUID            */
    335	__be32                  checksum;
    336};
    337
    338/* AEN: Link State Change */
    339struct ncsi_aen_lsc_pkt {
    340	struct ncsi_aen_pkt_hdr aen;        /* AEN header      */
    341	__be32                  status;     /* Link status     */
    342	__be32                  oem_status; /* OEM link status */
    343	__be32                  checksum;   /* Checksum        */
    344	unsigned char           pad[14];
    345};
    346
    347/* AEN: Configuration Required */
    348struct ncsi_aen_cr_pkt {
    349	struct ncsi_aen_pkt_hdr aen;      /* AEN header */
    350	__be32                  checksum; /* Checksum   */
    351	unsigned char           pad[22];
    352};
    353
    354/* AEN: Host Network Controller Driver Status Change */
    355struct ncsi_aen_hncdsc_pkt {
    356	struct ncsi_aen_pkt_hdr aen;      /* AEN header */
    357	__be32                  status;   /* Status     */
    358	__be32                  checksum; /* Checksum   */
    359	unsigned char           pad[18];
    360};
    361
    362/* NCSI packet revision */
    363#define NCSI_PKT_REVISION	0x01
    364
    365/* NCSI packet commands */
    366#define NCSI_PKT_CMD_CIS	0x00 /* Clear Initial State              */
    367#define NCSI_PKT_CMD_SP		0x01 /* Select Package                   */
    368#define NCSI_PKT_CMD_DP		0x02 /* Deselect Package                 */
    369#define NCSI_PKT_CMD_EC		0x03 /* Enable Channel                   */
    370#define NCSI_PKT_CMD_DC		0x04 /* Disable Channel                  */
    371#define NCSI_PKT_CMD_RC		0x05 /* Reset Channel                    */
    372#define NCSI_PKT_CMD_ECNT	0x06 /* Enable Channel Network Tx        */
    373#define NCSI_PKT_CMD_DCNT	0x07 /* Disable Channel Network Tx       */
    374#define NCSI_PKT_CMD_AE		0x08 /* AEN Enable                       */
    375#define NCSI_PKT_CMD_SL		0x09 /* Set Link                         */
    376#define NCSI_PKT_CMD_GLS	0x0a /* Get Link                         */
    377#define NCSI_PKT_CMD_SVF	0x0b /* Set VLAN Filter                  */
    378#define NCSI_PKT_CMD_EV		0x0c /* Enable VLAN                      */
    379#define NCSI_PKT_CMD_DV		0x0d /* Disable VLAN                     */
    380#define NCSI_PKT_CMD_SMA	0x0e /* Set MAC address                  */
    381#define NCSI_PKT_CMD_EBF	0x10 /* Enable Broadcast Filter          */
    382#define NCSI_PKT_CMD_DBF	0x11 /* Disable Broadcast Filter         */
    383#define NCSI_PKT_CMD_EGMF	0x12 /* Enable Global Multicast Filter   */
    384#define NCSI_PKT_CMD_DGMF	0x13 /* Disable Global Multicast Filter  */
    385#define NCSI_PKT_CMD_SNFC	0x14 /* Set NCSI Flow Control            */
    386#define NCSI_PKT_CMD_GVI	0x15 /* Get Version ID                   */
    387#define NCSI_PKT_CMD_GC		0x16 /* Get Capabilities                 */
    388#define NCSI_PKT_CMD_GP		0x17 /* Get Parameters                   */
    389#define NCSI_PKT_CMD_GCPS	0x18 /* Get Controller Packet Statistics */
    390#define NCSI_PKT_CMD_GNS	0x19 /* Get NCSI Statistics              */
    391#define NCSI_PKT_CMD_GNPTS	0x1a /* Get NCSI Pass-throu Statistics   */
    392#define NCSI_PKT_CMD_GPS	0x1b /* Get package status               */
    393#define NCSI_PKT_CMD_OEM	0x50 /* OEM                              */
    394#define NCSI_PKT_CMD_PLDM	0x51 /* PLDM request over NCSI over RBT  */
    395#define NCSI_PKT_CMD_GPUUID	0x52 /* Get package UUID                 */
    396#define NCSI_PKT_CMD_QPNPR	0x56 /* Query Pending NC PLDM request */
    397#define NCSI_PKT_CMD_SNPR	0x57 /* Send NC PLDM Reply  */
    398
    399
    400/* NCSI packet responses */
    401#define NCSI_PKT_RSP_CIS	(NCSI_PKT_CMD_CIS    + 0x80)
    402#define NCSI_PKT_RSP_SP		(NCSI_PKT_CMD_SP     + 0x80)
    403#define NCSI_PKT_RSP_DP		(NCSI_PKT_CMD_DP     + 0x80)
    404#define NCSI_PKT_RSP_EC		(NCSI_PKT_CMD_EC     + 0x80)
    405#define NCSI_PKT_RSP_DC		(NCSI_PKT_CMD_DC     + 0x80)
    406#define NCSI_PKT_RSP_RC		(NCSI_PKT_CMD_RC     + 0x80)
    407#define NCSI_PKT_RSP_ECNT	(NCSI_PKT_CMD_ECNT   + 0x80)
    408#define NCSI_PKT_RSP_DCNT	(NCSI_PKT_CMD_DCNT   + 0x80)
    409#define NCSI_PKT_RSP_AE		(NCSI_PKT_CMD_AE     + 0x80)
    410#define NCSI_PKT_RSP_SL		(NCSI_PKT_CMD_SL     + 0x80)
    411#define NCSI_PKT_RSP_GLS	(NCSI_PKT_CMD_GLS    + 0x80)
    412#define NCSI_PKT_RSP_SVF	(NCSI_PKT_CMD_SVF    + 0x80)
    413#define NCSI_PKT_RSP_EV		(NCSI_PKT_CMD_EV     + 0x80)
    414#define NCSI_PKT_RSP_DV		(NCSI_PKT_CMD_DV     + 0x80)
    415#define NCSI_PKT_RSP_SMA	(NCSI_PKT_CMD_SMA    + 0x80)
    416#define NCSI_PKT_RSP_EBF	(NCSI_PKT_CMD_EBF    + 0x80)
    417#define NCSI_PKT_RSP_DBF	(NCSI_PKT_CMD_DBF    + 0x80)
    418#define NCSI_PKT_RSP_EGMF	(NCSI_PKT_CMD_EGMF   + 0x80)
    419#define NCSI_PKT_RSP_DGMF	(NCSI_PKT_CMD_DGMF   + 0x80)
    420#define NCSI_PKT_RSP_SNFC	(NCSI_PKT_CMD_SNFC   + 0x80)
    421#define NCSI_PKT_RSP_GVI	(NCSI_PKT_CMD_GVI    + 0x80)
    422#define NCSI_PKT_RSP_GC		(NCSI_PKT_CMD_GC     + 0x80)
    423#define NCSI_PKT_RSP_GP		(NCSI_PKT_CMD_GP     + 0x80)
    424#define NCSI_PKT_RSP_GCPS	(NCSI_PKT_CMD_GCPS   + 0x80)
    425#define NCSI_PKT_RSP_GNS	(NCSI_PKT_CMD_GNS    + 0x80)
    426#define NCSI_PKT_RSP_GNPTS	(NCSI_PKT_CMD_GNPTS  + 0x80)
    427#define NCSI_PKT_RSP_GPS	(NCSI_PKT_CMD_GPS    + 0x80)
    428#define NCSI_PKT_RSP_OEM	(NCSI_PKT_CMD_OEM    + 0x80)
    429#define NCSI_PKT_RSP_PLDM	(NCSI_PKT_CMD_PLDM   + 0x80)
    430#define NCSI_PKT_RSP_GPUUID	(NCSI_PKT_CMD_GPUUID + 0x80)
    431#define NCSI_PKT_RSP_QPNPR	(NCSI_PKT_CMD_QPNPR   + 0x80)
    432#define NCSI_PKT_RSP_SNPR	(NCSI_PKT_CMD_SNPR   + 0x80)
    433
    434/* NCSI response code/reason */
    435#define NCSI_PKT_RSP_C_COMPLETED	0x0000 /* Command Completed        */
    436#define NCSI_PKT_RSP_C_FAILED		0x0001 /* Command Failed           */
    437#define NCSI_PKT_RSP_C_UNAVAILABLE	0x0002 /* Command Unavailable      */
    438#define NCSI_PKT_RSP_C_UNSUPPORTED	0x0003 /* Command Unsupported      */
    439#define NCSI_PKT_RSP_R_NO_ERROR		0x0000 /* No Error                 */
    440#define NCSI_PKT_RSP_R_INTERFACE	0x0001 /* Interface not ready      */
    441#define NCSI_PKT_RSP_R_PARAM		0x0002 /* Invalid Parameter        */
    442#define NCSI_PKT_RSP_R_CHANNEL		0x0003 /* Channel not Ready        */
    443#define NCSI_PKT_RSP_R_PACKAGE		0x0004 /* Package not Ready        */
    444#define NCSI_PKT_RSP_R_LENGTH		0x0005 /* Invalid payload length   */
    445#define NCSI_PKT_RSP_R_UNKNOWN		0x7fff /* Command type unsupported */
    446
    447/* NCSI AEN packet type */
    448#define NCSI_PKT_AEN		0xFF /* AEN Packet               */
    449#define NCSI_PKT_AEN_LSC	0x00 /* Link status change       */
    450#define NCSI_PKT_AEN_CR		0x01 /* Configuration required   */
    451#define NCSI_PKT_AEN_HNCDSC	0x02 /* HNC driver status change */
    452
    453#endif /* __NCSI_PKT_H__ */