On 3/23/20 1:19 PM, Ramon Fried wrote: > On Mon, Mar 23, 2020 at 2:00 PM Marek Vasut <[email protected]> wrote: >> >> On 3/23/20 8:09 AM, Ramon Fried wrote: >>> On Mon, Mar 23, 2020 at 3:45 AM Marek Vasut <[email protected]> wrote: >>>> >>>> The DMA may attempt to write a DMA descriptor in the ring while it is >>>> being updated. By writing the DMA descriptor buffer address to 0, it >>>> is assured the DMA will not use such a buffer and the buffer can be >>>> updated without any interference. >>>> >>>> Signed-off-by: Marek Vasut <[email protected]> >>>> Cc: Joe Hershberger <[email protected]> >>>> Cc: Patrice Chotard <[email protected]> >>>> Cc: Patrick Delaunay <[email protected]> >>>> Cc: Ramon Fried <[email protected]> >>>> Cc: Stephen Warren <[email protected]> >>>> --- >>>> drivers/net/dwc_eth_qos.c | 4 +++- >>>> 1 file changed, 3 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c >>>> index 7dadb10fe7..c86b9d59a5 100644 >>>> --- a/drivers/net/dwc_eth_qos.c >>>> +++ b/drivers/net/dwc_eth_qos.c >>>> @@ -1431,8 +1431,10 @@ static int eqos_free_pkt(struct udevice *dev, uchar >>>> *packet, int length) >>>> >>>> rx_desc = &(eqos->rx_descs[eqos->rx_desc_idx]); >>>> >>>> + rx_desc->des0 = 0; >>>> + mb(); >>> Better use wmb() for better understanding your goal here ? >> >> The driver uses mb() all over the place, so I'm just keeping it >> consistent here. >> >> But I wonder whether we even need all those barriers in this driver at all. > In that case that's fine :)
I mean, I am asking about the need for those barriers here, that's my question here.

