Hi all!
I've been having a fascinating issue that I havent been able to resolve so far with my Layerscape LS1046A RDB board.
I read the reference manual for the board, and in the manual it says that the default max frame size for L2 Ethernet frames is 1536, so I wanted to double-check it since packets greater than 1518 bytes were producing this error in my OpenWRT:
fsl_dpaa_mac 1ae8000.ethernet ethfpga1: Err FD status = 0x00040020
So I instruemted the fman_get_max_frm() call in fman.c in my dpaa driver:
printk(KERN_EMERG "fman: max frame limit is %d\n", fsl_fm_max_frm);
Thanks for the suggestion, yipingwang! I will use othbootargs and reply back next week. ALthough even when using bootargs, I was able to see that the kernel was indeed receiving the correct parameter, as I checked /proc/cmdline but was still getting the error. Still, I will try this.
As per the CONFIG_FSL_FM_MAX_FRAME_SIZE Kconfig option, unfortunately it does not show up in my OpenWRT flavor, as I dont have a vanilla Linux kernel. In fact, none of those options exist, not with menuconfig nor kernel_menuconfig.
Thanks a lot!
1. Under u-boot prompt, you could use the following in bootargs.
=>setenv othbootargs "fsl_fm_max_frm=1528"
=>saveenv
2. The second method, please do the following command configuration in Linux Kernel.
As a Kconfig option (CONFIG_FSL_FM_MAX_FRAME_SIZE):
Device Drivers
+-> Network device support
+-> Ethernet driver support
+-> Freescale devices
+-> Frame Manager support
+-> Freescale Frame Manager (datapath) support
+-> Maximum L2 frame size