Comments (6)
For reference the nuttx liteeth driver also had a similar pattern and very low performance. We (@g2gps) made some similar changes and got a big improvement but I'm not sure those changes are upstream yet.
from litex.
cc-ing @shenki (original author of the linux liteeth driver) for situational awareness.
For my part, I'm happy to help develop and/or review any improvements to the Linux driver, but won't have any "spare cycles" for that until after mid-May of this year.
from litex.
Yes, we are limited by memcpy_io throughput. On microwatt (ppc64) a patch to unroll that operation gave us much better performance:
This change never made it upstream. @antonblanchard might be interested in doing something similar for riscv these days.
from litex.
Adding dma capability to liteeth would be ideal, maybe something similar to litesdcard using litedma. This is something we have discussed internally and with @enjoy-digital . We could provide some funding for the liteeth gateware dma integration.
from litex.
Thanks everyone. It seems there is now quite some interest to get DMA capabilities with LiteEth, so no reason to not make it happen :) We already got some contributions on this but also want to make sure the approach is close to the LiteSDCard/LiteSATA DMA. I'll try to provide a first implementation from the different discussions/PRs.
Initial PRs/Implementations that need to be review/could be use as basis:
from litex.
Thanks ^^
Let's keep ourself in sync about this. I'm currently trying to not split myself between too many contexts. I may have some time to work on it in 1-2 months. (i'm a bit in a rush)
from litex.
Related Issues (20)
- Support of RapidIO
- Support of Interlaken protocol
- Support of IO-Link
- Support of MIPS cores
- Generated DTS lacks root compatible and model properties HOT 3
- Restrict bus crossbar access by region mode
- Add example for embedding a LiteX SOC into Vivado project for Zynq HOT 4
- litex_sim of CV32E41P is stuck HOT 2
- Liteeth: Broken constraints HOT 4
- UART output not displayed HOT 2
- Can't boot linux with MAIN_RAM sizes above 512mb HOT 68
- How to set multi-level sequential trigger in litescope ? HOT 1
- Native windows Vivado and WSL2 Litex build fails to find toolchain HOT 2
- default FIFO depth for video is too large for some devices
- Loading binary hangs up HOT 3
- Weird builder args behaviour
- Trying to interact with UART via Rust binary (stuck at liftoff) HOT 2
- RISC-V debug module support for CV32E40P/41P ?
- Issues with main memory > 1GB HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from litex.