On 3/23/20 1:50 PM, Ramon Fried wrote: > On Mon, Mar 23, 2020 at 2:22 PM Marek Vasut <ma...@denx.de> wrote: >> >> On 3/23/20 1:19 PM, Ramon Fried wrote: >>> On Mon, Mar 23, 2020 at 2:00 PM Marek Vasut <ma...@denx.de> wrote: >>>> >>>> On 3/23/20 8:09 AM, Ramon Fried wrote: >>>>> On Mon, Mar 23, 2020 at 3:45 AM Marek Vasut <ma...@denx.de> 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 <ma...@denx.de> >>>>>> Cc: Joe Hershberger <joe.hershber...@ni.com> >>>>>> Cc: Patrice Chotard <patrice.chot...@st.com> >>>>>> Cc: Patrick Delaunay <patrick.delau...@st.com> >>>>>> Cc: Ramon Fried <rfried....@gmail.com> >>>>>> Cc: Stephen Warren <swar...@nvidia.com> >>>>>> --- >>>>>> 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. > Better safe than sorry. unless you have the means to test it to see if > it doesn't break.
On STM32MP1, yes. Not on the Tegra platform.