83 lines
2.8 KiB
C
83 lines
2.8 KiB
C
/*
|
|
* Copyright (C) 2005 - 2008 ServerEngines
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2
|
|
* as published by the Free Software Foundation. The full GNU General
|
|
* Public License is included in this distribution in the file called COPYING.
|
|
*
|
|
* Contact Information:
|
|
* linux-drivers@serverengines.com
|
|
*
|
|
* ServerEngines
|
|
* 209 N. Fair Oaks Ave
|
|
* Sunnyvale, CA 94085
|
|
*/
|
|
/*
|
|
* Autogenerated by srcgen version: 0127
|
|
*/
|
|
#ifndef __asyncmesg_amap_h__
|
|
#define __asyncmesg_amap_h__
|
|
#include "fwcmd_common.h"
|
|
|
|
/* --- ASYNC_EVENT_CODES --- */
|
|
#define ASYNC_EVENT_CODE_LINK_STATE (1)
|
|
#define ASYNC_EVENT_CODE_ISCSI (2)
|
|
|
|
/* --- ASYNC_LINK_STATES --- */
|
|
#define ASYNC_EVENT_LINK_DOWN (0) /* Link Down on a port */
|
|
#define ASYNC_EVENT_LINK_UP (1) /* Link Up on a port */
|
|
|
|
/*
|
|
* The last 4 bytes of the async events have this common format. It allows
|
|
* the driver to distinguish [link]MCC_CQ_ENTRY[/link] structs from
|
|
* asynchronous events. Both arrive on the same completion queue. This
|
|
* structure also contains the common fields used to decode the async event.
|
|
*/
|
|
struct BE_ASYNC_EVENT_TRAILER_AMAP {
|
|
u8 rsvd0[8]; /* DWORD 0 */
|
|
u8 event_code[8]; /* DWORD 0 */
|
|
u8 event_type[8]; /* DWORD 0 */
|
|
u8 rsvd1[6]; /* DWORD 0 */
|
|
u8 async_event; /* DWORD 0 */
|
|
u8 valid; /* DWORD 0 */
|
|
} __packed;
|
|
struct ASYNC_EVENT_TRAILER_AMAP {
|
|
u32 dw[1];
|
|
};
|
|
|
|
/*
|
|
* Applicable in Initiator, Target and NIC modes.
|
|
* A link state async event is seen by all device drivers as soon they
|
|
* create an MCC ring. Thereafter, anytime the link status changes the
|
|
* drivers will receive a link state async event. Notifications continue to
|
|
* be sent until a driver destroys its MCC ring. A link down event is
|
|
* reported when either port loses link. A link up event is reported
|
|
* when either port regains link. When BE's failover mechanism is enabled, a
|
|
* link down on the active port causes traffic to be diverted to the standby
|
|
* port by the BE's ARM firmware (assuming the standby port has link). In
|
|
* this case, the standy port assumes the active status. Note: when link is
|
|
* restored on the failed port, traffic continues on the currently active
|
|
* port. The ARM firmware does not attempt to 'fail back' traffic to
|
|
* the restored port.
|
|
*/
|
|
struct BE_ASYNC_EVENT_LINK_STATE_AMAP {
|
|
u8 port0_link_status[8];
|
|
u8 port1_link_status[8];
|
|
u8 active_port[8];
|
|
u8 rsvd0[8]; /* DWORD 0 */
|
|
u8 port0_duplex[8];
|
|
u8 port0_speed[8];
|
|
u8 port1_duplex[8];
|
|
u8 port1_speed[8];
|
|
u8 port0_fault[8];
|
|
u8 port1_fault[8];
|
|
u8 rsvd1[2][8]; /* DWORD 2 */
|
|
struct BE_ASYNC_EVENT_TRAILER_AMAP trailer;
|
|
} __packed;
|
|
struct ASYNC_EVENT_LINK_STATE_AMAP {
|
|
u32 dw[4];
|
|
};
|
|
#endif /* __asyncmesg_amap_h__ */
|