
On Sun, Aug 14, 2016 at 10:03 AM, Karl Beldan karl.beldan@gmail.com wrote:
ATM when receiving a packet the whole buffer is invalidated, this change optimizes this behaviour.
Signed-off-by: Karl Beldan karl.beldan+oss@gmail.com
drivers/net/davinci_emac.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 55461b0..e26e727 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -677,13 +677,13 @@ static int davinci_eth_rcv_packet (struct eth_device *dev) printf ("WARN: emac_rcv_pkt: Error in packet\n"); } else { unsigned long tmp = (unsigned long)rx_curr_desc->buffer;
unsigned short len =
rx_curr_desc->buff_off_len & 0xffff;
invalidate_dcache_range(tmp, round_up(tmp + EMAC_RXBUF_SIZE,
ARCH_DMA_MINALIGN));
net_process_received_packet(
rx_curr_desc->buffer,
rx_curr_desc->buff_off_len & 0xffff);
ret = rx_curr_desc->buff_off_len & 0xffff;
invalidate_dcache_range(tmp, round_up(tmp + len,
ARCH_DMA_MINALIGN));
Here again, please use tmp + ALIGN(len, PKTALIGN)
net_process_received_packet(rx_curr_desc->buffer, len);
ret = len; }
Thanks, -Joe