[PATCH 4/5] net: ethernet: mediatek: enable rx path by reducing memory barrier
Sergei Shtylyov
sergei.shtylyov at cogentembedded.com
Mon Aug 15 12:06:30 PDT 2016
Hello.
On 08/15/2016 06:03 PM, Sean Wang wrote:
> The patch makes moving wmb() to outside the loop that could help
> rx path handling more faster although that rx descriptors aren't
RX.
> freed for DMA to use as soon as possible, but based on my experiment
> and the result show it still can reach about 943Mbpis tested on the
Shows.
> setup with one port using gigaphy and 256 rx descriptors for
RX.
> DMA to move.
>
> Signed-off-by: Sean Wang <sean.wang at mediatek.com>
> ---
> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index b782330..53e24c1 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -893,14 +893,15 @@ release_desc:
> rxd->rxd2 = RX_DMA_PLEN0(ring->buf_size);
>
> ring->calc_idx = idx;
> - /* make sure that all changes to the dma ring are flushed before
> - * we continue
> - */
> - wmb();
> - mtk_w32(eth, ring->calc_idx, MTK_QRX_CRX_IDX0);
> done++;
> }
>
> + /* make sure that all changes to the dma ring are flushed before
> + * we continue
> + */
Please indent the comment with a tab, like the code after it.
> + wmb();
> + mtk_w32(eth, ring->calc_idx, MTK_QRX_CRX_IDX0);
> +
> if (done < budget)
> mtk_w32(eth, MTK_RX_DONE_INT, MTK_QMTK_INT_STATUS);
>
MBR, Sergei
More information about the Linux-mediatek
mailing list