drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0)
Reduce the number of calls required to alloc a zeroed block of memory. Trivially reduces overall object size. Other changes around these removals o Neaten call argument alignment o Remove an unnecessary OOM message after dma_alloc_coherent failure o Remove unnecessary gfp_t stack variable Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7f9421c264
commit
1f9061d27d
@@ -584,12 +584,14 @@ static int init_hash_table(struct pxa168_eth_private *pep)
|
||||
*/
|
||||
if (pep->htpr == NULL) {
|
||||
pep->htpr = dma_alloc_coherent(pep->dev->dev.parent,
|
||||
HASH_ADDR_TABLE_SIZE,
|
||||
&pep->htpr_dma, GFP_KERNEL);
|
||||
HASH_ADDR_TABLE_SIZE,
|
||||
&pep->htpr_dma,
|
||||
GFP_KERNEL | __GFP_ZERO);
|
||||
if (pep->htpr == NULL)
|
||||
return -ENOMEM;
|
||||
} else {
|
||||
memset(pep->htpr, 0, HASH_ADDR_TABLE_SIZE);
|
||||
}
|
||||
memset(pep->htpr, 0, HASH_ADDR_TABLE_SIZE);
|
||||
wrl(pep, HTPR, pep->htpr_dma);
|
||||
return 0;
|
||||
}
|
||||
@@ -1023,11 +1025,11 @@ static int rxq_init(struct net_device *dev)
|
||||
size = pep->rx_ring_size * sizeof(struct rx_desc);
|
||||
pep->rx_desc_area_size = size;
|
||||
pep->p_rx_desc_area = dma_alloc_coherent(pep->dev->dev.parent, size,
|
||||
&pep->rx_desc_dma, GFP_KERNEL);
|
||||
&pep->rx_desc_dma,
|
||||
GFP_KERNEL | __GFP_ZERO);
|
||||
if (!pep->p_rx_desc_area)
|
||||
goto out;
|
||||
|
||||
memset((void *)pep->p_rx_desc_area, 0, size);
|
||||
/* initialize the next_desc_ptr links in the Rx descriptors ring */
|
||||
p_rx_desc = pep->p_rx_desc_area;
|
||||
for (i = 0; i < rx_desc_num; i++) {
|
||||
@@ -1084,10 +1086,10 @@ static int txq_init(struct net_device *dev)
|
||||
size = pep->tx_ring_size * sizeof(struct tx_desc);
|
||||
pep->tx_desc_area_size = size;
|
||||
pep->p_tx_desc_area = dma_alloc_coherent(pep->dev->dev.parent, size,
|
||||
&pep->tx_desc_dma, GFP_KERNEL);
|
||||
&pep->tx_desc_dma,
|
||||
GFP_KERNEL | __GFP_ZERO);
|
||||
if (!pep->p_tx_desc_area)
|
||||
goto out;
|
||||
memset((void *)pep->p_tx_desc_area, 0, pep->tx_desc_area_size);
|
||||
/* Initialize the next_desc_ptr links in the Tx descriptors ring */
|
||||
p_tx_desc = pep->p_tx_desc_area;
|
||||
for (i = 0; i < tx_desc_num; i++) {
|
||||
|
Reference in New Issue
Block a user