2  * Copyright (C) 2005 - 2008 ServerEngines
 
   5  * This program is free software; you can redistribute it and/or
 
   6  * modify it under the terms of the GNU General Public License version 2
 
   7  * as published by the Free Software Foundation.  The full GNU General
 
   8  * Public License is included in this distribution in the file called COPYING.
 
  10  * Contact Information:
 
  11  * linux-drivers@serverengines.com
 
  14  * 209 N. Fair Oaks Ave
 
  18  * Autogenerated by srcgen version: 0127
 
  20 #ifndef __fwcmd_mcc_amap_h__
 
  21 #define __fwcmd_mcc_amap_h__
 
  22 #include "fwcmd_opcodes.h"
 
  24  * Where applicable, a WRB, may contain a list of Scatter-gather elements.
 
  25  * Each element supports a 64 bit address and a 32bit length field.
 
  27 struct BE_MCC_SGE_AMAP {
 
  28         u8 pa_lo[32];   /* DWORD 0 */
 
  29         u8 pa_hi[32];   /* DWORD 1 */
 
  30         u8 length[32];  /* DWORD 2 */
 
  36  * The design of an MCC_SGE allows up to 19 elements to be embedded
 
  37  * in a WRB, supporting 64KB data transfers (assuming a 4KB page size).
 
  39 struct BE_MCC_WRB_PAYLOAD_AMAP {
 
  41                 struct BE_MCC_SGE_AMAP sgl[19];
 
  42                 u8 embedded[59][32];    /* DWORD 0 */
 
  45 struct MCC_WRB_PAYLOAD_AMAP {
 
  50  * This is the structure of the MCC Command WRB for commands
 
  51  * sent to the Management Processing Unit (MPU). See section
 
  52  * for usage in embedded and non-embedded modes.
 
  54 struct BE_MCC_WRB_AMAP {
 
  55         u8 embedded;    /* DWORD 0 */
 
  56         u8 rsvd0[2];    /* DWORD 0 */
 
  57         u8 sge_count[5];        /* DWORD 0 */
 
  58         u8 rsvd1[16];   /* DWORD 0 */
 
  59         u8 special[8];  /* DWORD 0 */
 
  60         u8 payload_length[32];  /* DWORD 1 */
 
  61         u8 tag[2][32];  /* DWORD 2 */
 
  62         u8 rsvd2[32];   /* DWORD 4 */
 
  63         struct BE_MCC_WRB_PAYLOAD_AMAP payload;
 
  69 /*  This is the structure of the MCC Completion queue entry  */
 
  70 struct BE_MCC_CQ_ENTRY_AMAP {
 
  71         u8 completion_status[16];       /* DWORD 0 */
 
  72         u8 extended_status[16]; /* DWORD 0 */
 
  73         u8 mcc_tag[2][32];      /* DWORD 1 */
 
  74         u8 rsvd0[27];   /* DWORD 3 */
 
  75         u8 consumed;    /* DWORD 3 */
 
  76         u8 completed;   /* DWORD 3 */
 
  77         u8 hpi_buffer_completion;       /* DWORD 3 */
 
  78         u8 async_event; /* DWORD 3 */
 
  79         u8 valid;               /* DWORD 3 */
 
  81 struct MCC_CQ_ENTRY_AMAP {
 
  85 /* Mailbox structures used by the MPU during bootstrap */
 
  86 struct BE_MCC_MAILBOX_AMAP {
 
  87         struct BE_MCC_WRB_AMAP wrb;
 
  88         struct BE_MCC_CQ_ENTRY_AMAP cq;
 
  90 struct MCC_MAILBOX_AMAP {
 
  94 #endif /* __fwcmd_mcc_amap_h__ */