Skip to content
Snippets Groups Projects
Commit 2ddaf13b authored by Sonic Zhang's avatar Sonic Zhang Committed by Tom Rini
Browse files

net: configure DWMAC DMA by default AXI burst length


Board can define its own AXI burst length to improve DWMAC DMA performance.

v2-changes:
- Avoid write burst len register when the Macro is not defined.

v3-changes:
- Add axi_bus register member to struct eth_dma_regs.

Signed-off-by: default avatarSonic Zhang <sonic.zhang@analog.com>
Acked-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
parent a32ab4d9
Branches
Tags
No related merge requests found
...@@ -258,6 +258,10 @@ static int dw_eth_init(struct eth_device *dev, bd_t *bis) ...@@ -258,6 +258,10 @@ static int dw_eth_init(struct eth_device *dev, bd_t *bis)
writel(readl(&dma_p->opmode) | RXSTART | TXSTART, &dma_p->opmode); writel(readl(&dma_p->opmode) | RXSTART | TXSTART, &dma_p->opmode);
#ifdef CONFIG_DW_AXI_BURST_LEN
writel((CONFIG_DW_AXI_BURST_LEN & 0x1FF >> 1), &dma_p->axibus);
#endif
/* Start up the PHY */ /* Start up the PHY */
if (phy_startup(priv->phydev)) { if (phy_startup(priv->phydev)) {
printf("Could not initialize PHY %s\n", printf("Could not initialize PHY %s\n",
......
...@@ -68,7 +68,9 @@ struct eth_dma_regs { ...@@ -68,7 +68,9 @@ struct eth_dma_regs {
u32 status; /* 0x14 */ u32 status; /* 0x14 */
u32 opmode; /* 0x18 */ u32 opmode; /* 0x18 */
u32 intenable; /* 0x1c */ u32 intenable; /* 0x1c */
u8 reserved[40]; u32 reserved1[2];
u32 axibus; /* 0x28 */
u32 reserved2[7];
u32 currhosttxdesc; /* 0x48 */ u32 currhosttxdesc; /* 0x48 */
u32 currhostrxdesc; /* 0x4c */ u32 currhostrxdesc; /* 0x4c */
u32 currhosttxbuffaddr; /* 0x50 */ u32 currhosttxbuffaddr; /* 0x50 */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment