825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * CDDL HEADER START
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan *
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * The contents of this file are subject to the terms of the
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Common Development and Distribution License (the "License").
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * You may not use this file except in compliance with the License.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan *
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld * You can obtain a copy of the license at
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld * http://www.opensource.org/licenses/cddl1.txt.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * See the License for the specific language governing permissions
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * and limitations under the License.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan *
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * When distributing Covered Code, include this CDDL HEADER in each
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * If applicable, add the following below this CDDL HEADER, with the
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * fields enclosed by brackets "[]" replaced with your own identifying
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * information: Portions Copyright [yyyy] [name of copyright owner]
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan *
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * CDDL HEADER END
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld * Copyright (c) 2004-2012 Emulex. All rights reserved.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Use is subject to license terms.
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifndef _EMLXS_MBOX_H
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define _EMLXS_MBOX_H
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef __cplusplus
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathanextern "C" {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* SLI 2/3 Mailbox defines */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBOX_SIZE 256
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBOX_EXTENSION_OFFSET MBOX_SIZE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef MBOX_EXT_SUPPORT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBOX_EXTENSION_SIZE 1024
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#else
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBOX_EXTENSION_SIZE 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif /* MBOX_EXT_SUPPORT */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* ==== Mailbox Commands ==== */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SHUTDOWN 0x00 /* terminate testing */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_LOAD_SM 0x01
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_NV 0x02
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_WRITE_NV 0x03
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RUN_BIU_DIAG 0x04
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_INIT_LINK 0x05
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DOWN_LINK 0x06
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_LINK 0x07
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_PART_SLIM 0x08
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_RING 0x09
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RESET_RING 0x0A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_CONFIG 0x0B
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_RCONFIG 0x0C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_SPARM 0x0D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_STATUS 0x0E
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_RPI 0x0F
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_XRI 0x10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_REV 0x11
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_LNK_STAT 0x12
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_REG_LOGIN 0x13
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UNREG_LOGIN 0x14 /* SLI2/3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UNREG_RPI 0x14 /* SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_LA 0x15
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CLEAR_LA 0x16
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DUMP_MEMORY 0x17
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DUMP_CONTEXT 0x18
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RUN_DIAGS 0x19
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RESTART 0x1A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UPDATE_CFG 0x1B
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DOWN_LOAD 0x1C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DEL_LD_ENTRY 0x1D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RUN_PROGRAM 0x1E
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SET_MASK 0x20
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SET_VARIABLE 0x21
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UNREG_D_ID 0x23
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_KILL_BOARD 0x24
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_FARP 0x25
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_BEACON 0x2A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_VPI 0x2B
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_MSIX 0x30
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_HEARTBEAT 0x31
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_WRITE_VPARMS 0x32
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_ASYNC_EVENT 0x33
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_EVENT_LOG_STATUS 0x37
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_EVENT_LOG 0x38
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_WRITE_EVENT_LOG 0x39
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_NV_LOG 0x3A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_PORT_CAPABILITIES 0x3B
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_IOV_CONTROL 0x3C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_IOV_MBX 0x3D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_HBQ 0x7C /* SLI3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_LOAD_AREA 0x81
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RUN_BIU_DIAG64 0x84
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_GET_DEBUG 0x86
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_PORT 0x88
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_SPARM64 0x8D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_READ_RPI64 0x8F
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_CONFIG_MSI 0x90
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_REG_LOGIN64 0x93 /* SLI2/3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_REG_RPI 0x93 /* SLI4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_READ_LA64 0x95 /* SLI2/3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_READ_TOPOLOGY 0x95 /* SLI4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_REG_VPI 0x96 /* NPIV */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBX_UNREG_VPI 0x97 /* NPIV */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_FLASH_WR_ULA 0x98
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SET_DEBUG 0x99
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SLI_CONFIG 0x9B
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_LOAD_EXP_ROM 0x9C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_REQUEST_FEATURES 0x9D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_RESUME_RPI 0x9E
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_REG_VFI 0x9F
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_REG_FCFI 0xA0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UNREG_VFI 0xA1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_UNREG_FCFI 0xA2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_INIT_VFI 0xA3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_INIT_VPI 0xA4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_ACCESS_VDATA 0xA5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_MAX_CMDS 0xA6
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Define Status
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SUCCESS 0x0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_FAILURE 0x1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_NUM_IOCBS 0x2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_IOCBS_EXCEEDED 0x3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_RING_NUMBER 0x4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_MASK_ENTRIES_RANGE 0x5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_MASKS_EXCEEDED 0x6
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_PROFILE 0x7
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_DEF_CLASS 0x8
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_MAX_RESPONDER 0x9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_MAX_ORIGINATOR 0xA
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_RPI_REGISTERED 0xB
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_RPI_FULL 0xC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_NO_RESOURCES 0xD
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_BAD_RCV_LENGTH 0xE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_DMA_ERROR 0xF
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_NOT_SUPPORTED 0x10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_UNSUPPORTED_FEATURE 0x11
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBXERR_UNKNOWN_COMMAND 0x12
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_IP_BIT 0x13
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_PCB_ALIGN 0x14
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_ID 0x15
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_STATE 0x16
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_MASK_NUM 0x17
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_MASK_SUBSET 0x18
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_HBQ_CREATE_FAIL 0x19
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_HBQ_EXISTING 0x1A
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_HBQ_RSPRING_FULL 0x1B
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_HBQ_DUP_MASK 0x1C
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_HBQ_INVAL_GET_PTR 0x1D
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_SIZE 0x1E
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_HBQ_ORDER 0x1F
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_ID 0x20
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_VFI 0x30
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_FLASH_WRITE_FAILED 0x100
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_LINKSPEED 0x500
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_REDIRECT 0x900
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_RING_ALREADY_CONFIG 0x901
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_RING_INACTIVE 0xA00
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_RPI_INACTIVE 0xF00
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_NO_ACTIVE_XRI 0x1100
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_XRI_NOT_ACTIVE 0x1101
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_RPI_INUSE 0x1400
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_NO_LINK_ATTENTION 0x1500
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_SLI_MODE 0x8800
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_HOST_PTR 0x8801
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_CANT_CFG_SLI_MODE 0x8802
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_BAD_OVERLAY 0x8803
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_FEAT_REQ 0x8804
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_CONFIG_CANT_COMPLETE 0x88FF
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_DID_ALREADY_REGISTERED 0x9600
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_DID_INCONSISTENT 0x9601
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_VPI_TOO_LARGE 0x9603
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_STILL_ASSOCIATED 0x9700
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_INVALID_VF_STATE 0x9F00
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_VFI_ALREADY_REGISTERED 0x9F02
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_VFI_TOO_LARGE 0x9F03
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_LOAD_FW_FAILED 0xFFFE
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MBXERR_FIND_FW_FAILED 0xFFFF
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Driver special codes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DRIVER_RESERVED 0xF9 /* Set to lowest drv status */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_NONEMBED_ERROR 0xF9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_OVERTEMP_ERROR 0xFA
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_HARDWARE_ERROR 0xFB
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_DRVR_ERROR 0xFC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_BUSY 0xFD
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_TIMEOUT 0xFE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_NOT_FINISHED 0xFF
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * flags for EMLXS_SLI_ISSUE_MBOX_CMD()
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_POLL 0x01 /* poll mailbox till command done, */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* then return */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_SLEEP 0x02 /* sleep till mailbox intr cmpl */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* wakes thread up */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_WAIT 0x03 /* wait for comand done, then return */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_NOWAIT 0x04 /* issue command then return immediately */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_BOOTSTRAP 0x80 /* issue a command on the bootstrap mbox */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Begin Structure Definitions for Mailbox Commands
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct revcompat
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ldflag:1; /* Set in SRAM descriptor */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ldcount:7; /* For use by program load */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t kernel:4; /* Kernel ID */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t kver:4; /* Kernel compatibility version */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t SMver:4; /* Sequence Manager version */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ENDECver:4; /* ENDEC+ version, 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BIUtype:4; /* PCI = 0 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BIUver:4; /* BIU version, 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BIUver:4; /* BIU version, 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BIUtype:4; /* PCI = 0 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ENDECver:4; /* ENDEC+ version, 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t SMver:4; /* Sequence Manager version */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* 0 if none */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t kver:4; /* Kernel compatibility version */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t kernel:4; /* Kernel ID */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ldcount:7; /* For use by program load */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ldflag:1; /* Set in SRAM descriptor */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REVCOMPAT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct id_word
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Ver;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Rev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Rev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Ver;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REVCOMPAT cp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t revcomp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} PROG_ID;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tval;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rval;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rval;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tval;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} RR_REG;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure used for a HBQ entry */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 bde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union UN_TAG
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t w;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_tag:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQE_tag:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQE_tag:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_tag:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } ext;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } unt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} HBQE_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmatch;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rctlmatch;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rctlmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rctlmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rctlmatch;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t tmatch;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} HBQ_MASK;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_MAX_HBQ_BUFFERS 4096
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_num_mask; /* number of mask entries in */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* port array */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_recvNotify; /* Rcv buffer notification */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_numEntries; /* # of entries in HBQ */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_headerLen; /* 0 if not profile 4 or 5 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_logEntry; /* Set to 1 if this HBQ used */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* for LogEntry */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_profile; /* Selection profile 0=all, */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* 7=logentry */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_ringMask; /* Binds HBQ to a ring e.g. */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Ring0=b0001, ring2=b0100 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_id; /* index of this hbq in ring */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* of HBQs[] */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_PutIdx_next; /* Index to next HBQ slot to */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* use */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_PutIdx; /* HBQ slot to use */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_GetIdx; /* Local copy of Get index */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* from Port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t HBQ_PostBufCnt; /* Current number of entries */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* in list */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MATCHMAP *HBQ_PostBufs[EMLXS_MAX_HBQ_BUFFERS];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MATCHMAP HBQ_host_buf; /* HBQ host buffer for HBQEs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan HBQ_MASK HBQ_Masks[6];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t allprofiles[12];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[10];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdmatch[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdmatch[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profiles;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} HBQ_INIT_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command LOAD_SM and DOWN_LOAD */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
6a573d82e26abdedeb701fcdd5b5461b2fa0da40Sukumar Swaminathan uint32_t rsvd2:24;
6a573d82e26abdedeb701fcdd5b5461b2fa0da40Sukumar Swaminathan uint32_t keep:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t acknowledgment:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t version:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t erase_or_prog:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_flash:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_ram:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t method:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t load_cmplt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t load_cmplt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t method:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_ram:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_flash:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t erase_or_prog:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t version:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t acknowledgment:1;
6a573d82e26abdedeb701fcdd5b5461b2fa0da40Sukumar Swaminathan uint32_t keep:1;
6a573d82e26abdedeb701fcdd5b5461b2fa0da40Sukumar Swaminathan uint32_t rsvd2:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DL_FROM_BDE 0 /* method */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DL_FROM_SLIM 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define PROGRAM_FLASH 0 /* erase_or_prog */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define ERASE_FLASH 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_to_adr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_len;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_from_slim_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE dl_from_bde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 dl_from_bde64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOAD_SM_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_NVPARM (02) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1[3]; /* Read as all one's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2; /* Read as all zero's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nodename[2]; /* NODE name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pref_DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hardAL_PA:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hardAL_PA:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pref_DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3[21]; /* Read as all one's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_NV_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command WRITE_NVPARMS (03) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1[3]; /* Must be all one's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2; /* Must be all zero's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nodename[2]; /* NODE name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pref_DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hardAL_PA:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hardAL_PA:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pref_DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3[21]; /* Must be all one's */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} WRITE_NV_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command RUN_BIU_DIAG64 (0x84) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 xmit_bde64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 rcv_bde64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } s2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} BIU_DIAG_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command INIT_LINK (05) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lipsr_AL_PA:8; /* AL_PA to issue Lip Selective */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Reset to */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lipsr_AL_PA:8; /* AL_PA to issue Lip Selective */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Reset to */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fabric_AL_PA; /* If using a Fabric Assigned AL_PA */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t link_flags;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t link_flags;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fabric_AL_PA; /* If using a Fabric Assigned AL_PA */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_LOCAL_LB 0x01 /* link_flags (=1) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* ENDEC loopback */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_TOPOLOGY_MODE_LOOP_PT 0x00 /* Attempt loop then pt-pt */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_TOPOLOGY_MODE_PT_PT 0x02 /* Attempt pt-pt only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_TOPOLOGY_MODE_LOOP 0x04 /* Attempt loop only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_TOPOLOGY_MODE_PT_LOOP 0x06 /* Attempt pt-pt then loop */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_LIRP_LILP 0x80 /* LIRP / LILP is disabled */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_TOPOLOGY_FAILOVER 0x0400 /* Bit 10 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_LINK_SPEED 0x0800 /* Bit 11 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLAGS_PREABORT_RETURN 0x4000 /* Bit 14 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t link_speed; /* NEW_FEATURE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LINK_SPEED_AUTO 0 /* Auto selection */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LINK_SPEED_1G 1 /* 1 Gigabaud */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LINK_SPEED_2G 2 /* 2 Gigabaud */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} INIT_LINK_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command DOWN_LINK (06) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} DOWN_LINK_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command CONFIG_LINK (07) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ci:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_delay:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t MaxBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t MaxBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_delay:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ci:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t myId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t edtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t arbtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ratov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rttov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t altov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t crtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t citov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rrq_enable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rrq_immed:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ack0_enable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ack0_enable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rrq_immed:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rrq_enable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_LINK;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command PART_SLIM (08) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numRing:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numRing:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan emlxs_ring_def_t ringdef[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbainit;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} PART_SLIM_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command CONFIG_RING (09) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused2:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvSeq:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused1:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ring:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ring:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused1:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvSeq:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t unused2:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxRespXchg;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxOrigXchg;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxOrigXchg;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxRespXchg;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan RR_REG rrRegs[6];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_RING_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command RESET_RING (10) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ring_no;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} RESET_RING_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_CONFIG (11) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ci:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_delay:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t InitBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t MaxBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t MaxBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t InitBBC:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr_delay:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ci:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t topology:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t myDid:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t myDid:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t topology:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Defines for topology (defined previously) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t AR:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t IR:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ack0:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ack0:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t IR:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t AR:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t edtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t arbtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ratov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rttov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t altov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lmt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_1GB_CAPABLE 0x0004
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_2GB_CAPABLE 0x0008
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_4GB_CAPABLE 0x0040
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_8GB_CAPABLE 0x0080
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_10GB_CAPABLE 0x0100
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define LMT_16GB_CAPABLE 0x0200
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* E2E supported on adapters >= 8GB */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LMT_E2E_CAPABLE (LMT_8GB_CAPABLE|LMT_10GB_CAPABLE)
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_xri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_iocb;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t avail_xri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t avail_iocb;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t avail_rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_alpa;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t avail_vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_CONFIG_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_CONFIG(0x11) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t extents:1; /* Word 1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd1:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t topology:8; /* Word 2 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:15;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ldv:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t link_type:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t link_number:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd1:31; /* Word 1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t extents:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t link_number:6; /* Word 2 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t link_type:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ldv:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:15;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t topology:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3; /* Word 3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t edtov; /* Word 4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4; /* Word 5 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ratov; /* Word 6 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5; /* Word 7 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd6; /* Word 8 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lmt; /* Word 9 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd8; /* Word 10 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd9; /* Word 11 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t XRICount; /* Word 12 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t XRIBase; /* Word 12 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPICount; /* Word 13 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPIBase; /* Word 13 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPICount; /* Word 14 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPIBase; /* Word 14 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFICount; /* Word 15 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFIBase; /* Word 15 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFICount; /* Word 16 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd10; /* Word 16 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t EQCount; /* Word 17 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQCount; /* Word 17 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t CQCount; /* Word 18 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t WQCount; /* Word 18 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t XRIBase; /* Word 12 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t XRICount; /* Word 12 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPIBase; /* Word 13 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPICount; /* Word 13 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPIBase; /* Word 14 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPICount; /* Word 14 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFIBase; /* Word 15 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFICount; /* Word 15 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd10; /* Word 16 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFICount; /* Word 16 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQCount; /* Word 17 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t EQCount; /* Word 17 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t WQCount; /* Word 18 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQCount; /* Word 18 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_CONFIG4_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_RCONFIG (12) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:7;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ring:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ring:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:7;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxResp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxOrig;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxOrig;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t maxResp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan RR_REG rrRegs[6];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t cmdRingOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t cmdEntryCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rspRingOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rspEntryCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextCmdOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextRspOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t cmdEntryCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t cmdRingOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rspEntryCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rspRingOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextCmdOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextRspOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_RCONF_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_SPARM (13) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_SPARM64 (0x8D) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE sp; /* This BDE points to SERV_PARM */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* structure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 sp64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t portNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t portNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fabricNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fabricNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lportNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lportNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lfabricNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lfabricNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t portNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t portNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fabricNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fabricNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lportNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lportNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lfabricNameOffset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t lfabricNameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_SPARM_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_STATUS (14) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t clrCounters:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t activeXriCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t activeRpiCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t clrCounters:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t activeRpiCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t activeXriCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t xmitByteCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rcvByteCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t xmitFrameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rcvFrameCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t xmitSeqCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rcvSeqCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t totalOrigExchanges;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t totalRespExchanges;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rcvPbsyCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rcvFbsyCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_STATUS_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_RPI (15) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_RPI64 (0x8F) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextRpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t reqRpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t reqRpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextRpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE sp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 sp64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_RPI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_XRI (16) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextXri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t reqXri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t SID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t seqId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t seqCount;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t oxId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rxId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd6:30;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t si:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t exchOrig:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t reqXri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t nextXri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t SID:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t seqCount;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t seqId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rxId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t oxId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t exchOrig:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t si:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd6:30;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_XRI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_REV (17) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t co:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rf3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:10;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t offset:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rv:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rv:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t offset:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:10;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rf3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t co:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t biuRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t smRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t smFwRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ProgType;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ProgId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgVer:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgRev:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgFixLvl:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgDistType:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t DistCnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t DistCnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgDistType:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgFixLvl:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgRev:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ProgVer:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ProgId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ProgType;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } b;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t endecRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t postKernRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opFwRev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t opFwName[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sliFwRev1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t sliFwName1[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sliFwRev2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t sliFwName2[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_REV_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_REV (17) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd3:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t VPD:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dcbxMode:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t FCoE:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sliLevel:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sliLevel:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t FCoE:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dcbxMode:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t VPD:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd3:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HwRev1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HwRev2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HwRev3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcphHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t feaLevelHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Redboot;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ARMFwId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ARMFwName[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ULPFwId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t ULPFwName[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd6[30];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 VPDBde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ReturnedVPDLength;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_REV4_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_DCBX_MODE_CIN 0 /* Mapped to nonFIP mode */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_DCBX_MODE_CEE 1 /* Mapped to FIP mode */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_LINK_STAT (18) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t linkFailureCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lossSyncCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t lossSignalCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t primSeqErrCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t invalidXmitWord;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t crcCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t primSeqTimeout;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t elasticOverrun;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t arbTimeout;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rxBufCredit;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rxBufCreditCur;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t txBufCredit;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t txBufCreditCur;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EOFaCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EOFdtiCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EOFniCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t SOFfCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DropAERCnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DropRcv;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_LNK_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_LOGIN (19) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_LOGIN64 (0x93) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_RPI (0x93) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CI:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TERP:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t update:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t did:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t did:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t update:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TERP:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CI:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE sp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 sp64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REG_LOGIN_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Word 30 contents for REG_LOGIN */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t class:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t class:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } f;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t word;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REG_WD30;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_LOGIN (0x14) - SLI2/3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_RPI (0x14) - SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ll:2; /* SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd1:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t ll:2; /* SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UNREG_LOGIN_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_FCFI (0xA0) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t InfoIndex;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd1: 17;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mam: 2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vv: 1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vlanTag: 12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t InfoIndex;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id0_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id1_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id2_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_rctl_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_rctl;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_type_mask;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t Id3_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vlanTag: 12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vv: 1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mam: 2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd1: 17;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REG_FCFI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Defines for mam */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_REG_FCFI_MAM_SPMA 1 /* Server Provided MAC Address */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_REG_FCFI_MAM_FPMA 2 /* Fabric Provided MAC Address */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_FCFI (0xA2) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t FCFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UNREG_FCFI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command RESUME_RPI (0x9E) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EventTag;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RPI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EventTag;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VPI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t VFI;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} RESUME_RPI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_D_ID (0x23) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t did;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UNREG_D_ID_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_LA (21) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command READ_LA64 (0x95) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t eventTag; /* Event tag */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:19;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t fa:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mm:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t tc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pb:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t il:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t attType:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t attType:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t il:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pb:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t tc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mm:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t fa:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:19;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AT_RESERVED 0x00 /* Reserved - attType */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AT_LINK_UP 0x01 /* Link is up */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AT_LINK_DOWN 0x02 /* Link is down */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define AT_NO_HARD_ALPA 0x03 /* SLI4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t granted_AL_PA;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t lipAlPs;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t lipType;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t topology;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t topology;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t lipType;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t lipAlPs;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t granted_AL_PA;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* lipType */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LT_PORT_INIT 0x00 /* An L_PORT initing (F7, AL_PS) - lipType */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LT_PORT_ERR 0x01 /* Err @L_PORT rcv'er (F8, AL_PS) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LT_RESET_APORT 0x02 /* Lip Reset of some other port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LT_RESET_MYPORT 0x03 /* Lip Reset of my port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* topology */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define TOPOLOGY_PT_PT 0x01 /* Topology is pt-pt / pt-fabric */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define TOPOLOGY_LOOP 0x02 /* Topology is FC-AL (private) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE lilpBde; /* This BDE points to a */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* 128 byte buffer to store */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* the LILP AL_PA position */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* map into */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 lilpBde64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dlu:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dtf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Drsvd2:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DlnkSpeed:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DnlPort:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dtx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Drx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Drx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dtx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DnlPort:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DlnkSpeed:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Drsvd2:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dtf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Dlu:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Ulu:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Utf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Ursvd2:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t UlnkSpeed:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t UnlPort:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Utx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Urx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Urx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Utx:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t UnlPort:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t UlnkSpeed:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Ursvd2:14;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Utf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Ulu:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LA_1GHZ_LINK 0x04 /* lnkSpeed */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LA_2GHZ_LINK 0x08 /* lnkSpeed */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LA_4GHZ_LINK 0x10 /* lnkSpeed */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LA_8GHZ_LINK 0x20 /* lnkSpeed */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define LA_10GHZ_LINK 0x40 /* lnkSpeed */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define LA_16GHZ_LINK 0x80 /* lnkSpeed */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_LA_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command CLEAR_LA (22) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t eventTag; /* Event tag */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CLEAR_LA_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command DUMP */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:25;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ra:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t co:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_index:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cv:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t co:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ra:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:25;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_index:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t base_adr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t word_cnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resp_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} DUMP_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command DUMP */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ppi:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t phy_index:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:20;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_index:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:20;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t phy_index:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ppi:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_index:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t available_cnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsp_cnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} DUMP4_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Dump type
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_MEM_REG 0x1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_NV_PARAMS 0x2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * Dump region ID
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define NODE_CFG_A_REGION_ID 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define NODE_CFG_B_REGION_ID 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define NODE_CFG_C_REGION_ID 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define NODE_CFG_D_REGION_ID 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define WAKE_UP_PARMS_REGION_ID 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DEF_PCI_CFG_REGION_ID 5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define PCI_CFG_1_REGION_ID 6
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define PCI_CFG_2_REGION_ID 7
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD1_REGION_ID 8
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD2_REGION_ID 9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD3_REGION_ID 10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD4_REGION_ID 11
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD5_REGION_ID 12
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD6_REGION_ID 13
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSVD7_REGION_ID 14
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DIAG_TRACE_REGION_ID 15
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define WWN_REGION_ID 16
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_VPD_REGION 14
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_VPD_SIZE 1024
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_VPD_DUMP_WCOUNT 24
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_FCOE_REGION 23
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DMP_FCOE_DUMP_WCOUNT 256
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UPDATE_CFG */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t proc_type:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Abit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Obit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Vbit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t req_type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define INIT_REGION 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define UPDATE_DATA 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CLEAN_UP_CFG 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_len:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t req_type:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define INIT_REGION 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define UPDATE_DATA 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CLEAN_UP_CFG 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Vbit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Obit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Abit:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t proc_type:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t region_id:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_len:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsp_info;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t byte_len;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cfg_data;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UPDATE_CFG_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command DEL_LD_ENTRY (29) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t list_req:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t list_rsp:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#else
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t list_rsp:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t list_req:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FLASH_LOAD_LIST 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RAM_LOAD_LIST 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define BOTH_LISTS 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} DEL_LD_ENTRY_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command LOAD_AREA (81) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t load_cmplt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t method:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_flash:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t erase_or_prog:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t version:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t progress:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t step:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t area_id:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#else
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t area_id:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t step:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t progress:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t version:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t erase_or_prog:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t update_flash:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t method:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t load_cmplt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_to_adr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_len;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_from_slim_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE dl_from_bde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 dl_from_bde64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOAD_AREA_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command LOAD_EXP_ROM (9C) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t progress:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t step:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#else
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t step:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t progress:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t dl_to_adr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t word[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOAD_EXP_ROM_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command CONFIG_HBQ (7C) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:7;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1; /* Receive Notification */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8; /* # Mask Entries */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8; /* Selection Profile */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t profile:8; /* Selection Profile */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numMask:8; /* # Mask Entries */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t recvNotify:1; /* Receive Notification */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:7;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbqId:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ringMask:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ringMask:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbqId:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numEntries:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t headerLen:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t headerLen:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t numEntries:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbqaddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbqaddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t logEntry:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t logEntry:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd6; /* w7 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd7; /* w8 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd8; /* w9 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan HBQ_MASK hbqMasks[6];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t allprofiles[12];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[10];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdmatch[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxlen:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenoff:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t seqlenbcnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdcodeoff:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdmatch[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profile5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } profiles;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_HBQ_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_VPI(0x96) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI2/3 and SLI4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t rsvd2:7;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t upd:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sid:24;
b3660a963b4e1d5319365d4d7c34beb66fb5abc7Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sid:24;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t upd:1;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t rsvd2:7;
b3660a963b4e1d5319365d4d7c34beb66fb5abc7Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REG_VPI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command INIT_VPI(0xA3) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} INIT_VPI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_VPI (0x97) */
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan/* Good for SLI2/3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint32_t rsvd2;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint32_t rsvd3;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint32_t rsvd4;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint32_t rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UNREG_VPI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan/* Structure for MB Command UNREG_VPI (0x97) */
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan/* Good for SLI4 */
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathantypedef struct
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan{
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint32_t rsvd1;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint8_t ii:2;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t rsvd2:14;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t index;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan#endif
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t index;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint16_t rsvd2:14;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan uint8_t ii:2;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan#endif
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan} UNREG_VPI_VAR4;
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REG_VFI(0x9F) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd1:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t upd:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t vp:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd2:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
b3660a963b4e1d5319365d4d7c34beb66fb5abc7Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 bde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* CHANGE with next firmware drop */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t edtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ratov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sid:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd2:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t vp:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t upd:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd1:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
b3660a963b4e1d5319365d4d7c34beb66fb5abc7Sukumar Swaminathan uint32_t portname[2]; /* N_PORT name */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 bde;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* CHANGE with next firmware drop */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t edtov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ratov;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sid:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REG_VFI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command INIT_VFI(0xA4) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:13;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vfi:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pri:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vf_id:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hop_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vfi:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:13;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vf:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vt:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vr:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd4:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vf_id:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pri:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd5:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hop_count:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} INIT_VFI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command UNREG_VFI (0xA1) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vfi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t vpi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} UNREG_VFI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t read_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t clear_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mbox_rsp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resv:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resv:28;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mbox_rsp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t clear_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t read_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE sp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan ULP_BDE64 sp64;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} READ_EVT_LOG_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t split_log_next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t log_next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t format:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resv2:22;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t log_level:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t split_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t log_next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t split_log_next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t split_log:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t log_level:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resv2:22;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t format:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOG_STATUS_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command CONFIG_PORT (0x88) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cBE:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cET:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cHpcb:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rMA:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sli_mode:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pcbLen:24; /* bit 23:0 of memory based port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* config block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pcbLen:24; /* bit 23:0 of memory based port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* config block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sli_mode:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rMA:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cHpcb:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cET:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cBE:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pcbLow; /* bit 31:0 of memory based port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* config block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pcbHigh; /* bit 63:32 of memory based port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* config block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hbainit[5];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hps:1; /* Host pointers in SLIM */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hps:1; /* Host pointers in SLIM */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmv:1; /* Configure Max VPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ccrp:1; /* Config Command Ring Polling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t csah:1; /* Configure Synchronous Abort */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Handling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t chbs:1; /* Cofigure Host Backing store */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cinb:1; /* Enable Interrupt Notification */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cerbm:1; /* Configure Enhanced Receive */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Buffer Management */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmx:1; /* Configure Max XRIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmr:1; /* Configure Max RPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmr:1; /* Configure Max RPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmx:1; /* Configure Max XRIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cerbm:1; /* Configure Enhanced Receive */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Buffer Management */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cinb:1; /* Enable Interrupt Notification */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t chbs:1; /* Cofigure Host Backing store */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t csah:1; /* Configure Synchronous Abort */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Handling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ccrp:1; /* Config Command Ring Polling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmv:1; /* Configure Max VPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:24;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:19; /* Reserved */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t gdss:1; /* Configure Data Security SLI */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd3:3; /* Reserved */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t gbg:1; /* Grant BlockGuard */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmv:1; /* Grant Max VPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gcrp:1; /* Grant Command Ring Polling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gsah:1; /* Grant Synchronous Abort Handling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ghbs:1; /* Grant Host Backing Store */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ginb:1; /* Grant Interrupt Notification Block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gerbm:1; /* Grant ERBM Request */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmx:1; /* Grant Max XRIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmr:1; /* Grant Max RPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmr:1; /* Grant Max RPIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmx:1; /* Grant Max XRIs */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gerbm:1; /* Grant ERBM Request */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ginb:1; /* Grant Interrupt Notification Block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ghbs:1; /* Grant Host Backing Store */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gsah:1; /* Grant Synchronous Abort Handling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gcrp:1; /* Grant Command Ring Polling */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t gmv:1; /* Grant Max VPIs */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t gbg:1; /* Grant BlockGuard */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd3:3; /* Reserved */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t gdss:1; /* Configure Data Security SLI */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd2:19; /* Reserved */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_rpi:16; /* Max RPIs Port should configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_xri:16; /* Max XRIs Port should configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_xri:16; /* Max XRIs Port should configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_rpi:16; /* Max RPIs Port should configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_hbq:16; /* Max HBQs Host expect to configure */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd4:16; /* Max HBQs Host expect to configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd4:16; /* Max HBQs Host expect to configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_hbq:16; /* Max HBQs Host expect to configure */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd5; /* Reserved */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd6:16; /* Reserved */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vpi_max:16; /* Max number of virt N-Ports */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t vpi_max:16; /* Max number of virt N-Ports */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd6:16; /* Reserved */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_PORT_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command REQUEST_FEATURES (0x9D) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t QueryMode:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t QueryMode:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t featuresRequested;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t featuresEnabled;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} REQUEST_FEATURES_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_INHIBIT_AUTO_ABTS 0x0001
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_NPIV 0x0002
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_DIF 0x0004
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_VIRTUAL_FABRICS 0x0008
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_FCP_INITIATOR 0x0010
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_FCP_TARGET 0x0020
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_FCP_COMBO 0x0040
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_RSVD1 0x0080
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_RQD 0x0100
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_INHIBIT_AUTO_ABTS_R 0x0200
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_HIGH_LOGIN_MODE 0x0400
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI4_FEATURE_PERF_HINT 0x0800
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* SLI-2 Port Control Block */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* SLIM POINTER */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define SLIMOFF 0x30 /* WORD */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _SLI2_RDSC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdEntries;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdAddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdAddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rspEntries;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rspAddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rspAddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLI2_RDSC;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _PCB
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define TYPE_NATIVE_SLI2 0x01;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t feature:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FEATURE_INITIAL_SLI2 0x01;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxRing:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t maxRing:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t feature:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FEATURE_INITIAL_SLI2 0x01;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t type:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define TYPE_NATIVE_SLI2 0x01;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mailBoxSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mbAddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mbAddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hgpAddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hgpAddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pgpAddrLow;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pgpAddrHigh;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan SLI2_RDSC rdsc[MAX_RINGS_AVAILABLE];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} PCB;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* NEW_FEATURE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0:27;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t discardFarp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t IPEnable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nodeName:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t portName:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t filterEnable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t filterEnable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t portName:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nodeName:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t IPEnable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t discardFarp:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd:27;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan NAME_TYPE portname;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan NAME_TYPE nodename;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t IPAddress;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_FARP_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* NEW_FEATURE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultMessageNumber:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nid:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultPresent:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reportAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reportAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultPresent:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nid:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultMessageNumber:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t attConditions;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t attentionId[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t messageNumberByHA[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t messageNumberByID[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_MSI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* NEW_FEATURE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultMessageNumber:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:11;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nid:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultPresent:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reportAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reportAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t addAssociations:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultPresent:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd2:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t nid:5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1:11;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t defaultMessageNumber:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t attConditions1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t attConditions2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t attentionId[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t messageNumberByHA[64];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t messageNumberByID[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t autoClearByHA1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t autoClearByHA2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t autoClearByID;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t resv3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CONFIG_MSIX_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Union of all Mailbox Command types */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t varWords[31];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan LOAD_SM_VAR varLdSM; /* cmd = 1 (LOAD_SM) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_NV_VAR varRDnvp; /* cmd = 2 (READ_NVPARMS) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan WRITE_NV_VAR varWTnvp; /* cmd = 3 (WRITE_NVPARMS) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BIU_DIAG_VAR varBIUdiag; /* cmd = 4 (RUN_BIU_DIAG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan INIT_LINK_VAR varInitLnk; /* cmd = 5 (INIT_LINK) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan DOWN_LINK_VAR varDwnLnk; /* cmd = 6 (DOWN_LINK) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_LINK varCfgLnk; /* cmd = 7 (CONFIG_LINK) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PART_SLIM_VAR varSlim; /* cmd = 8 (PART_SLIM) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_RING_VAR varCfgRing; /* cmd = 9 (CONFIG_RING) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan RESET_RING_VAR varRstRing; /* cmd = 10 (RESET_RING) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_CONFIG_VAR varRdConfig; /* cmd = 11 (READ_CONFIG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_RCONF_VAR varRdRConfig; /* cmd = 12 (READ_RCONFIG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_SPARM_VAR varRdSparm; /* cmd = 13 (READ_SPARM(64)) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_STATUS_VAR varRdStatus; /* cmd = 14 (READ_STATUS) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_RPI_VAR varRdRPI; /* cmd = 15 (READ_RPI(64)) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_XRI_VAR varRdXRI; /* cmd = 16 (READ_XRI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_REV_VAR varRdRev; /* cmd = 17 (READ_REV) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_LNK_VAR varRdLnk; /* cmd = 18 (READ_LNK_STAT) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_LOGIN_VAR varRegLogin; /* cmd = 19 (REG_LOGIN(64)) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_LOGIN_VAR varUnregLogin; /* cmd = 20 (UNREG_LOGIN) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_LA_VAR varReadLA; /* cmd = 21 (READ_LA(64)) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CLEAR_LA_VAR varClearLA; /* cmd = 22 (CLEAR_LA) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan DUMP_VAR varDmp; /* Warm Start DUMP mbx cmd */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UPDATE_CFG_VAR varUpdateCfg; /* cmd = 0x1b Warm Start */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* UPDATE_CFG cmd */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan DEL_LD_ENTRY_VAR varDelLdEntry; /* cmd = 0x1d (DEL_LD_ENTRY) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_D_ID_VAR varUnregDID; /* cmd = 0x23 (UNREG_D_ID) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_FARP_VAR varCfgFarp; /* cmd = 0x25 (CONFIG_FARP) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_MSI_VAR varCfgMSI; /* cmd = 0x90 (CONFIG_MSI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_MSIX_VAR varCfgMSIX; /* cmd = 0x30 (CONFIG_MSIX) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_HBQ_VAR varCfgHbq; /* cmd = 0x7C (CONFIG_HBQ) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan LOAD_AREA_VAR varLdArea; /* cmd = 0x81 (LOAD_AREA) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_PORT_VAR varCfgPort; /* cmd = 0x88 (CONFIG_PORT) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan LOAD_EXP_ROM_VAR varLdExpRom; /* cmd = 0x9C (LOAD_XP_ROM) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_EVT_LOG_VAR varRdEvtLog; /* cmd = 0x38 (READ_EVT_LOG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan LOG_STATUS_VAR varLogStat; /* cmd = 0x37 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MAILVARIANTS;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_BSIZE 128
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_WSIZE 32
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * SLI-2 specific structures
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _SLI1_DESC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan emlxs_rings_t mbxCring[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t mbxUnused[24];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLI1_DESC; /* 128 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdPutInx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rspGetInx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} HGP;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t cmdGetInx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rspPutInx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} PGP;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _SLI2_DESC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan HGP host[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PGP port[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HBQ_PortGetIdx[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLI2_DESC; /* 128 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan SLI1_DESC s1; /* 32 words, 128 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan SLI2_DESC s2; /* 32 words, 128 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLI_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef volatile struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t mbxStatus;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxCommand;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxReserved:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxHc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxOwner:1; /* Low order bit first word */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxOwner:1; /* Low order bit first word */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxHc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxReserved:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxCommand;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t mbxStatus;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MAILVARIANTS un; /* 124 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan SLI_VAR us; /* 128 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MAILBOX; /* 256 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* SLI4 IOCTL Mailbox */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* ALL SLI4 specific mbox commands have a standard request /response header */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Word 0 is just like SLI 3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct mbox_req_hdr
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t domain:8; /* word 6 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t port:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t subsystem:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opcode:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t timeout; /* word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t req_length; /* word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved1:24; /* word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t version:8; /* word 9 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opcode:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t subsystem:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t port:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t domain:8; /* word 6 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t timeout; /* word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t req_length; /* word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t version:8; /* word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved1:24; /* word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} mbox_req_hdr_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct mbox_req_hdr2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t vf_number:16; /* word 6 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t subsystem:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t opcode:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t timeout; /* word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t req_length; /* word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t vh_number:6; /* word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t pf_number:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved1:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t version:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t opcode:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t subsystem:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t vf_number:16; /* word 6 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t timeout; /* word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t req_length; /* word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t version:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved1:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t pf_number:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t vh_number:6; /* word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} mbox_req_hdr2_t;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct mbox_rsp_hdr
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t domain:8; /* word 6 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t subsystem:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opcode:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved2:16; /* word 7 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t extra_status:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t status:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opcode:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t subsystem:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved1:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t domain:8; /* word 6 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t status:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t extra_status:8;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved2:16; /* word 7 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsp_length; /* word 8 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t allocated_length; /* word 9 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} mbox_rsp_hdr_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_SUCCESS 0x00
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_FAILED 0x01
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_ILLEGAL_REQ 0x02
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_ILLEGAL_FIELD 0x03
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_FCF_IN_USE 0x3A
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MBX_RSP_STATUS_NO_FCF 0x43
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_ADDI_STATUS_INCOMPATIBLE 0xA2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct be_req_hdr
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t special:8; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved2:16; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sge_cnt:5; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved1:2; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t embedded:1; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t embedded:1; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved1:2; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t sge_cnt:5; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved2:16; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t special:8; /* word 1 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t payload_length; /* word 2 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t tag_low; /* word 3 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t tag_hi; /* word 4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t reserved3; /* word 5 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan mbox_req_hdr_t hdr_req;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld mbox_req_hdr2_t hdr_req2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan mbox_rsp_hdr_t hdr_rsp;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un_hdr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} be_req_hdr_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_MAX_NONEMBED_SIZE (1024 * 64)
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* SLI_CONFIG Mailbox commands */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define IOCTL_SUBSYSTEM_COMMON 0x01
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define IOCTL_SUBSYSTEM_FCOE 0x0C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define IOCTL_SUBSYSTEM_DCBX 0x10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_READ_FLASHROM 0x06
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_WRITE_FLASHROM 0x07
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_CQ_CREATE 0x0C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_EQ_CREATE 0x0D
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_MQ_CREATE 0x15
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_GET_CNTL_ATTRIB 0x20
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_NOP 0x21
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_QUERY_FIRMWARE_CONFIG 0x3A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_RESET 0x3D
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_PHYSICAL_LINK_CFG_V1 0x3E
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_BOOT_CFG 0x42
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_BOOT_CFG 0x43
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define COMMON_OPCODE_MANAGE_FAT 0x44
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PHYSICAL_LINK_CFG_V1 0x47
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PORT_NAME 0x4D
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_MQ_CREATE_EXT 0x5A
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_VPD_DATA 0x5B
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PHY_DETAILS 0x66
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SEND_ACTIVATION 0x73
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_RESET_LICENSES 0x74
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_CNTL_ADDL_ATTRIB 0x79
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_EXTENTS_INFO 0x9A
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_EXTENTS 0x9B
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_ALLOC_EXTENTS 0x9C
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_DEALLOC_EXTENTS 0x9D
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PROFILE_CAPS 0xA1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_MR_PROFILE_CAPS 0xA2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_MR_PROFILE_CAPS 0xA3
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PROFILE_CFG 0xA4
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_PROFILE_CFG 0xA5
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_PROFILE_LIST 0xA6
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_ACTIVE_PROFILE 0xA7
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_ACTIVE_PROFILE 0xA8
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_SET_FACTORY_PROFILE_CFG 0xA9
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_READ_OBJ 0xAB
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_WRITE_OBJ 0xAC
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_READ_OBJ_LIST 0xAD
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_DELETE_OBJ 0xAE
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define COMMON_OPCODE_GET_SLI4_PARAMS 0xB5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_WQ_CREATE 0x01
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_CFG_POST_SGL_PAGES 0x03
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_RQ_CREATE 0x05
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_READ_FCF_TABLE 0x08
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_ADD_FCF_TABLE 0x09
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define FCOE_OPCODE_DELETE_FCF_TABLE 0x0A
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_OPCODE_POST_HDR_TEMPLATES 0x0B
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define FCOE_OPCODE_REDISCOVER_FCF_TABLE 0x10
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define FCOE_OPCODE_SET_FCLINK_SETTINGS 0x21
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DCBX_OPCODE_GET_DCBX_MODE 0x04
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DCBX_OPCODE_SET_DCBX_MODE 0x05
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t opcode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_FLASH 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_SAVE 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_CLEAR 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_REPORT 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_INFO 5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPCODE_CRC 6
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPCODE_OFFSET_FLASH 7
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPCODE_OFFSET_SAVE 8
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_PHY_FLASHROM_OPCODE_FLASH 9
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_PHY_FLASHROM_OPCODE_SAVE 10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t optype;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_ISCSI_FIRMWARE 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_REDBOOT 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_ISCSI_BIOS 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_PXE_BIOS 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_CTRLS 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_CFG_IPSEC 5
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_CFG_INI 6
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_ROM_OFFSET 7
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_FCOE_BIOS 8
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_ISCSI_BACKUP 9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_FCOE_FIRMWARE 10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_FCOE_BACKUP 11
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_FLASHROM_OPTYPE_CTRLP 12
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define MGMT_FLASHROM_OPTYPE_NCSI_FIRMWARE 13
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPTYPE_CFG_NIC 14
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPTYPE_CFG_DCBX 15
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPTYPE_CFG_PXE_BIOS 16
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPTYPE_CFG_ALL 17
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MGMT_FLASHROM_OPTYPE_PHY_FIRMWARE 0xff /* Driver defined */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t data_buffer_size; /* Align to 4KB */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t data_buffer; /* image starts here */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_FLASHROM;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t interface_type;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t phy_type;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t phy_type;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t interface_type;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* phy_type */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_XAUI 0x0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_AEL_2020 0x1 /* eluris/Netlogic */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_LSI_BRCM1 0x2 /* Peak pre-production board */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_LSI_BRCM2 0x3 /* Peak production board */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_SOLARFLARE 0x4 /* Dell recommended */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_AMCC_QT2025 0x5 /* AMCC PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_AMCC_QT2225 0x6 /* AMCC PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_BRCM_5931 0x7 /* Broadcom Phy used by HP LOM */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_BE3_INTERNAL_10GB 0x8 /* Internal 10GbPHY in BE3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_BE3_INTERNAL_1GB 0x9 /* Internal 1Gb PHY in BE3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_TN_2022 0xa /* Teranetics dual port 65nm PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_MARVELL_88E1340 0xb /* Marvel 1G PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_MARVELL_88E1322 0xc /* Marvel 1G PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_TN_8022 0xd /* Teranetics dual port 40nm PHY */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PHY_TYPE_NOT_SUPPORTED
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* interface_type */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CX4_10GB_TYPE 0x0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define XFP_10GB_TYPE 0x1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SFP_1GB_TYPE 0x2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SFP_PLUS_10GB_TYPE 0x3
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define KR_10GB_TYPE 0x4
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define KX4_10GB_TYPE 0x5
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define BASET_10GB_TYPE 0x6 /* 10G BaseT */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define BASET_1000_TYPE 0x7 /* 1000 BaseT */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define BASEX_1000_TYPE 0x8 /* 1000 BaseX */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SGMII_TYPE 0x9
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define INTERFACE_10GB_DISABLED 0xff /* Interface type not supported */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t misc_params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd[4];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_GET_PHY_DETAILS;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port3_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port2_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port1_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port0_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port0_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port1_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port2_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port3_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_GET_PORT_NAME;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:30;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t pt:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t pt:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:30;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PORT_TYPE_GIGE 0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define PORT_TYPE_FC 1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port3_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port2_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port1_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port0_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port0_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port1_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port2_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t port3_name;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_GET_PORT_NAME_V1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t fat_operation;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RETRIEVE_FAT 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define QUERY_FAT 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CLEAR_FAT 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t read_log_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t read_log_length;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t data_buffer_size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t data_buffer;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t log_size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t read_log_length;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t data_buffer;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_MANAGE_FAT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EOF:1; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd0:7;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t desired_write_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t desired_write_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd0:7;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EOF:1; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t write_offset; /* word 5 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld char object_name[(4 * 26)]; /* word 6 - 31 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_desc_count; /* word 32 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:8; /* word 33 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:8; /* word 33 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_addrlo; /* word 34 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_addrhi; /* word 35 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t actual_write_length;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t change_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t change_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CS_NO_RESET 0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CS_REBOOT_RQD 1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CS_FW_RESET_RQD 2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CS_PROTO_RESET_RQD 3
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_WRITE_OBJECT;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t descriptor_offset:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t descriptor_count:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t descriptor_count:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t descriptor_offset:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved; /* word 5 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld char object_name[(4 * 26)]; /* word 6 - 31 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_desc_count; /* word 32 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:8; /* word 33 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_length:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t rsvd:8; /* word 33 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_addrlo; /* word 34 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t buffer_addrhi; /* word 35 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t actual_descriptor_count:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t actual_descriptor_count:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_READ_OBJECT_LIST;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_instance:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_instance:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_instance:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_status:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t boot_instance:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t reserved:16; /* word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_BOOT_CFG;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_QUERY_FIRMWARE_CONFIG */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _BE_FW_CFG
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BEConfigNumber;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ASICRevision;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t PhysicalPort;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t FunctionMode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ULPMode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} BE_FW_CFG;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _IOCTL_COMMON_QUERY_FIRMWARE_CONFIG
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_FW_CFG response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_QUERY_FIRMWARE_CONFIG;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_READ_FCF_TABLE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t max_recv_size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t fka_adv_period;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t fip_priority;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_mac_address_hi[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mac_address_provider;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_available;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_mac_address_low[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fabric_name_identifier[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_sol:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t rsvd0:5;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_fc:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_valid:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fc_map[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_state;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_mac_address_hi[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_mac_address_low[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fcf_available;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mac_address_provider;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fabric_name_identifier[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t fc_map[3];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_fc:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t rsvd0:5;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t fcf_sol:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_state;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t vlan_bitmap[512];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t switch_name_identifier[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} FCF_RECORD_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_FCOE_MAX_RCV_SZ 0x800
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* defines for mac_address_provider */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_MAM_BOTH 0 /* Both SPMA and FPMA */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_MAM_FPMA 1 /* Fabric Provided MAC Address */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_MAM_SPMA 2 /* Server Provided MAC Address */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t event_tag;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t next_valid_fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t next_valid_fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan FCF_RECORD_t fcf_entry[1];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_FCOE_READ_FCF_TABLE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_ADD_FCF_TABLE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t fcf_index;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan FCF_RECORD_t fcf_entry;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } params;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore} IOCTL_FCOE_ADD_FCF_TABLE;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore/* IOCTL_FCOE_DELETE_FCF_TABLE */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amoretypedef struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore{
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore union
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_BIG_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_indexes[1];
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_count;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_LITTLE_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_count;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_indexes[1];
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } request;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } params;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore} IOCTL_FCOE_DELETE_FCF_TABLE;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore/* IOCTL_FCOE_REDISCOVER_FCF_TABLE */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amoretypedef struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore{
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore union
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_count;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_count;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t rsvd1;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t fcf_index[1];
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore} IOCTL_FCOE_REDISCOVER_FCF_TABLE;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC0 0x0E
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC1 0xFC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC2 0x00
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC3 0xFF
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC4 0xFF
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAC5 0xFE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAP0 0x0E
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAP1 0xFC
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FCOE_FCF_MAP2 0x00
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MGMT_STATUS_FCF_IN_USE 0x3a
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_NOP */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _IOCTL_COMMON_NOP
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint64_t context;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint64_t context;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_NOP;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Context for EQ create */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _EQ_CONTEXT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Size:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd2:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Armed:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Count:3;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:26;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd6:9;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DelayMult:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:13;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:29;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd2:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Size:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:26;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Count:3;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Armed:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:13;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DelayMult:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd6:9;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd7;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} EQ_CONTEXT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* define for Count field */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EQ_ELEMENT_COUNT_1024 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EQ_ELEMENT_COUNT_2048 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EQ_ELEMENT_COUNT_4096 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* define for Size field */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EQ_ELEMENT_SIZE_4 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* define for DelayMullt - used for interrupt coalescing */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#define EQ_DELAY_MULT 64
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Context for CQ create */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _CQ_CONTEXT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Eventable:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Count:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t NoDelay:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CoalesceWM:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Armed:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EQId:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:22;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CoalesceWM:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t NoDelay:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Count:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Eventable:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:22;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EQId:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Armed:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd7;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} CQ_CONTEXT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct _CQ_CONTEXT_V2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Eventable:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCnt:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeSize:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:9;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t AutoValid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t NoDelay:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CoalesceWM:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Armed:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:15;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Count1:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CoalesceWM:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t NoDelay:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t AutoValid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:9;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeSize:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCnt:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Eventable:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:15;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Armed:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Count1:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd7;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} CQ_CONTEXT_V2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* CqeSize */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQE_SIZE_16_BYTES 0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQE_SIZE_32_BYTES 1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* define for Count field */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CQ_ELEMENT_COUNT_256 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CQ_ELEMENT_COUNT_512 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CQ_ELEMENT_COUNT_1024 2
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_ELEMENT_COUNT_SPECIFIED 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Context for MQ create */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _MQ_CONTEXT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CQId:10;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd2:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Size:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:21;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQId:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQV:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Size:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd2:2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CQId:10;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:31;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQV:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQId:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:21;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MQ_CONTEXT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct _MQ_CONTEXT_V1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Size:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQV:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Size:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Valid:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ACQV:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:31;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} MQ_CONTEXT_V1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* define for Size field */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MQ_ELEMENT_COUNT_16 0x05
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Context for RQ create */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _RQ_CONTEXT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCnt:4;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd1:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQId:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BufferSize:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd1:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:12;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BufferSize:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQId:16;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Rsvd5;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} RQ_CONTEXT;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct _RQ_CONTEXT_V1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCnt:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCnt:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQId:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t BufferSize;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} RQ_CONTEXT_V1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* RqeSize */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQE_SIZE_8_BYTES 0x02
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQE_SIZE_16_BYTES 0x03
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQE_SIZE_32_BYTES 0x04
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQE_SIZE_64_BYTES 0x05
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQE_SIZE_128_BYTES 0x06
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* RQ PageSize */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQ_PAGE_SIZE_4K 0x01
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQ_PAGE_SIZE_8K 0x02
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQ_PAGE_SIZE_16K 0x04
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQ_PAGE_SIZE_32K 0x08
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RQ_PAGE_SIZE_64K 0x10
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_EQ_CREATE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan EQ_CONTEXT EQContext;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR Pages[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MsiIndex; /* V1 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t EQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t EQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MsiIndex; /* V1 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_EQ_CREATE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:24; /* Word 0 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ProtocolType:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:3; /* Word 1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliHint2:5;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliHint1:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t IfType:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliFamily:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Revision:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:3;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FT:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd3:4; /* Word 2 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd2:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd4:16; /* Word 3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeCntMask:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd3:4; /* Word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd4:16; /* Word 5 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCntMask:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd2:4; /* Word 6 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd1:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd3:16; /* Word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqeCntMask:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd3:4; /* Word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd4:16; /* Word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCntMask:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd3:4; /* Word 10 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqDbWin:4; /* Word 11 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd4:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCntMask:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Loopback:4; /* Word 12 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHWQ:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHON:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHOFF:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TRIR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TRTY:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TCCA:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MWQE:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ASSI:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TERP:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TGT:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t AREG:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FBRR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SGLR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t HDRR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EXT:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FCOE:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SgeLength; /* Word 13 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglRsvd2:8; /* Word 14 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglAlign:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglPageCnt:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:16; /* Word 15 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MinRqSize:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MaxRqSize; /* Word 16 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RPIMax:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t XRIMax:16; /* Word 17 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t VFIMax:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t VPIMax:16; /* Word 18 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ProtocolType:8; /* Word 0 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:24;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FT:1; /* Word 1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd2:3;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Revision:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliFamily:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t IfType:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliHint1:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SliHint2:5;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd3:3;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqPageCnt:4; /* Word 2 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd2:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqeCntMask:16; /* Word 3 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EqRsvd4:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqPageCnt:4; /* Word 4 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqeCntMask:16; /* Word 5 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t CqRsvd4:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqPageCnt:4; /* Word 6 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd1:10;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd2:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqeCntMask:16; /* Word 7 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MqRsvd3:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqPageCnt:4; /* Word 8 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCntMask:16; /* Word 9 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqRsvd4:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqPageCnt:4; /* Word 10 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeRsvd2:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RQV:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCntMethod:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd3:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqeCntMask:16; /* Word 11 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqRsvd4:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RqDbWin:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FCOE:1; /* Word 12 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t EXT:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t HDRR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SGLR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t FBRR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t AREG:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TGT:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TERP:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t ASSI:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MWQE:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TCCA:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TRTY:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t TRIR:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHOFF:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHON:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PHWQ:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd4:12;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Loopback:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SgeLength; /* Word 13 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglPageCnt:4; /* Word 14 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglRsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglPageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglAlign:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t SglRsvd2:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MinRqSize:16; /* Word 15 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd5:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t MaxRqSize; /* Word 16 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t XRIMax:16; /* Word 17 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t RPIMax:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t VPIMax:16; /* Word 18 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t VFIMax:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd6; /* Word 19 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} sli_params_t;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* SliFamily values */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI_FAMILY_BE2 0x0
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI_FAMILY_BE3 0x1
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI_FAMILY_LANCER_A 0xA
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define SLI_FAMILY_LANCER_B 0xB
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_COMMON_SLI4_PARAMS */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld sli_params_t param;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_SLI4_PARAMS;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define MAX_EXTENTS 16 /* 1 to 104 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_COMMON_EXTENTS */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RscCnt;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RscType;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RscType;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RscCnt;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t ExtentSize;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t ExtentCnt;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t ExtentCnt;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t ExtentSize;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RscId[MAX_EXTENTS];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_EXTENTS;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* RscType */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RSC_TYPE_FCOE_VFI 0x20
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RSC_TYPE_FCOE_VPI 0x21
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RSC_TYPE_FCOE_RPI 0x22
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define RSC_TYPE_FCOE_XRI 0x23
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_CQ_CREATE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CQ_CONTEXT CQContext;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR Pages[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t CQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t CQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_CQ_CREATE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_COMMON_CQ_CREATE_V2 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t PageSize;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t NumPages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t NumPages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t PageSize;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint8_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld CQ_CONTEXT_V2 CQContext;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld BE_PHYS_ADDR Pages[8];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_CQ_CREATE_V2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_PAGE_SIZE_4K 0x01
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_PAGE_SIZE_8K 0x02
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_PAGE_SIZE_16K 0x04
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_PAGE_SIZE_32K 0x08
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define CQ_PAGE_SIZE_64K 0x10
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_MQ_CREATE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MQ_CONTEXT MQContext;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR Pages[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t MQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t MQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_MQ_CREATE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_COMMON_MQ_CREATE_EXT */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amoretypedef struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore{
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore union
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_BIG_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t rsvd0;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t num_pages;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_LITTLE_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t num_pages;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t rsvd0;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t async_event_bitmap;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_LINK_EVENT 0x00000002
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_FCF_EVENT 0x00000004
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_DCBX_EVENT 0x00000008
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_iSCSI_EVENT 0x00000010
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_GROUP5_EVENT 0x00000020
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_FC_EVENT 0x00010000
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_PORT_EVENT 0x00020000
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_VF_EVENT 0x00040000
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define ASYNC_MR_EVENT 0x00080000
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore MQ_CONTEXT context;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore BE_PHYS_ADDR pages[8];
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } request;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore struct
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore {
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_BIG_ENDIAN
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t rsvd0;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MQId;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MQId;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint16_t rsvd0;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore#endif
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } response;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore } params;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_MQ_CREATE_EXT;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_COMMON_MQ_CREATE_EXT_V1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t num_pages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t num_pages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t async_event_bitmap;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld MQ_CONTEXT_V1 context;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld BE_PHYS_ADDR pages[8];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd0;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t MQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rsvd0;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_COMMON_MQ_CREATE_EXT_V1;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_RQ_CREATE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan RQ_CONTEXT RQContext;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR Pages[8];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t RQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_FCOE_RQ_CREATE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_FCOE_RQ_CREATE_V1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DNB:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DFD:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DIM:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd0:13;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t NumPages:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t NumPages:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd0:13;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DIM:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DFD:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t DNB:1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld RQ_CONTEXT_V1 RQContext;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld BE_PHYS_ADDR Pages[8];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t RQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_FCOE_RQ_CREATE_V1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_WQ_CREATE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t CQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t NumPages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t CQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR Pages[4];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t WQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t WQId;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t Rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_FCOE_WQ_CREATE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* IOCTL_FCOE_WQ_CREATE_V1 */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeldtypedef struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld{
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld union
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t NumPages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCnt:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t NumPages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t CQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t PageSize:8;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeSize:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd1:4;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t WqeCnt:16;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint32_t Rsvd:2;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld BE_PHYS_ADDR Pages[4];
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } request;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld struct
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld {
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_BIG_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd0;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t WQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t WQId;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t Rsvd0;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } response;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld } params;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld} IOCTL_FCOE_WQ_CREATE_V1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* WqeSize */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQE_SIZE_64_BYTES 0x05
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQE_SIZE_128_BYTES 0x06
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld/* PageSize */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQ_PAGE_SIZE_4K 0x01
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQ_PAGE_SIZE_8K 0x02
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQ_PAGE_SIZE_16K 0x04
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQ_PAGE_SIZE_32K 0x08
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld#define WQ_PAGE_SIZE_64K 0x10
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_CFG_POST_SGL_PAGES */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _FCOE_SGL_PAGES
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR sgl_page0; /* 1st page per XRI */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR sgl_page1; /* 2nd page per XRI */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} FCOE_SGL_PAGES;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri_count;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri_start;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri_start;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t xri_count;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan FCOE_SGL_PAGES pages[1];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_FCOE_CFG_POST_SGL_PAGES;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_FCOE_POST_HDR_TEMPLATES */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _IOCTL_FCOE_POST_HDR_TEMPLATES
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t num_pages;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rpi_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld uint16_t rpi_offset;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t num_pages;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR pages[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan }request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan }params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_FCOE_POST_HDR_TEMPLATES;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_IOCTL_DCBX_MODE_CEE 0 /* Mapped to FIP mode */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EMLXS_IOCTL_DCBX_MODE_CIN 1 /* Mapped to nonFIP mode */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_DCBX_GET_DCBX_MODE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _IOCTL_DCBX_GET_DCBX_MODE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd0[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t port_num;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t port_num;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd0[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd1[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t dcbx_mode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t dcbx_mode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd1[3];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_DCBX_GET_DCBX_MODE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_DCBX_SET_DCBX_MODE */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct _IOCTL_DCBX_SET_DCBX_MODE
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd0[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t dcbx_mode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t port_num;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t port_num;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t dcbx_mode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t rsvd0[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_DCBX_SET_DCBX_MODE;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* IOCTL_COMMON_GET_CNTL_ATTRIB */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char flashrom_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char manufacturer_name[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char rsvd0[28];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t default_extended_timeout;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char controller_model_number[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char controller_description[64];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char controller_serial_number[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char ip_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char firmware_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char bios_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char redboot_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char driver_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan char fw_on_flash_version_string[32];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t functionalities_supported;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t max_cdblength;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t asic_revision;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t generational_guid[16];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t hba_port_count;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t default_link_down_timeout;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t iscsi_ver_min_max;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t multifunction_device;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t cache_valid;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t hba_status;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t max_domains_supported;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t phy_port;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t firmware_post_status;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t hba_mtu[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MGMT_HBA_ATTRIB;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MGMT_HBA_ATTRIB hba_attribs;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t pci_vendor_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t pci_device_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t pci_sub_vendor_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t pci_sub_system_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t pci_bus_number;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t pci_device_number;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t pci_function_number;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t interface_type;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint64_t unique_identifier;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MGMT_CONTROLLER_ATTRIB;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t rsvd0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } request;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MGMT_CONTROLLER_ATTRIB cntl_attributes_info;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } response;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } params;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_COMMON_GET_CNTL_ATTRIB;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_NOP NOPVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_FCOE_WQ_CREATE WQCreateVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_FCOE_WQ_CREATE_V1 WQCreateVar1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_FCOE_RQ_CREATE RQCreateVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_FCOE_RQ_CREATE_V1 RQCreateVar1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_EQ_CREATE EQCreateVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_CQ_CREATE CQCreateVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_CQ_CREATE_V2 CQCreateVar2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_MQ_CREATE MQCreateVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_MQ_CREATE_EXT MQCreateExtVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_MQ_CREATE_EXT_V1 MQCreateExtVar1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_FCOE_CFG_POST_SGL_PAGES PostSGLVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_GET_CNTL_ATTRIB GetCntlAttributesVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_FCOE_READ_FCF_TABLE ReadFCFTableVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_FCOE_ADD_FCF_TABLE AddFCFTableVar;
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore IOCTL_FCOE_REDISCOVER_FCF_TABLE RediscoverFCFTableVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_FLASHROM FlashRomVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_COMMON_MANAGE_FAT FATVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_DCBX_GET_DCBX_MODE GetDCBX;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan IOCTL_DCBX_SET_DCBX_MODE SetDCBX;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_SLI4_PARAMS Sli4ParamVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_EXTENTS ExtentsVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_GET_PHY_DETAILS PHYDetailsVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_GET_PORT_NAME PortNameVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_GET_PORT_NAME_V1 PortNameVar1;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_WRITE_OBJECT WriteObjVar;
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld IOCTL_COMMON_BOOT_CFG BootCfgVar;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IOCTL_VARIANTS;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Structure for MB Command SLI_CONFIG(0x9b) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* Good for SLI4 only */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan be_req_hdr_t be;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan BE_PHYS_ADDR payload;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLI_CONFIG_VAR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define IOCTL_HEADER_SZ (4 * sizeof (uint32_t))
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t varWords[63];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_NV_VAR varRDnvp; /* cmd = x02 (READ_NVPARMS) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan INIT_LINK_VAR varInitLnk; /* cmd = x05 (INIT_LINK) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan CONFIG_LINK varCfgLnk; /* cmd = x07 (CONFIG_LINK) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_REV4_VAR varRdRev4; /* cmd = x11 (READ_REV) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_LNK_VAR varRdLnk; /* cmd = x12 (READ_LNK_STAT) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan DUMP4_VAR varDmp4; /* cmd = x17 (DUMP) */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld UPDATE_CFG_VAR varUpdateCfg; /* cmd = x1b (update Cfg) */
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld BIU_DIAG_VAR varBIUdiag; /* cmd = x84 (RUN_BIU_DIAG64) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_SPARM_VAR varRdSparm; /* cmd = x8D (READ_SPARM64) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_FCFI_VAR varRegFCFI; /* cmd = xA0 (REG_FCFI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_FCFI_VAR varUnRegFCFI; /* cmd = xA2 (UNREG_FCFI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_LA_VAR varReadLA; /* cmd = x95 (READ_LA64) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan READ_CONFIG4_VAR varRdConfig4; /* cmd = x0B (READ_CONFIG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan RESUME_RPI_VAR varResumeRPI; /* cmd = x9E (RESUME_RPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_LOGIN_VAR varRegLogin; /* cmd = x93 (REG_RPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_LOGIN_VAR varUnregLogin; /* cmd = x14 (UNREG_RPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_VPI_VAR varRegVPI4; /* cmd = x96 (REG_VPI) */
e2ca2865a6870e9c6cbef6becbcc68cafde64537Sukumar Swaminathan UNREG_VPI_VAR4 varUnRegVPI4; /* cmd = x97 (UNREG_VPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REG_VFI_VAR varRegVFI4; /* cmd = x9F (REG_VFI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan UNREG_VFI_VAR varUnRegVFI4; /* cmd = xA1 (UNREG_VFI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan REQUEST_FEATURES_VAR varReqFeatures; /* cmd = x9D (REQ_FEATURES) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan SLI_CONFIG_VAR varSLIConfig; /* cmd = x9B (SLI_CONFIG) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan INIT_VPI_VAR varInitVPI4; /* cmd = xA3 (INIT_VPI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan INIT_VFI_VAR varInitVFI4; /* cmd = xA4 (INIT_VFI) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MAILVARIANTS4; /* Used for SLI-4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_SLI4_BSIZE 256
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_SLI4_WSIZE 64
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_MAX_BSIZE 256
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MAILBOX_CMD_MAX_WSIZE 64
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef volatile struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t mbxStatus;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxCommand;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxReserved:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxHc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxOwner:1; /* Low order bit first word */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxOwner:1; /* Low order bit first word */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxHc:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxReserved:6;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxCommand;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint16_t mbxStatus;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
8f23e9fa8abcb5857661066b954e63400d589b65Hans Rosenfeld MAILVARIANTS4 un; /* 252 bytes */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} MAILBOX4; /* Used for SLI-4 */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/*
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan * End Structure Definitions for Mailbox Commands
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct emlxs_mbq
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan volatile uint32_t mbox[MAILBOX_CMD_MAX_WSIZE];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan struct emlxs_mbq *next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* Defferred handling pointers */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *nonembed; /* ptr to data buffer */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* structure */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *bp; /* ptr to data buffer */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* structure */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *sbp; /* ptr to emlxs_buf_t */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* structure */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *ubp; /* ptr to fc_unsol_buf_t */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan /* structure */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *iocbq; /* ptr to IOCBQ structure */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *context; /* ptr to mbox context data */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore void *port; /* Sending port */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t flag;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_POOL_ALLOCATED 0x00000001
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_PASSTHRU 0x00000002
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_EMBEDDED 0x00000004
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_BOOTSTRAP 0x00000008
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_COMPLETED 0x00010000 /* Used for MBX_SLEEP */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBQ_INIT_MASK 0x0000ffff
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef MBOX_EXT_SUPPORT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t *extbuf; /* ptr to mailbox ext buffer */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t extsize; /* size of mailbox ext buffer */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif /* MBOX_EXT_SUPPORT */
a9800beb32c1006bb21c8da39e0180ea440b7badGarrett D'Amore uint32_t (*mbox_cmpl)();
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} emlxs_mbq_t;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef emlxs_mbq_t MAILBOXQ;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* We currently do not support IOCBs in SLI1 mode */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MAILBOX mbx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef MBOX_EXT_SUPPORT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxExt[MBOX_EXTENSION_SIZE];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif /* MBOX_EXT_SUPPORT */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t pad[(SLI_SLIM1_SIZE -
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan (sizeof (MAILBOX) + MBOX_EXTENSION_SIZE))];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLIM1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan MAILBOX mbx;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef MBOX_EXT_SUPPORT
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t mbxExt[MBOX_EXTENSION_SIZE];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif /* MBOX_EXT_SUPPORT */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PCB pcb;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t IOCBs[SLI_IOCB_MAX_SIZE];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} SLIM2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan/* def for new 2MB Flash (Pegasus ...) */
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_LOAD_AREA 0x81
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define MBX_LOAD_EXP_ROM 0x9C
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FILE_TYPE_AWC 0xE1A01001
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FILE_TYPE_DWC 0xE1A02002
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define FILE_TYPE_BWC 0xE1A03003
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AREA_ID_MASK 0xFFFFFF0F
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AREA_ID_AWC 0x00000001
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AREA_ID_DWC 0x00000002
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define AREA_ID_BWC 0x00000003
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CMD_START_ERASE 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CMD_CONTINUE_ERASE 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CMD_DOWNLOAD 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CMD_END_DOWNLOAD 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSP_ERASE_STARTED 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSP_ERASE_COMPLETE 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSP_DOWNLOAD_MORE 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define RSP_DOWNLOAD_DONE 4
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_CMD_FIND_IMAGE 8
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_CMD_CONTINUE_ERASE 9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_CMD_COPY 10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_RSP_ERASE_STARTED 8
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_RSP_ERASE_COMPLETE 9
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_RSP_COPY_MORE 10
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EROM_RSP_COPY_DONE 11
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define ALLext 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DWCext 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define BWCext 3
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define NO_ALL 0
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define ALL_WITHOUT_BWC 1
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define ALL_WITH_BWC 2
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define KERNEL_START_ADDRESS 0x000000
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define DOWNLOAD_START_ADDRESS 0x040000
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define EXP_ROM_START_ADDRESS 0x180000
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define SCRATCH_START_ADDRESS 0x1C0000
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define CONFIG_START_ADDRESS 0x1E0000
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct SliAifHdr
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t CompressBr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t RelocBr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ZinitBr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EntryBr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Area_ID;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t RoSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t RwSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DbgSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ZinitSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DbgType;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ImageBase;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Area_Size;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t AddressMode;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DataBase;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t AVersion;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Spare2;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t DebugSwi;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ZinitCode[15];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} AIF_HDR, *PAIF_HDR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct ImageHdr
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t BlockSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID Id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t Flags;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EntryAdr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t InitAdr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ExitAdr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ImageBase;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ImageSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t ZinitSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t RelocSize;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t HdrCks;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} IMAGE_HDR, *PIMAGE_HDR;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_BIG_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_rsvd:27;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t use_hdw_def:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_sel:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_lookup_sel:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef EMLXS_LITTLE_ENDIAN
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_lookup_sel:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_sel:3;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t use_hdw_def:1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t pci_cfg_rsvd:27;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID boot_bios_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t boot_bios_wd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } u0;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID sli1_prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID sli2_prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID sli3_prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID sli4_prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID EROM_prog_id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t EROM_prog_wd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } u1;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} WAKE_UP_PARMS, *PWAKE_UP_PARMS;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#define PROG_DESCR_STR_LEN 24
6a573d82e26abdedeb701fcdd5b5461b2fa0da40Sukumar Swaminathan#define MAX_LOAD_ENTRY 32
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t next;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t prev;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t start_adr;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t len;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan union
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan {
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan PROG_ID id;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t wd[2];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan } un;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint8_t prog_descr[PROG_DESCR_STR_LEN];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOAD_ENTRY;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathantypedef struct
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan{
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t head;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t tail;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan uint32_t entry_cnt;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan LOAD_ENTRY load_entry[MAX_LOAD_ENTRY];
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan} LOAD_LIST;
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#ifdef __cplusplus
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan}
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan
825277341c15b6b0d2c4b8b622ae7b1d2bdc0390Sukumar Swaminathan#endif /* _EMLXS_MBOX_H */