提交 8b983be5 编写于 作者: J Joe Perches 提交者: Linus Torvalds

staging: use pci_zalloc_consistent

Remove the now unnecessary memset too.
Signed-off-by: NJoe Perches <joe@perches.com>
Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lior Dotan <liodot@gmail.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Cc: Forest Bond <forest@alittletooquiet.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 7c845eb5
...@@ -2065,20 +2065,16 @@ static short rtl8192_alloc_rx_desc_ring(struct net_device *dev) ...@@ -2065,20 +2065,16 @@ static short rtl8192_alloc_rx_desc_ring(struct net_device *dev)
int i, rx_queue_idx; int i, rx_queue_idx;
for (rx_queue_idx = 0; rx_queue_idx < MAX_RX_QUEUE; rx_queue_idx++) { for (rx_queue_idx = 0; rx_queue_idx < MAX_RX_QUEUE; rx_queue_idx++) {
priv->rx_ring[rx_queue_idx] = pci_alloc_consistent(priv->pdev, priv->rx_ring[rx_queue_idx] =
sizeof(*priv->rx_ring[rx_queue_idx]) * pci_zalloc_consistent(priv->pdev,
priv->rxringcount, sizeof(*priv->rx_ring[rx_queue_idx]) * priv->rxringcount,
&priv->rx_ring_dma[rx_queue_idx]); &priv->rx_ring_dma[rx_queue_idx]);
if (!priv->rx_ring[rx_queue_idx] || if (!priv->rx_ring[rx_queue_idx] ||
(unsigned long)priv->rx_ring[rx_queue_idx] & 0xFF) { (unsigned long)priv->rx_ring[rx_queue_idx] & 0xFF) {
RT_TRACE(COMP_ERR, "Cannot allocate RX ring\n"); RT_TRACE(COMP_ERR, "Cannot allocate RX ring\n");
return -ENOMEM; return -ENOMEM;
} }
memset(priv->rx_ring[rx_queue_idx], 0,
sizeof(*priv->rx_ring[rx_queue_idx]) *
priv->rxringcount);
priv->rx_idx[rx_queue_idx] = 0; priv->rx_idx[rx_queue_idx] = 0;
for (i = 0; i < priv->rxringcount; i++) { for (i = 0; i < priv->rxringcount; i++) {
...@@ -2118,14 +2114,13 @@ static int rtl8192_alloc_tx_desc_ring(struct net_device *dev, ...@@ -2118,14 +2114,13 @@ static int rtl8192_alloc_tx_desc_ring(struct net_device *dev,
dma_addr_t dma; dma_addr_t dma;
int i; int i;
ring = pci_alloc_consistent(priv->pdev, sizeof(*ring) * entries, &dma); ring = pci_zalloc_consistent(priv->pdev, sizeof(*ring) * entries, &dma);
if (!ring || (unsigned long)ring & 0xFF) { if (!ring || (unsigned long)ring & 0xFF) {
RT_TRACE(COMP_ERR, "Cannot allocate TX ring (prio = %d)\n", RT_TRACE(COMP_ERR, "Cannot allocate TX ring (prio = %d)\n",
prio); prio);
return -ENOMEM; return -ENOMEM;
} }
memset(ring, 0, sizeof(*ring)*entries);
priv->tx_ring[prio].desc = ring; priv->tx_ring[prio].desc = ring;
priv->tx_ring[prio].dma = dma; priv->tx_ring[prio].dma = dma;
priv->tx_ring[prio].idx = 0; priv->tx_ring[prio].idx = 0;
......
...@@ -1224,10 +1224,10 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1224,10 +1224,10 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
/* alloc tx buffer desc for new trx flow*/ /* alloc tx buffer desc for new trx flow*/
if (rtlpriv->use_new_trx_flow) { if (rtlpriv->use_new_trx_flow) {
buffer_desc = pci_alloc_consistent(rtlpci->pdev, buffer_desc =
sizeof(*buffer_desc) * entries, pci_zalloc_consistent(rtlpci->pdev,
&buffer_desc_dma); sizeof(*buffer_desc) * entries,
&buffer_desc_dma);
if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) { if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
("Cannot allocate TX ring (prio = %d)\n", ("Cannot allocate TX ring (prio = %d)\n",
...@@ -1235,7 +1235,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1235,7 +1235,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
return -ENOMEM; return -ENOMEM;
} }
memset(buffer_desc, 0, sizeof(*buffer_desc) * entries);
rtlpci->tx_ring[prio].buffer_desc = buffer_desc; rtlpci->tx_ring[prio].buffer_desc = buffer_desc;
rtlpci->tx_ring[prio].buffer_desc_dma = buffer_desc_dma; rtlpci->tx_ring[prio].buffer_desc_dma = buffer_desc_dma;
...@@ -1245,16 +1244,14 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1245,16 +1244,14 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
} }
/* alloc dma for this ring */ /* alloc dma for this ring */
desc = pci_alloc_consistent(rtlpci->pdev, desc = pci_zalloc_consistent(rtlpci->pdev, sizeof(*desc) * entries,
sizeof(*desc) * entries, &desc_dma); &desc_dma);
if (!desc || (unsigned long)desc & 0xFF) { if (!desc || (unsigned long)desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
("Cannot allocate TX ring (prio = %d)\n", prio)); ("Cannot allocate TX ring (prio = %d)\n", prio));
return -ENOMEM; return -ENOMEM;
} }
memset(desc, 0, sizeof(*desc) * entries);
rtlpci->tx_ring[prio].desc = desc; rtlpci->tx_ring[prio].desc = desc;
rtlpci->tx_ring[prio].dma = desc_dma; rtlpci->tx_ring[prio].dma = desc_dma;
...@@ -1290,11 +1287,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1290,11 +1287,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
struct rtl_rx_buffer_desc *entry = NULL; struct rtl_rx_buffer_desc *entry = NULL;
/* alloc dma for this ring */ /* alloc dma for this ring */
rtlpci->rx_ring[rxring_idx].buffer_desc = rtlpci->rx_ring[rxring_idx].buffer_desc =
pci_alloc_consistent(rtlpci->pdev, pci_zalloc_consistent(rtlpci->pdev,
sizeof(*rtlpci->rx_ring[rxring_idx]. sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) * rtlpci->rxringcount,
buffer_desc) * &rtlpci->rx_ring[rxring_idx].dma);
rtlpci->rxringcount,
&rtlpci->rx_ring[rxring_idx].dma);
if (!rtlpci->rx_ring[rxring_idx].buffer_desc || if (!rtlpci->rx_ring[rxring_idx].buffer_desc ||
(unsigned long)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) { (unsigned long)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
...@@ -1302,10 +1297,6 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1302,10 +1297,6 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
return -ENOMEM; return -ENOMEM;
} }
memset(rtlpci->rx_ring[rxring_idx].buffer_desc, 0,
sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
rtlpci->rxringcount);
/* init every desc in this ring */ /* init every desc in this ring */
rtlpci->rx_ring[rxring_idx].idx = 0; rtlpci->rx_ring[rxring_idx].idx = 0;
...@@ -1320,19 +1311,15 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1320,19 +1311,15 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
u8 tmp_one = 1; u8 tmp_one = 1;
/* alloc dma for this ring */ /* alloc dma for this ring */
rtlpci->rx_ring[rxring_idx].desc = rtlpci->rx_ring[rxring_idx].desc =
pci_alloc_consistent(rtlpci->pdev, pci_zalloc_consistent(rtlpci->pdev,
sizeof(*rtlpci->rx_ring[rxring_idx]. sizeof(*rtlpci->rx_ring[rxring_idx].desc) * rtlpci->rxringcount,
desc) * rtlpci->rxringcount, &rtlpci->rx_ring[rxring_idx].dma);
&rtlpci->rx_ring[rxring_idx].dma);
if (!rtlpci->rx_ring[rxring_idx].desc || if (!rtlpci->rx_ring[rxring_idx].desc ||
(unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) { (unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
("Cannot allocate RX ring\n")); ("Cannot allocate RX ring\n"));
return -ENOMEM; return -ENOMEM;
} }
memset(rtlpci->rx_ring[rxring_idx].desc, 0,
sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
rtlpci->rxringcount);
/* init every desc in this ring */ /* init every desc in this ring */
rtlpci->rx_ring[rxring_idx].idx = 0; rtlpci->rx_ring[rxring_idx].idx = 0;
......
...@@ -1248,9 +1248,10 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1248,9 +1248,10 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
/* alloc tx buffer desc for new trx flow*/ /* alloc tx buffer desc for new trx flow*/
if (rtlpriv->use_new_trx_flow) { if (rtlpriv->use_new_trx_flow) {
buffer_desc = pci_alloc_consistent(rtlpci->pdev, buffer_desc =
sizeof(*buffer_desc) * entries, pci_zalloc_consistent(rtlpci->pdev,
&buffer_desc_dma); sizeof(*buffer_desc) * entries,
&buffer_desc_dma);
if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) { if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
...@@ -1259,7 +1260,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1259,7 +1260,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
return -ENOMEM; return -ENOMEM;
} }
memset(buffer_desc, 0, sizeof(*buffer_desc) * entries);
rtlpci->tx_ring[prio].buffer_desc = buffer_desc; rtlpci->tx_ring[prio].buffer_desc = buffer_desc;
rtlpci->tx_ring[prio].buffer_desc_dma = buffer_desc_dma; rtlpci->tx_ring[prio].buffer_desc_dma = buffer_desc_dma;
...@@ -1270,8 +1270,8 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1270,8 +1270,8 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
} }
/* alloc dma for this ring */ /* alloc dma for this ring */
desc = pci_alloc_consistent(rtlpci->pdev, desc = pci_zalloc_consistent(rtlpci->pdev, sizeof(*desc) * entries,
sizeof(*desc) * entries, &desc_dma); &desc_dma);
if (!desc || (unsigned long)desc & 0xFF) { if (!desc || (unsigned long)desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
...@@ -1279,7 +1279,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, ...@@ -1279,7 +1279,6 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,
return -ENOMEM; return -ENOMEM;
} }
memset(desc, 0, sizeof(*desc) * entries);
rtlpci->tx_ring[prio].desc = desc; rtlpci->tx_ring[prio].desc = desc;
rtlpci->tx_ring[prio].dma = desc_dma; rtlpci->tx_ring[prio].dma = desc_dma;
...@@ -1316,21 +1315,15 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1316,21 +1315,15 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
struct rtl_rx_buffer_desc *entry = NULL; struct rtl_rx_buffer_desc *entry = NULL;
/* alloc dma for this ring */ /* alloc dma for this ring */
rtlpci->rx_ring[rxring_idx].buffer_desc = rtlpci->rx_ring[rxring_idx].buffer_desc =
pci_alloc_consistent(rtlpci->pdev, pci_zalloc_consistent(rtlpci->pdev,
sizeof(*rtlpci->rx_ring[rxring_idx]. sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) * rtlpci->rxringcount,
buffer_desc) * &rtlpci->rx_ring[rxring_idx].dma);
rtlpci->rxringcount,
&rtlpci->rx_ring[rxring_idx].dma);
if (!rtlpci->rx_ring[rxring_idx].buffer_desc || if (!rtlpci->rx_ring[rxring_idx].buffer_desc ||
(unsigned long)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) { (unsigned long)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, ("Cannot allocate RX ring\n")); RT_TRACE(COMP_ERR, DBG_EMERG, ("Cannot allocate RX ring\n"));
return -ENOMEM; return -ENOMEM;
} }
memset(rtlpci->rx_ring[rxring_idx].buffer_desc, 0,
sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
rtlpci->rxringcount);
/* init every desc in this ring */ /* init every desc in this ring */
rtlpci->rx_ring[rxring_idx].idx = 0; rtlpci->rx_ring[rxring_idx].idx = 0;
for (i = 0; i < rtlpci->rxringcount; i++) { for (i = 0; i < rtlpci->rxringcount; i++) {
...@@ -1344,10 +1337,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1344,10 +1337,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
u8 tmp_one = 1; u8 tmp_one = 1;
/* alloc dma for this ring */ /* alloc dma for this ring */
rtlpci->rx_ring[rxring_idx].desc = rtlpci->rx_ring[rxring_idx].desc =
pci_alloc_consistent(rtlpci->pdev, pci_zalloc_consistent(rtlpci->pdev,
sizeof(*rtlpci->rx_ring[rxring_idx]. sizeof(*rtlpci->rx_ring[rxring_idx].desc) * rtlpci->rxringcount,
desc) * rtlpci->rxringcount, &rtlpci->rx_ring[rxring_idx].dma);
&rtlpci->rx_ring[rxring_idx].dma);
if (!rtlpci->rx_ring[rxring_idx].desc || if (!rtlpci->rx_ring[rxring_idx].desc ||
(unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) { (unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) {
RT_TRACE(COMP_ERR, DBG_EMERG, RT_TRACE(COMP_ERR, DBG_EMERG,
...@@ -1355,10 +1347,6 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) ...@@ -1355,10 +1347,6 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx)
return -ENOMEM; return -ENOMEM;
} }
memset(rtlpci->rx_ring[rxring_idx].desc, 0,
sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
rtlpci->rxringcount);
/* init every desc in this ring */ /* init every desc in this ring */
rtlpci->rx_ring[rxring_idx].idx = 0; rtlpci->rx_ring[rxring_idx].idx = 0;
for (i = 0; i < rtlpci->rxringcount; i++) { for (i = 0; i < rtlpci->rxringcount; i++) {
......
...@@ -1191,18 +1191,15 @@ static int slic_rspqueue_init(struct adapter *adapter) ...@@ -1191,18 +1191,15 @@ static int slic_rspqueue_init(struct adapter *adapter)
rspq->num_pages = SLIC_RSPQ_PAGES_GB; rspq->num_pages = SLIC_RSPQ_PAGES_GB;
for (i = 0; i < rspq->num_pages; i++) { for (i = 0; i < rspq->num_pages; i++) {
rspq->vaddr[i] = pci_alloc_consistent(adapter->pcidev, rspq->vaddr[i] = pci_zalloc_consistent(adapter->pcidev,
PAGE_SIZE, PAGE_SIZE,
&rspq->paddr[i]); &rspq->paddr[i]);
if (!rspq->vaddr[i]) { if (!rspq->vaddr[i]) {
dev_err(&adapter->pcidev->dev, dev_err(&adapter->pcidev->dev,
"pci_alloc_consistent failed\n"); "pci_alloc_consistent failed\n");
slic_rspqueue_free(adapter); slic_rspqueue_free(adapter);
return -ENOMEM; return -ENOMEM;
} }
/* FIXME:
* do we really need this assertions (4K PAGE_SIZE aligned addr)? */
memset(rspq->vaddr[i], 0, PAGE_SIZE);
if (paddrh == 0) { if (paddrh == 0) {
slic_reg32_write(&slic_regs->slic_rbar, slic_reg32_write(&slic_regs->slic_rbar,
......
...@@ -1111,25 +1111,17 @@ static bool device_init_rings(PSDevice pDevice) ...@@ -1111,25 +1111,17 @@ static bool device_init_rings(PSDevice pDevice)
void *vir_pool; void *vir_pool;
/*allocate all RD/TD rings a single pool*/ /*allocate all RD/TD rings a single pool*/
vir_pool = pci_alloc_consistent(pDevice->pcid, vir_pool = pci_zalloc_consistent(pDevice->pcid,
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) + pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) + pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) + pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
pDevice->sOpts.nTxDescs[1] * sizeof(STxDesc), pDevice->sOpts.nTxDescs[1] * sizeof(STxDesc),
&pDevice->pool_dma); &pDevice->pool_dma);
if (vir_pool == NULL) { if (vir_pool == NULL) {
DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s : allocate desc dma memory failed\n", pDevice->dev->name); DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s : allocate desc dma memory failed\n", pDevice->dev->name);
return false; return false;
} }
memset(vir_pool, 0,
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
pDevice->sOpts.nTxDescs[1] * sizeof(STxDesc)
);
pDevice->aRD0Ring = vir_pool; pDevice->aRD0Ring = vir_pool;
pDevice->aRD1Ring = vir_pool + pDevice->aRD1Ring = vir_pool +
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc); pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc);
...@@ -1138,13 +1130,12 @@ static bool device_init_rings(PSDevice pDevice) ...@@ -1138,13 +1130,12 @@ static bool device_init_rings(PSDevice pDevice)
pDevice->rd1_pool_dma = pDevice->rd0_pool_dma + pDevice->rd1_pool_dma = pDevice->rd0_pool_dma +
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc); pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc);
pDevice->tx0_bufs = pci_alloc_consistent(pDevice->pcid, pDevice->tx0_bufs = pci_zalloc_consistent(pDevice->pcid,
pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ + pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ +
pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ + pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ +
CB_BEACON_BUF_SIZE + CB_BEACON_BUF_SIZE +
CB_MAX_BUF_SIZE, CB_MAX_BUF_SIZE,
&pDevice->tx_bufs_dma0); &pDevice->tx_bufs_dma0);
if (pDevice->tx0_bufs == NULL) { if (pDevice->tx0_bufs == NULL) {
DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s: allocate buf dma memory failed\n", pDevice->dev->name); DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s: allocate buf dma memory failed\n", pDevice->dev->name);
pci_free_consistent(pDevice->pcid, pci_free_consistent(pDevice->pcid,
...@@ -1157,13 +1148,6 @@ static bool device_init_rings(PSDevice pDevice) ...@@ -1157,13 +1148,6 @@ static bool device_init_rings(PSDevice pDevice)
return false; return false;
} }
memset(pDevice->tx0_bufs, 0,
pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ +
pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ +
CB_BEACON_BUF_SIZE +
CB_MAX_BUF_SIZE
);
pDevice->td0_pool_dma = pDevice->rd1_pool_dma + pDevice->td0_pool_dma = pDevice->rd1_pool_dma +
pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc); pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册