40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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.
 |