diff options
author | Madalin Bucur <madalin.bucur@nxp.com> | 2020-03-04 18:04:27 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-06 21:55:32 -0800 |
commit | b281f7b93b258ce1419043bbd898a29254d5c9c7 (patch) | |
tree | 603923b937c21e212b3e5b86185cd5cbde31a723 /drivers/net/ethernet/freescale/fman/Kconfig | |
parent | arm64: dts: ls1043a: FMan erratum A050385 (diff) | |
download | linux-dev-b281f7b93b258ce1419043bbd898a29254d5c9c7.tar.xz linux-dev-b281f7b93b258ce1419043bbd898a29254d5c9c7.zip |
fsl/fman: detect FMan erratum A050385
Detect the presence of the A050385 erratum.
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/Kconfig')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/Kconfig | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Kconfig b/drivers/net/ethernet/freescale/fman/Kconfig index 0139cb9042ec..34150182cc35 100644 --- a/drivers/net/ethernet/freescale/fman/Kconfig +++ b/drivers/net/ethernet/freescale/fman/Kconfig @@ -8,3 +8,31 @@ config FSL_FMAN 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. |