diff options
Diffstat (limited to 'drivers/net/designware.c')
-rw-r--r-- | drivers/net/designware.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c index c222197b114..4c1642b29a8 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -352,6 +352,11 @@ static int dw_adjust_link(struct dw_eth_dev *priv, struct eth_mac_regs *mac_p, (phydev->duplex) ? "full" : "half", (phydev->port == PORT_FIBRE) ? ", fiber mode" : ""); +#ifdef CONFIG_ARCH_NPCM8XX + /* Pass all Multicast Frames */ + setbits_le32(&mac_p->framefilt, BIT(4)); + +#endif return 0; } @@ -554,6 +559,11 @@ static int _dw_free_pkt(struct dw_eth_dev *priv) ulong desc_start = (ulong)desc_p; ulong desc_end = desc_start + roundup(sizeof(*desc_p), ARCH_DMA_MINALIGN); + ulong data_start = desc_p->dmamac_addr; + ulong data_end = data_start + roundup(CFG_ETH_BUFSIZE, ARCH_DMA_MINALIGN); + + /* Invalidate the descriptor buffer data */ + invalidate_dcache_range(data_start, data_end); /* * Make the current descriptor valid again and go to |