aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/oki-semi/pch_gbe
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2013-03-15 03:23:58 -0400
committerDavid S. Miller <davem@davemloft.net>2013-03-17 12:50:24 -0400
commit1f9061d27d3d2028805549c4a306324a48209057 (patch)
tree7cfb1a92933f5a9bba6745b68b6a964d9e757ef9 /drivers/net/ethernet/oki-semi/pch_gbe
parent7f9421c264f8a6e6137027a45ae576517f66fa56 (diff)
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>
Diffstat (limited to 'drivers/net/ethernet/oki-semi/pch_gbe')
-rw-r--r--drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
index 4bdca9ec6a1a..abd5fba09b85 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
@@ -1470,11 +1470,10 @@ pch_gbe_alloc_rx_buffers_pool(struct pch_gbe_adapter *adapter,
1470 size = rx_ring->count * bufsz + PCH_GBE_RESERVE_MEMORY; 1470 size = rx_ring->count * bufsz + PCH_GBE_RESERVE_MEMORY;
1471 rx_ring->rx_buff_pool = dma_alloc_coherent(&pdev->dev, size, 1471 rx_ring->rx_buff_pool = dma_alloc_coherent(&pdev->dev, size,
1472 &rx_ring->rx_buff_pool_logic, 1472 &rx_ring->rx_buff_pool_logic,
1473 GFP_KERNEL); 1473 GFP_KERNEL | __GFP_ZERO);
1474 if (!rx_ring->rx_buff_pool) 1474 if (!rx_ring->rx_buff_pool)
1475 return -ENOMEM; 1475 return -ENOMEM;
1476 1476
1477 memset(rx_ring->rx_buff_pool, 0, size);
1478 rx_ring->rx_buff_pool_size = size; 1477 rx_ring->rx_buff_pool_size = size;
1479 for (i = 0; i < rx_ring->count; i++) { 1478 for (i = 0; i < rx_ring->count; i++) {
1480 buffer_info = &rx_ring->buffer_info[i]; 1479 buffer_info = &rx_ring->buffer_info[i];
@@ -1773,12 +1772,12 @@ int pch_gbe_setup_tx_resources(struct pch_gbe_adapter *adapter,
1773 tx_ring->size = tx_ring->count * (int)sizeof(struct pch_gbe_tx_desc); 1772 tx_ring->size = tx_ring->count * (int)sizeof(struct pch_gbe_tx_desc);
1774 1773
1775 tx_ring->desc = dma_alloc_coherent(&pdev->dev, tx_ring->size, 1774 tx_ring->desc = dma_alloc_coherent(&pdev->dev, tx_ring->size,
1776 &tx_ring->dma, GFP_KERNEL); 1775 &tx_ring->dma,
1776 GFP_KERNEL | __GFP_ZERO);
1777 if (!tx_ring->desc) { 1777 if (!tx_ring->desc) {
1778 vfree(tx_ring->buffer_info); 1778 vfree(tx_ring->buffer_info);
1779 return -ENOMEM; 1779 return -ENOMEM;
1780 } 1780 }
1781 memset(tx_ring->desc, 0, tx_ring->size);
1782 1781
1783 tx_ring->next_to_use = 0; 1782 tx_ring->next_to_use = 0;
1784 tx_ring->next_to_clean = 0; 1783 tx_ring->next_to_clean = 0;
@@ -1818,12 +1817,12 @@ int pch_gbe_setup_rx_resources(struct pch_gbe_adapter *adapter,
1818 1817
1819 rx_ring->size = rx_ring->count * (int)sizeof(struct pch_gbe_rx_desc); 1818 rx_ring->size = rx_ring->count * (int)sizeof(struct pch_gbe_rx_desc);
1820 rx_ring->desc = dma_alloc_coherent(&pdev->dev, rx_ring->size, 1819 rx_ring->desc = dma_alloc_coherent(&pdev->dev, rx_ring->size,
1821 &rx_ring->dma, GFP_KERNEL); 1820 &rx_ring->dma,
1821 GFP_KERNEL | __GFP_ZERO);
1822 if (!rx_ring->desc) { 1822 if (!rx_ring->desc) {
1823 vfree(rx_ring->buffer_info); 1823 vfree(rx_ring->buffer_info);
1824 return -ENOMEM; 1824 return -ENOMEM;
1825 } 1825 }
1826 memset(rx_ring->desc, 0, rx_ring->size);
1827 rx_ring->next_to_clean = 0; 1826 rx_ring->next_to_clean = 0;
1828 rx_ring->next_to_use = 0; 1827 rx_ring->next_to_use = 0;
1829 for (desNo = 0; desNo < rx_ring->count; desNo++) { 1828 for (desNo = 0; desNo < rx_ring->count; desNo++) {