/* * Copyright (C) 2005 - 2008 ServerEngines * All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. The full GNU General * Public License is included in this distribution in the file called COPYING. * * Contact Information: * linux-drivers@serverengines.com * * ServerEngines * 209 N. Fair Oaks Ave * Sunnyvale, CA 94085 */ /* * Autogenerated by srcgen version: 0127 */ #ifndef __be_cm_amap_h__ #define __be_cm_amap_h__ #include "be_common.h" #include "etx_context.h" #include "mpu_context.h" /* * --- CEV_WATERMARK_ENUM --- * CQ/EQ Watermark Encodings. Encoded as number of free entries in * Queue when Watermark is reached. */ #define CEV_WMARK_0 (0) /* Watermark when Queue full */ #define CEV_WMARK_16 (1) /* Watermark at 16 free entries */ #define CEV_WMARK_32 (2) /* Watermark at 32 free entries */ #define CEV_WMARK_48 (3) /* Watermark at 48 free entries */ #define CEV_WMARK_64 (4) /* Watermark at 64 free entries */ #define CEV_WMARK_80 (5) /* Watermark at 80 free entries */ #define CEV_WMARK_96 (6) /* Watermark at 96 free entries */ #define CEV_WMARK_112 (7) /* Watermark at 112 free entries */ #define CEV_WMARK_128 (8) /* Watermark at 128 free entries */ #define CEV_WMARK_144 (9) /* Watermark at 144 free entries */ #define CEV_WMARK_160 (10) /* Watermark at 160 free entries */ #define CEV_WMARK_176 (11) /* Watermark at 176 free entries */ #define CEV_WMARK_192 (12) /* Watermark at 192 free entries */ #define CEV_WMARK_208 (13) /* Watermark at 208 free entries */ #define CEV_WMARK_224 (14) /* Watermark at 224 free entries */ #define CEV_WMARK_240 (15) /* Watermark at 240 free entries */ /* * --- CQ_CNT_ENUM --- * Completion Queue Count Encodings. */ #define CEV_CQ_CNT_256 (0) /* CQ has 256 entries */ #define CEV_CQ_CNT_512 (1) /* CQ has 512 entries */ #define CEV_CQ_CNT_1024 (2) /* CQ has 1024 entries */ /* * --- EQ_CNT_ENUM --- * Event Queue Count Encodings. */ #define CEV_EQ_CNT_256 (0) /* EQ has 256 entries (16-byte EQEs only) */ #define CEV_EQ_CNT_512 (1) /* EQ has 512 entries (16-byte EQEs only) */ #define CEV_EQ_CNT_1024 (2) /* EQ has 1024 entries (4-byte or */ /* 16-byte EQEs only) */ #define CEV_EQ_CNT_2048 (3) /* EQ has 2048 entries (4-byte or */ /* 16-byte EQEs only) */ #define CEV_EQ_CNT_4096 (4) /* EQ has 4096 entries (4-byte EQEs only) */ /* * --- EQ_SIZE_ENUM --- * Event Queue Entry Size Encoding. */ #define CEV_EQ_SIZE_4 (0) /* EQE is 4 bytes */ #define CEV_EQ_SIZE_16 (1) /* EQE is 16 bytes */ /* * Completion Queue Context Table Entry. Contains the state of a CQ. * Located in RAM within the CEV block. */ struct BE_CQ_CONTEXT_AMAP { u8 Cidx[11]; /* DWORD 0 */ u8 Watermark[4]; /* DWORD 0 */ u8 NoDelay; /* DWORD 0 */ u8 EPIdx[11]; /* DWORD 0 */ u8 Count[2]; /* DWORD 0 */ u8 valid; /* DWORD 0 */ u8 SolEvent; /* DWORD 0 */ u8 Eventable; /* DWORD 0 */ u8 Pidx[11]; /* DWORD 1 */ u8 PD[10]; /* DWORD 1 */ u8 EQID[7]; /* DWORD 1 */ u8 Func; /* DWORD 1 */ u8 WME; /* DWORD 1 */ u8 Stalled; /* DWORD 1 */ u8 Armed; /* DWORD 1 */ } __packed; struct CQ_CONTEXT_AMAP { u32 dw[2]; }; /* * Event Queue Context Table Entry. Contains the state of an EQ. * Located in RAM in the CEV block. */ struct BE_EQ_CONTEXT_AMAP { u8 Cidx[13]; /* DWORD 0 */ u8 rsvd0[2]; /* DWORD 0 */ u8 Func; /* DWORD 0 */ u8 EPIdx[13]; /* DWORD 0 */ u8 valid; /* DWORD 0 */ u8 rsvd1; /* DWORD 0 */ u8 Size; /* DWORD 0 */ u8 Pidx[13]; /* DWORD 1 */ u8 rsvd2[3]; /* DWORD 1 */ u8 PD[10]; /* DWORD 1 */ u8 Count[3]; /* DWORD 1 */ u8 SolEvent; /* DWORD 1 */ u8 Stalled; /* DWORD 1 */ u8 Armed; /* DWORD 1 */ u8 Watermark[4]; /* DWORD 2 */ u8 WME; /* DWORD 2 */ u8 rsvd3[3]; /* DWORD 2 */ u8 EventVect[6]; /* DWORD 2 */ u8 rsvd4[2]; /* DWORD 2 */ u8 Delay[8]; /* DWORD 2 */ u8 rsvd5[6]; /* DWORD 2 */ u8 TMR; /* DWORD 2 */ u8 rsvd6; /* DWORD 2 */ u8 rsvd7[32]; /* DWORD 3 */ } __packed; struct EQ_CONTEXT_AMAP { u32 dw[4]; }; #endif /* __be_cm_amap_h__ */