| /* |
| * 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__ */ |