1 /****************************************************************************
2 * Driver for Solarflare network controllers -
3 * resource management for Xen backend, OpenOnload, etc
4 * (including support for SFE4001 10GBT NIC)
6 * This file provides workaround settings for EtherFabric NICs.
8 * Copyright 2005-2007: Solarflare Communications Inc,
9 * 9501 Jeronimo Road, Suite 250,
10 * Irvine, CA 92618, USA
12 * Developed and maintained by Solarflare Communications:
13 * <linux-xen-drivers@solarflare.com>
14 * <onload-dev@solarflare.com>
17 * This program is free software; you can redistribute it and/or modify it
18 * under the terms of the GNU General Public License version 2 as published
19 * by the Free Software Foundation, incorporated herein by reference.
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 ****************************************************************************
32 #ifndef __CI_DRIVER_EFAB_WORKAROUNDS_H__
33 #define __CI_DRIVER_EFAB_WORKAROUNDS_H__
35 /*----------------------------------------------------------------------------
37 * Hardware workarounds which have global scope
39 *---------------------------------------------------------------------------*/
41 #if defined(__CI_HARDWARE_CONFIG_FALCON_B0__)
42 /*------------------------------- B0 ---------------------------------------*/
44 #define BUG2175_WORKAROUND 0 /* TX event batching for dual port operation.
45 This removes the effect (dup TX events)
47 (TX event per packet + batch events) */
48 #define BUG5302_WORKAROUND 0 /* unstick TX DMAQ after out-of-range wr ptr */
49 #define BUG5762_WORKAROUND 0 /* Set all queues to jumbo mode */
50 #define BUG5391_WORKAROUND 0 /* Misaligned TX can't span 512-byte boundary */
51 #define BUG7916_WORKAROUND 0 /* RX flush gets lost */
54 /*------------------------------- A0/A1 ------------------------------------*/
56 #define BUG2175_WORKAROUND 1 /* TX event batching for dual port operation.
57 This removes the effect (dup TX events)
59 (TX event per packet + batch events) */
60 #define BUG5302_WORKAROUND 1 /* unstick TX DMAQ after out-of-range wr ptr */
61 #define BUG5762_WORKAROUND 1 /* Set all queues to jumbo mode */
62 #define BUG5391_WORKAROUND 1 /* Misaligned TX can't span 512-byte boundary */
63 #define BUG7916_WORKAROUND 1 /* RX flush gets lost */
67 #endif /* __CI_DRIVER_EFAB_WORKAROUNDS_H__ */