/* * Copyright (C) 2005 - 2011 Emulex * 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@emulex.com * * Emulex * 3333 Susan Street * Costa Mesa, CA 92626 *//* * The driver sends configuration and managements command requests to the * firmware in the BE. These requests are communicated to the processor * using Work Request Blocks (WRBs) submitted to the MCC-WRB ring or via one * WRB inside a MAILBOX. * The commands are serviced by the ARM processor in the BladeEngine's MPU. */structbe_sge{u32pa_lo;u32pa_hi;u32len;};#define MCC_WRB_EMBEDDED_MASK 1 /* bit 0 of dword 0*/#define MCC_WRB_SGE_CNT_SHIFT 3 /* bits 3 - 7 of dword 0 */#define MCC_WRB_SGE_CNT_MASK 0x1F /* bits 3 - 7 of dword 0 */structbe_mcc_wrb{u32embedded;/* dword 0 */u32payload_length;/* dword 1 */u32tag0;/* dword 2 */u32tag1;/* dword 3 */u32rsvd;/* dword 4 */union{u8embedded_payload[236];/* used by embedded cmds */structbe_sgesgl[19];/* used by non-embedded cmds */}paylo