Kconfig 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config FSL_FMAN
  3. tristate "FMan support"
  4. depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST
  5. select GENERIC_ALLOCATOR
  6. select PHYLIB
  7. select CRC32
  8. default n
  9. help
  10. Freescale Data-Path Acceleration Architecture Frame Manager
  11. (FMan) support
  12. config DPAA_ERRATUM_A050385
  13. bool
  14. depends on ARM64 && FSL_DPAA
  15. default y
  16. help
  17. DPAA FMan erratum A050385 software workaround implementation:
  18. align buffers, data start, SG fragment length to avoid FMan DMA
  19. splits.
  20. FMAN DMA read or writes under heavy traffic load may cause FMAN
  21. internal resource leak thus stopping further packet processing.
  22. The FMAN internal queue can overflow when FMAN splits single
  23. read or write transactions into multiple smaller transactions
  24. such that more than 17 AXI transactions are in flight from FMAN
  25. to interconnect. When the FMAN internal queue overflows, it can
  26. stall further packet processing. The issue can occur with any
  27. one of the following three conditions:
  28. 1. FMAN AXI transaction crosses 4K address boundary (Errata
  29. A010022)
  30. 2. FMAN DMA address for an AXI transaction is not 16 byte
  31. aligned, i.e. the last 4 bits of an address are non-zero
  32. 3. Scatter Gather (SG) frames have more than one SG buffer in
  33. the SG list and any one of the buffers, except the last
  34. buffer in the SG list has data size that is not a multiple
  35. of 16 bytes, i.e., other than 16, 32, 48, 64, etc.
  36. With any one of the above three conditions present, there is
  37. likelihood of stalled FMAN packet processing, especially under
  38. stress with multiple ports injecting line-rate traffic.