Skip to content
Snippets Groups Projects
Commit ed909de5 authored by André Przywara's avatar André Przywara Committed by Jagan Teki
Browse files

net: sun8i_emac: Reduce cache maintenance on TX descriptor init


When we initialise the TX descriptors, there is no need yet to clean
them all to memory, as they don't contain any data yet. Later we will
touch and clean each descriptor anyway.
However we tell the MAC about the beginning of the chain, so we have to
clean at least the first descriptor, to make it clear that this is empty
and there are no packets to transfer yet.

Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
Acked-by: default avatarMaxime Ripard <mripard@kernel.org>
Tested-by: Amit Singh Tomar <amittomer25@gmail.com> # Pine64+
Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
parent 69853123
No related branches found
No related tags found
No related merge requests found
......@@ -431,10 +431,10 @@ static void tx_descs_init(struct emac_eth_dev *priv)
/* Correcting the last pointer of the chain */
desc_p->next = (uintptr_t)&desc_table_p[0];
/* Flush all Tx buffer descriptors */
/* Flush the first TX buffer descriptor we will tell the MAC about. */
flush_dcache_range((uintptr_t)priv->tx_chain,
(uintptr_t)priv->tx_chain +
sizeof(priv->tx_chain));
sizeof(priv->tx_chain[0]));
writel((uintptr_t)&desc_table_p[0], priv->mac_reg + EMAC_TX_DMA_DESC);
priv->tx_currdescnum = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment