diff options
author | Heiko Schocher <hs@denx.de> | 2016-08-29 07:46:11 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-01 20:05:14 -0400 |
commit | 592a749527d8c1d52d46e0cf2f04e72a2e05e5fb (patch) | |
tree | 85e1698f986e89892c0c0e4784b2932c2acc624c /drivers | |
parent | ceee15ce5d4813672f6ede5080d7682022f069c0 (diff) | |
download | u-boot-imx-592a749527d8c1d52d46e0cf2f04e72a2e05e5fb.zip u-boot-imx-592a749527d8c1d52d46e0cf2f04e72a2e05e5fb.tar.gz u-boot-imx-592a749527d8c1d52d46e0cf2f04e72a2e05e5fb.tar.bz2 |
net, macb: fix misaligned cache operation warning
when using tftp on the smartweb board, it prints a lot of
CACHE: Misaligned operation at range [23b2e000, 23b2e100]
warnings ... fixed them.
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/macb.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 8c1774e..01527f7 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -251,33 +251,35 @@ int macb_miiphy_write(struct mii_dev *bus, int phy_adr, int devad, int reg, static inline void macb_invalidate_ring_desc(struct macb_device *macb, bool rx) { if (rx) - invalidate_dcache_range(macb->rx_ring_dma, macb->rx_ring_dma + - MACB_RX_DMA_DESC_SIZE); + invalidate_dcache_range(macb->rx_ring_dma, + ALIGN(macb->rx_ring_dma + MACB_RX_DMA_DESC_SIZE, + PKTALIGN)); else - invalidate_dcache_range(macb->tx_ring_dma, macb->tx_ring_dma + - MACB_TX_DMA_DESC_SIZE); + invalidate_dcache_range(macb->tx_ring_dma, + ALIGN(macb->tx_ring_dma + MACB_TX_DMA_DESC_SIZE, + PKTALIGN)); } static inline void macb_flush_ring_desc(struct macb_device *macb, bool rx) { if (rx) flush_dcache_range(macb->rx_ring_dma, macb->rx_ring_dma + - MACB_RX_DMA_DESC_SIZE); + ALIGN(MACB_RX_DMA_DESC_SIZE, PKTALIGN)); else flush_dcache_range(macb->tx_ring_dma, macb->tx_ring_dma + - MACB_TX_DMA_DESC_SIZE); + ALIGN(MACB_TX_DMA_DESC_SIZE, PKTALIGN)); } static inline void macb_flush_rx_buffer(struct macb_device *macb) { flush_dcache_range(macb->rx_buffer_dma, macb->rx_buffer_dma + - MACB_RX_BUFFER_SIZE); + ALIGN(MACB_RX_BUFFER_SIZE, PKTALIGN)); } static inline void macb_invalidate_rx_buffer(struct macb_device *macb) { invalidate_dcache_range(macb->rx_buffer_dma, macb->rx_buffer_dma + - MACB_RX_BUFFER_SIZE); + ALIGN(MACB_RX_BUFFER_SIZE, PKTALIGN)); } #if defined(CONFIG_CMD_NET) @@ -596,7 +598,7 @@ static int gmac_init_multi_queues(struct macb_device *macb) macb->dummy_desc->ctrl = TXBUF_USED; macb->dummy_desc->addr = 0; flush_dcache_range(macb->dummy_desc_dma, macb->dummy_desc_dma + - MACB_TX_DUMMY_DMA_DESC_SIZE); + ALIGN(MACB_TX_DUMMY_DMA_DESC_SIZE, PKTALIGN)); for (i = 1; i < num_queues; i++) gem_writel_queue_TBQP(macb, macb->dummy_desc_dma, i - 1); |