- supported.conf: Added sparse_keymap (eeepc_laptop depends on it)
[linux-flexiantxendom0-3.2.10.git] / drivers / net / sfc / sfc_resource / ci / driver / efab / hardware / workarounds.h
1 /****************************************************************************
2  * Driver for Solarflare network controllers -
3  *          resource management for Xen backend, OpenOnload, etc
4  *           (including support for SFE4001 10GBT NIC)
5  *
6  * This file provides workaround settings for EtherFabric NICs.
7  *
8  * Copyright 2005-2007: Solarflare Communications Inc,
9  *                      9501 Jeronimo Road, Suite 250,
10  *                      Irvine, CA 92618, USA
11  *
12  * Developed and maintained by Solarflare Communications:
13  *                      <linux-xen-drivers@solarflare.com>
14  *                      <onload-dev@solarflare.com>
15  *
16  *
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.
20  *
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.
25  *
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  ****************************************************************************
30  */
31
32 #ifndef __CI_DRIVER_EFAB_WORKAROUNDS_H__
33 #define __CI_DRIVER_EFAB_WORKAROUNDS_H__
34
35 /*----------------------------------------------------------------------------
36  *
37  * Hardware workarounds which have global scope
38  *
39  *---------------------------------------------------------------------------*/
40
41 #if defined(__CI_HARDWARE_CONFIG_FALCON_B0__)
42 /*------------------------------- B0 ---------------------------------------*/
43
44 #define BUG2175_WORKAROUND 0    /* TX event batching for dual port operation.
45                                    This removes the effect (dup TX events)
46                                    of the fix
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 */
52
53 #else
54 /*------------------------------- A0/A1 ------------------------------------*/
55
56 #define BUG2175_WORKAROUND 1    /* TX event batching for dual port operation.
57                                    This removes the effect (dup TX events)
58                                    of the fix
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 */
64
65 #endif /* B0/A01 */
66
67 #endif /* __CI_DRIVER_EFAB_WORKAROUNDS_H__ */