forked from Minki/linux
5a6681e22c
Rationale: The differences between Falcon and Siena are in many ways larger than those between Siena and EF10 (despite Siena being nominally "Falcon- architecture"); for instance, Falcon has no MCPU, so there is no MCDI. Removing Falcon support from the sfc driver should simplify the latter, and avoid the possibility of Falcon support being broken by changes to sfc (which are rarely if ever tested on Falcon, it being end-of-lifed hardware). The sfc-falcon driver created in this changeset is essentially a copy of the sfc driver, but with Siena- and EF10-specific code, including MCDI, removed and with the "efx_" identifier prefix changed to "ef4_" (for "EFX 4000- series") to avoid collisions when both drivers are built-in. This changeset removes Falcon from the sfc driver's PCI ID table; then in sfc I've removed obvious Falcon-related code: I removed the Falcon NIC functions, Falcon PHY code, and EFX_REV_FALCON_*, then fixed up everything that referenced them. Also, increment minor version of both drivers (to 4.1). For now, CONFIG_SFC selects CONFIG_SFC_FALCON, so that updating old configs doesn't cause Falcon support to disappear; but that should be undone at some point in the future. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
45 lines
1.7 KiB
C
45 lines
1.7 KiB
C
/****************************************************************************
|
|
* Driver for Solarflare network controllers and boards
|
|
* Copyright 2006-2013 Solarflare Communications Inc.
|
|
*
|
|
* 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, incorporated herein by reference.
|
|
*/
|
|
|
|
#ifndef EF4_WORKAROUNDS_H
|
|
#define EF4_WORKAROUNDS_H
|
|
|
|
/*
|
|
* Hardware workarounds.
|
|
* Bug numbers are from Solarflare's Bugzilla.
|
|
*/
|
|
|
|
#define EF4_WORKAROUND_FALCON_A(efx) (ef4_nic_rev(efx) <= EF4_REV_FALCON_A1)
|
|
#define EF4_WORKAROUND_FALCON_AB(efx) (ef4_nic_rev(efx) <= EF4_REV_FALCON_B0)
|
|
#define EF4_WORKAROUND_10G(efx) 1
|
|
|
|
/* Bit-bashed I2C reads cause performance drop */
|
|
#define EF4_WORKAROUND_7884 EF4_WORKAROUND_10G
|
|
/* Truncated IPv4 packets can confuse the TX packet parser */
|
|
#define EF4_WORKAROUND_15592 EF4_WORKAROUND_FALCON_AB
|
|
|
|
/* Spurious parity errors in TSORT buffers */
|
|
#define EF4_WORKAROUND_5129 EF4_WORKAROUND_FALCON_A
|
|
/* Unaligned read request >512 bytes after aligning may break TSORT */
|
|
#define EF4_WORKAROUND_5391 EF4_WORKAROUND_FALCON_A
|
|
/* iSCSI parsing errors */
|
|
#define EF4_WORKAROUND_5583 EF4_WORKAROUND_FALCON_A
|
|
/* RX events go missing */
|
|
#define EF4_WORKAROUND_5676 EF4_WORKAROUND_FALCON_A
|
|
/* RX_RESET on A1 */
|
|
#define EF4_WORKAROUND_6555 EF4_WORKAROUND_FALCON_A
|
|
/* Increase filter depth to avoid RX_RESET */
|
|
#define EF4_WORKAROUND_7244 EF4_WORKAROUND_FALCON_A
|
|
/* Flushes may never complete */
|
|
#define EF4_WORKAROUND_7803 EF4_WORKAROUND_FALCON_AB
|
|
/* Leak overlength packets rather than free */
|
|
#define EF4_WORKAROUND_8071 EF4_WORKAROUND_FALCON_A
|
|
|
|
#endif /* EF4_WORKAROUNDS_H */
|