LS1046A FEC support

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1046A FEC support

181 Views
gajicnenad6
Contributor I

Hello,

I'm interested is it FEC (Firecode FEC used in 10GBASE-KR) supported on LS1046A platform and how to enable it? I saw that in Linux kernel 6.12.49 there is 10GBASE-KR support, but only for Auto Negotiation and Link Training. Also I wanted to use USDPAA device tree to be able to use DPDK + VPP, so are there some blockers to make FEC work in that setup? Is it possible also to avoid running Auto negotiation and Link training and to run FEC only?

Thanks in advance,

Nenad

Tags (4)
0 Kudos
Reply
3 Replies

44 Views
yipingwang
NXP TechSupport
NXP TechSupport

FEC is not supported in current backplane driver. Auto-negitation is necessary step in the backplane driver, I suggest customer modify backplane driver to set XFI_10GR_FEC_CTL[FEC_ENAB] to enable FEC

0 Kudos
Reply

4 Views
gajicnenad6
Contributor I

I successfully enabled FEC and I am not using AN/LT (its disabled). I am basically including "-kr.dtsi" files for mac9 and mac10 to be able to access registers to write FEC_ENAB. When I say throughput in the next lines for example 4gbps I mean on 2x 4gbps is generated from network tester to board. BERT test is running (L2 traffic test termination). And when I start VPP so that mac9 and mac10 are bridged I see that errors are smaller, on one port there is 0 errors and on other port there is no errors when throughput is smaller (<4gbps) and when there is throughput >4gbps errors are around BER ratio 2E-08 and smaller (E-09). But those measurements are when the system is idle (not using console at all). But when I do something, for example start top program, press Enter multiple times, errors are increasing (BER ratio E-07, E-06). So I made a script that is doing memcpy fast (to put pressure on ddr) and I saw that I got a lot of bit errors (BER ratio is going up to E-04 for throughputs bigger than 7gbps) on MTS5800 network tester. My setup is like this:

DPDK + VPP (main core 1, workers 2 and 3), isolcpus=1-3, nohz_full=1-3, rcu_nocbs=1-3, iommu_passthrough=1, hugepagessz=2m, number of hugepages 512.

Is there maybe DDR bandwidth bottleneck in higher network throughputs?

0 Kudos
Reply

169 Views
yipingwang
NXP TechSupport
NXP TechSupport

Auto-negotiation is a necessary step in the current driver flow.
If auto-negotiation fails, the process will not proceed further.

So  the current backplane driver does not support FEC, and auto-negotiation is an integral part of the workflow.
If you want to remove auto-negotiation, you will need to modify the driver by yourselves, and we do not recommend doing so.

If link training itself has issues, there is no point in proceeding with other configurations.

To enable FEC, an additional PMD register needs to be programmed.

0 Kudos
Reply