workarounds.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /****************************************************************************
  2. * Driver for Solarflare network controllers and boards
  3. * Copyright 2006-2013 Solarflare Communications Inc.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of the GNU General Public License version 2 as published
  7. * by the Free Software Foundation, incorporated herein by reference.
  8. */
  9. #ifndef EF4_WORKAROUNDS_H
  10. #define EF4_WORKAROUNDS_H
  11. /*
  12. * Hardware workarounds.
  13. * Bug numbers are from Solarflare's Bugzilla.
  14. */
  15. #define EF4_WORKAROUND_FALCON_A(efx) (ef4_nic_rev(efx) <= EF4_REV_FALCON_A1)
  16. #define EF4_WORKAROUND_FALCON_AB(efx) (ef4_nic_rev(efx) <= EF4_REV_FALCON_B0)
  17. #define EF4_WORKAROUND_10G(efx) 1
  18. /* Bit-bashed I2C reads cause performance drop */
  19. #define EF4_WORKAROUND_7884 EF4_WORKAROUND_10G
  20. /* Truncated IPv4 packets can confuse the TX packet parser */
  21. #define EF4_WORKAROUND_15592 EF4_WORKAROUND_FALCON_AB
  22. /* Spurious parity errors in TSORT buffers */
  23. #define EF4_WORKAROUND_5129 EF4_WORKAROUND_FALCON_A
  24. /* Unaligned read request >512 bytes after aligning may break TSORT */
  25. #define EF4_WORKAROUND_5391 EF4_WORKAROUND_FALCON_A
  26. /* iSCSI parsing errors */
  27. #define EF4_WORKAROUND_5583 EF4_WORKAROUND_FALCON_A
  28. /* RX events go missing */
  29. #define EF4_WORKAROUND_5676 EF4_WORKAROUND_FALCON_A
  30. /* RX_RESET on A1 */
  31. #define EF4_WORKAROUND_6555 EF4_WORKAROUND_FALCON_A
  32. /* Increase filter depth to avoid RX_RESET */
  33. #define EF4_WORKAROUND_7244 EF4_WORKAROUND_FALCON_A
  34. /* Flushes may never complete */
  35. #define EF4_WORKAROUND_7803 EF4_WORKAROUND_FALCON_AB
  36. /* Leak overlength packets rather than free */
  37. #define EF4_WORKAROUND_8071 EF4_WORKAROUND_FALCON_A
  38. #endif /* EF4_WORKAROUNDS_H */