static int
mtnic_alloc_aligned(unsigned int size, void **va, unsigned long *pa, unsigned int alignment)
{
- *va = alloc_memblock(size, alignment);
+ *va = malloc_dma(size, alignment);
if (!*va) {
return -EADDRINUSE;
}
(void *)&ring->db, &ring->db_dma, 32);
if (err) {
DBG("Failed allocating Rx ring doorbell record\n");
- free_memblock(ring->buf, ring->buf_size);
+ free_dma(ring->buf, ring->buf_size);
return -EADDRINUSE;
}
err = mtnic_alloc_iobuf ( priv, ring, DEF_IOBUF_SIZE );
if (err) {
DBG("ERROR Allocating io buffer\n");
- free_memblock(ring->buf, ring->buf_size);
+ free_dma(ring->buf, ring->buf_size);
return -EADDRINUSE;
}
priv->mtnic->fw.txcq_db_offset, PAGE_SIZE);
if (!ring->txcq_db) {
DBG("Couldn't map txcq doorbell, aborting...\n");
- free_memblock(ring->buf, ring->buf_size);
+ free_dma(ring->buf, ring->buf_size);
return -EADDRINUSE;
}
}
(void *)&cq->buf, &cq->dma, PAGE_SIZE);
if (err) {
DBG("Failed allocating CQ buffer\n");
- free_memblock(cq->db, sizeof(struct mtnic_cq_db_record));
+ free_dma(cq->db, sizeof(struct mtnic_cq_db_record));
return -EADDRINUSE;
}
memset(cq->buf, 0, cq->buf_size);
return 0;
cq1_error:
- free_memblock(priv->cq[1].buf, priv->cq[1].buf_size);
- free_memblock(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[1].buf, priv->cq[1].buf_size);
+ free_dma(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
rx_error:
- free_memblock(priv->rx_ring.buf, priv->rx_ring.buf_size);
- free_memblock(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->rx_ring.buf, priv->rx_ring.buf_size);
+ free_dma(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
mtnic_free_io_buffers(&priv->rx_ring);
cq0_error:
- free_memblock(priv->cq[0].buf, priv->cq[0].buf_size);
- free_memblock(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[0].buf, priv->cq[0].buf_size);
+ free_dma(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
return -EADDRINUSE;
}
eq_error:
iounmap(mtnic->eq_db);
- free_memblock(mtnic->eq.buf, mtnic->eq.buf_size);
+ free_dma(mtnic->eq.buf, mtnic->eq.buf_size);
map_extra_error:
ufree((intptr_t)mtnic->fw.extra_pages.buf);
map_fw_error:
cmd_error:
iounmap(mtnic->hcr);
- free_memblock(mtnic->cmd.buf, PAGE_SIZE);
+ free_dma(mtnic->cmd.buf, PAGE_SIZE);
return -EADDRINUSE;
}
allocation_error:
- free_memblock(priv->tx_ring.buf, priv->tx_ring.buf_size);
+ free_dma(priv->tx_ring.buf, priv->tx_ring.buf_size);
iounmap(priv->tx_ring.txcq_db);
- free_memblock(priv->cq[1].buf, priv->cq[1].buf_size);
- free_memblock(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
- free_memblock(priv->rx_ring.buf, priv->rx_ring.buf_size);
- free_memblock(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
- free_memblock(priv->cq[0].buf, priv->cq[0].buf_size);
- free_memblock(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[1].buf, priv->cq[1].buf_size);
+ free_dma(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->rx_ring.buf, priv->rx_ring.buf_size);
+ free_dma(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[0].buf, priv->cq[0].buf_size);
+ free_dma(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
mtnic_free_io_buffers(&priv->rx_ring);
mdelay ( 10 );
/* free memory */
- free_memblock(priv->tx_ring.buf, priv->tx_ring.buf_size);
+ free_dma(priv->tx_ring.buf, priv->tx_ring.buf_size);
iounmap(priv->tx_ring.txcq_db);
- free_memblock(priv->cq[1].buf, priv->cq[1].buf_size);
- free_memblock(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
- free_memblock(priv->rx_ring.buf, priv->rx_ring.buf_size);
- free_memblock(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
- free_memblock(priv->cq[0].buf, priv->cq[0].buf_size);
- free_memblock(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[1].buf, priv->cq[1].buf_size);
+ free_dma(priv->cq[1].db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->rx_ring.buf, priv->rx_ring.buf_size);
+ free_dma(priv->rx_ring.db, sizeof(struct mtnic_cq_db_record));
+ free_dma(priv->cq[0].buf, priv->cq[0].buf_size);
+ free_dma(priv->cq[0].db, sizeof(struct mtnic_cq_db_record));
/* Free RX buffers */
mtnic_free_io_buffers(&priv->rx_ring);
DBG("Error Releasing resources %d\n", err);
}
- free_memblock(mtnic->cmd.buf, PAGE_SIZE);
+ free_dma(mtnic->cmd.buf, PAGE_SIZE);
iounmap(mtnic->hcr);
ufree((intptr_t)mtnic->fw.fw_pages.buf);
ufree((intptr_t)mtnic->fw.extra_pages.buf);
- free_memblock(mtnic->eq.buf, mtnic->eq.buf_size);
+ free_dma(mtnic->eq.buf, mtnic->eq.buf_size);
iounmap(mtnic->eq_db);