wan/fsl_ucc_hdlc: use dma_zalloc_coherent instead of allocator/memset

Use dma_zalloc_coherent instead of dma_alloc_coherent
followed by memset 0.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
YueHaibing 2018-06-04 21:07:59 +08:00 committed by David S. Miller
parent 828da43224
commit 1f55c2865c
1 changed files with 4 additions and 7 deletions

View File

@ -270,7 +270,7 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
iowrite16be(DEFAULT_HDLC_ADDR, &priv->ucc_pram->haddr4); iowrite16be(DEFAULT_HDLC_ADDR, &priv->ucc_pram->haddr4);
/* Get BD buffer */ /* Get BD buffer */
bd_buffer = dma_alloc_coherent(priv->dev, bd_buffer = dma_zalloc_coherent(priv->dev,
(RX_BD_RING_LEN + TX_BD_RING_LEN) * (RX_BD_RING_LEN + TX_BD_RING_LEN) *
MAX_RX_BUF_LENGTH, MAX_RX_BUF_LENGTH,
&bd_dma_addr, GFP_KERNEL); &bd_dma_addr, GFP_KERNEL);
@ -281,9 +281,6 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
goto free_tiptr; goto free_tiptr;
} }
memset(bd_buffer, 0, (RX_BD_RING_LEN + TX_BD_RING_LEN)
* MAX_RX_BUF_LENGTH);
priv->rx_buffer = bd_buffer; priv->rx_buffer = bd_buffer;
priv->tx_buffer = bd_buffer + RX_BD_RING_LEN * MAX_RX_BUF_LENGTH; priv->tx_buffer = bd_buffer + RX_BD_RING_LEN * MAX_RX_BUF_LENGTH;