08-27-2010 06:52 AM
Hi,
I recently noticed that xilinx linux only support local link fifo up to 1.01.a. I am using 2.6.34 xilinx linux. In drivers/net/xilinx_lltemac/xlltemac_main.c, only three supported versions are listed:
static struct of_device_id xtenet_fifo_of_match[] = { { .compatible = "xlnx,xps-ll-fifo-1.00.a", }, { .compatible = "xlnx,xps-ll-fifo-1.00.b", }, { .compatible = "xlnx,xps-ll-fifo-1.01.a", }, { /* end of list */ },};
I am wondering if there is any plan to support local link fifo 1.02.a. I had experience with developing network device driver. If someone can point out the difference between local link fifo 1.02.a and 1.01a for me, I might be able to add the support to current driver.
Thanks.
Ben
08-27-2010 07:14 AM
In general we don't test the FIFO mode of the driver in automation as we do with DMA mode. There should be minimal difference between those versions as it's a minor version change such that the interface should not have changed to software.
Are you using FIFO mode of the driver as we need that input?
There are no specific plans as DMA is our primary mode. It should be as easy as adding a new version to the driver. Our device tree generator sort of takes this into account and we cheat by having it generate multiple versions in the device tree, but I have to say I've not checked it with FIFO mode.
Thanks.
08-27-2010 10:35 AM
Thank you.
I am using the FIFO mode of the driver simply because my budget on memory port is tight. By using the FIFO mode, I can save one memory port on my DDR2.
I have also tweaked the driver by adding the new version like this:
static struct of_device_id xtenet_fifo_of_match[] = { { .compatible = "xlnx,xps-ll-fifo-1.00.a", }, { .compatible = "xlnx,xps-ll-fifo-1.00.b", }, { .compatible = "xlnx,xps-ll-fifo-1.01.a", }, { .compatible = "xlnx,xps-ll-fifo-1.02.a", }, { /* end of list */ },};
Then I tested it using FIFO mode with local link fifo 1.02.a on ML410 board. Linux was able to detect LLTEMAC and register it as a network device. Unfortunately, "ping" didn't work. If I change the design back to DMA mode, "ping" works well. So I assume either my tweaking is not complete or the driver needs to be updated.
Any comment?