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