On Fri, Aug 23, 2019 at 1:37 PM Stefan Roese <s...@denx.de> wrote: > > Hi Bin, > > On 23.08.19 11:22, Bin Meng wrote: > > On Fri, Aug 23, 2019 at 5:17 PM Bin Meng <bmeng...@gmail.com> wrote: > >> > >> Hi Stefan, > >> > >> On Fri, Aug 23, 2019 at 5:02 PM Stefan Roese <s...@denx.de> wrote: > >>> > >>> With commit c6d07bf440bc ("net/macb: increase RX buffer size for GEM") > >>> ethernet support does not work any more with d-cache enabled on the > >>> AT91SAM. The reason is, that MACB_RX_BUFFER_SIZE was changed from 4096 > >>> to 128 but this change was not refected in the rx_buffer flush and > >>> invalidate functions, as these also use this macro. > >>> > >>> This patch now fixes this by calculating the rx buffer size correctly > >>> again in those functions. With this change, ethernet works again > >>> reliably on my AT91SAM board. > >>> > >>> Signed-off-by: Stefan Roese <s...@denx.de> > >>> Cc: Ramon Fried <rfried....@gmail.com> > >>> Cc: Eugen Hristev <eugen.hris...@microchip.com> > >>> Cc: Anup Patel <anup.pa...@wdc.com> > >>> Cc: Bin Meng <bmeng...@gmail.com> > >>> Cc: Joe Hershberger <joe.hershber...@ni.com> > >>> --- > >>> drivers/net/macb.c | 6 ++++-- > >>> 1 file changed, 4 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/drivers/net/macb.c b/drivers/net/macb.c > >>> index c99cf663a4..fca380d012 100644 > >>> --- a/drivers/net/macb.c > >>> +++ b/drivers/net/macb.c > >>> @@ -296,13 +296,15 @@ static inline void macb_flush_ring_desc(struct > >>> macb_device *macb, bool rx) > >>> static inline void macb_flush_rx_buffer(struct macb_device *macb) > >>> { > >>> flush_dcache_range(macb->rx_buffer_dma, macb->rx_buffer_dma + > >>> - ALIGN(MACB_RX_BUFFER_SIZE, PKTALIGN)); > >>> + ALIGN(MACB_RX_BUFFER_SIZE * MACB_RX_RING_SIZE, > >>> + PKTALIGN)); > >> > >> This looks wrong to me. > >> > >> Shouldn't it be: > >> > >> flush_dcache_range(macb->rx_buffer_dma, macb->rx_buffer_dma + > >> ALIGN(macb->rx_buffer_size, PKTALIGN)); > > > > Ah, for MACB, looks it should be "MACB_RX_BUFFER_SIZE * > > MACB_RX_RING_SIZE", but for GEM, I am not sure. > > > > Should it be: > > > > flush_dcache_range(macb->rx_buffer_dma, macb->rx_buffer_dma + > > ALIGN(macb->rx_buffer_size * > > MACB_RX_RING_SIZE, PKTALIGN)); > > Yes, this looks correct. v2 will follow soon. > > Thanks, > Stefan
Thanks Stefan, Can you fix your commit message to show: Fixes:... You can use the following bash alias to generate the line: (pass c6d07bf440bc as argument) alias gfixes='git --no-pager show -s --abbrev-commit --abbrev=12 --pretty=format:"Fixes: %h (\"%s\")%n"' _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot