
On Wed, 14 May 2014 11:01:59 +0300 Siarhei Siamashka siarhei.siamashka@gmail.com wrote:
On Wed, 14 May 2014 08:52:50 +0100 Ian Campbell ijc@hellion.org.uk wrote:
On Wed, 2014-05-14 at 10:44 +0300, Siarhei Siamashka wrote:
diff --git a/drivers/net/designware.h b/drivers/net/designware.h index 382b0c7..6d94b3a 100644 --- a/drivers/net/designware.h +++ b/drivers/net/designware.h @@ -215,13 +215,13 @@ struct dmamacdescr { #endif
struct dw_eth_dev {
- struct dmamacdescr tx_mac_descrtable[CONFIG_TX_DESCR_NUM];
- struct dmamacdescr rx_mac_descrtable[CONFIG_RX_DESCR_NUM];
- u32 interface; u32 tx_currdescnum; u32 rx_currdescnum;
- struct dmamacdescr tx_mac_descrtable[CONFIG_TX_DESCR_NUM];
- struct dmamacdescr rx_mac_descrtable[CONFIG_RX_DESCR_NUM];
- char txbuffs[TX_TOTAL_BUFSIZE]; char rxbuffs[RX_TOTAL_BUFSIZE];
After this reordering, txbuffs and rxbuffs buffers become DMA unaligned.
Right, this is fixed in the repost which is part of "[PATCH v3 0/5] net/designware: fixes for data cache, phylib and burst size".
Oh, you just forgot to add the linux-sunxi list to CC when sending the updated patches. This explains why I don't see them in my mailbox.
However, as I can see at http://lists.denx.de/pipermail/u-boot/2014-May/179218.html you are still sandwiching interface, tx_currdescnum and rx_currdescnum between the DMA aligned stuff. This does not really improve packing.