aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/xilinx
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/xilinx
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/xilinx')
-rw-r--r--drivers/net/ethernet/xilinx/ll_temac_main.c6
-rw-r--r--drivers/net/ethernet/xilinx/xilinx_axienet_main.c6
2 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
index a64a6d74a5c8..4a7c60f4c83d 100644
--- a/drivers/net/ethernet/xilinx/ll_temac_main.c
+++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
@@ -245,23 +245,21 @@ static int temac_dma_bd_init(struct net_device *ndev)
245 /* returns a virtual address and a physical address. */ 245 /* returns a virtual address and a physical address. */
246 lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent, 246 lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent,
247 sizeof(*lp->tx_bd_v) * TX_BD_NUM, 247 sizeof(*lp->tx_bd_v) * TX_BD_NUM,
248 &lp->tx_bd_p, GFP_KERNEL); 248 &lp->tx_bd_p, GFP_KERNEL | __GFP_ZERO);
249 if (!lp->tx_bd_v) 249 if (!lp->tx_bd_v)
250 goto out; 250 goto out;
251 251
252 lp->rx_bd_v = dma_alloc_coherent(ndev->dev.parent, 252 lp->rx_bd_v = dma_alloc_coherent(ndev->dev.parent,
253 sizeof(*lp->rx_bd_v) * RX_BD_NUM, 253 sizeof(*lp->rx_bd_v) * RX_BD_NUM,
254 &lp->rx_bd_p, GFP_KERNEL); 254 &lp->rx_bd_p, GFP_KERNEL | __GFP_ZERO);
255 if (!lp->rx_bd_v) 255 if (!lp->rx_bd_v)
256 goto out; 256 goto out;
257 257
258 memset(lp->tx_bd_v, 0, sizeof(*lp->tx_bd_v) * TX_BD_NUM);
259 for (i = 0; i < TX_BD_NUM; i++) { 258 for (i = 0; i < TX_BD_NUM; i++) {
260 lp->tx_bd_v[i].next = lp->tx_bd_p + 259 lp->tx_bd_v[i].next = lp->tx_bd_p +
261 sizeof(*lp->tx_bd_v) * ((i + 1) % TX_BD_NUM); 260 sizeof(*lp->tx_bd_v) * ((i + 1) % TX_BD_NUM);
262 } 261 }
263 262
264 memset(lp->rx_bd_v, 0, sizeof(*lp->rx_bd_v) * RX_BD_NUM);
265 for (i = 0; i < RX_BD_NUM; i++) { 263 for (i = 0; i < RX_BD_NUM; i++) {
266 lp->rx_bd_v[i].next = lp->rx_bd_p + 264 lp->rx_bd_v[i].next = lp->rx_bd_p +
267 sizeof(*lp->rx_bd_v) * ((i + 1) % RX_BD_NUM); 265 sizeof(*lp->rx_bd_v) * ((i + 1) % RX_BD_NUM);
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index c238f980e28e..24748e8367a1 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -204,25 +204,23 @@ static int axienet_dma_bd_init(struct net_device *ndev)
204 lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent, 204 lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent,
205 sizeof(*lp->tx_bd_v) * TX_BD_NUM, 205 sizeof(*lp->tx_bd_v) * TX_BD_NUM,
206 &lp->tx_bd_p, 206 &lp->tx_bd_p,
207 GFP_KERNEL); 207 GFP_KERNEL | __GFP_ZERO);
208 if (!lp->tx_bd_v) 208 if (!lp->tx_bd_v)
209 goto out; 209 goto out;
210 210
211 lp->rx_bd_v = dma_alloc_coherent(ndev->dev.parent, 211 lp->rx_bd_v = dma_alloc_coherent(ndev->dev.parent,
212 sizeof(*lp->rx_bd_v) * RX_BD_NUM, 212 sizeof(*lp->rx_bd_v) * RX_BD_NUM,
213 &lp->rx_bd_p, 213 &lp->rx_bd_p,
214 GFP_KERNEL); 214 GFP_KERNEL | __GFP_ZERO);
215 if (!lp->rx_bd_v) 215 if (!lp->rx_bd_v)
216 goto out; 216 goto out;
217 217
218 memset(lp->tx_bd_v, 0, sizeof(*lp->tx_bd_v) * TX_BD_NUM);
219 for (i = 0; i < TX_BD_NUM; i++) { 218 for (i = 0; i < TX_BD_NUM; i++) {
220 lp->tx_bd_v[i].next = lp->tx_bd_p + 219 lp->tx_bd_v[i].next = lp->tx_bd_p +
221 sizeof(*lp->tx_bd_v) * 220 sizeof(*lp->tx_bd_v) *
222 ((i + 1) % TX_BD_NUM); 221 ((i + 1) % TX_BD_NUM);
223 } 222 }
224 223
225 memset(lp->rx_bd_v, 0, sizeof(*lp->rx_bd_v) * RX_BD_NUM);
226 for (i = 0; i < RX_BD_NUM; i++) { 224 for (i = 0; i < RX_BD_NUM; i++) {
227 lp->rx_bd_v[i].next = lp->rx_bd_p + 225 lp->rx_bd_v[i].next = lp->rx_bd_p +
228 sizeof(*lp->rx_bd_v) * 226 sizeof(*lp->rx_bd_v) *