linux/net/ncsi/ncsi-pkt.h
<<
>>
Prefs
   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__ */
 454