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.

Reply via email to