net: dwc_eth_qos: Invalidate RX descriptor before reading
authorMarek Vasut <marex@denx.de>
Mon, 23 Mar 2020 01:09:21 +0000 (02:09 +0100)
committermarex <marex@desktop.lan>
Fri, 1 May 2020 10:35:21 +0000 (12:35 +0200)
commit738ee270fe17ea9e48fee8823eb356ed03656e7c
tree3dcb924e9564d30963a02d5b3fdbc4ee548aae79
parentdd90c2e1ea0a7abdfa501e604523c23d6f77ffdd
net: dwc_eth_qos: Invalidate RX descriptor before reading

The current code polls the RX desciptor ring for new packets by reading
the RX descriptor status. This works by accident, as the RX descriptors
are often in non-cacheable memory. However, the driver does support use
of RX descriptors in cacheable memory.

This patch adds a missing RX descriptor invalidation, which assures the
CPU will read a fresh copy of the RX descriptor instead of a cached one.

Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
drivers/net/dwc_eth_qos.c