提交 e343d55c 编写于 作者: M Michael Chan 提交者: David S. Miller

[BNX2]: Add ring constants.

Define the various ring constants to make the code cleaner.
Signed-off-by: NMichael Chan <mchan@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 f5f97b57
...@@ -468,8 +468,7 @@ bnx2_free_mem(struct bnx2 *bp) ...@@ -468,8 +468,7 @@ bnx2_free_mem(struct bnx2 *bp)
bp->stats_blk = NULL; bp->stats_blk = NULL;
} }
if (bp->tx_desc_ring) { if (bp->tx_desc_ring) {
pci_free_consistent(bp->pdev, pci_free_consistent(bp->pdev, TXBD_RING_SIZE,
sizeof(struct tx_bd) * TX_DESC_CNT,
bp->tx_desc_ring, bp->tx_desc_mapping); bp->tx_desc_ring, bp->tx_desc_mapping);
bp->tx_desc_ring = NULL; bp->tx_desc_ring = NULL;
} }
...@@ -477,8 +476,7 @@ bnx2_free_mem(struct bnx2 *bp) ...@@ -477,8 +476,7 @@ bnx2_free_mem(struct bnx2 *bp)
bp->tx_buf_ring = NULL; bp->tx_buf_ring = NULL;
for (i = 0; i < bp->rx_max_ring; i++) { for (i = 0; i < bp->rx_max_ring; i++) {
if (bp->rx_desc_ring[i]) if (bp->rx_desc_ring[i])
pci_free_consistent(bp->pdev, pci_free_consistent(bp->pdev, RXBD_RING_SIZE,
sizeof(struct rx_bd) * RX_DESC_CNT,
bp->rx_desc_ring[i], bp->rx_desc_ring[i],
bp->rx_desc_mapping[i]); bp->rx_desc_mapping[i]);
bp->rx_desc_ring[i] = NULL; bp->rx_desc_ring[i] = NULL;
...@@ -492,30 +490,24 @@ bnx2_alloc_mem(struct bnx2 *bp) ...@@ -492,30 +490,24 @@ bnx2_alloc_mem(struct bnx2 *bp)
{ {
int i, status_blk_size; int i, status_blk_size;
bp->tx_buf_ring = kzalloc(sizeof(struct sw_bd) * TX_DESC_CNT, bp->tx_buf_ring = kzalloc(SW_TXBD_RING_SIZE, GFP_KERNEL);
GFP_KERNEL);
if (bp->tx_buf_ring == NULL) if (bp->tx_buf_ring == NULL)
return -ENOMEM; return -ENOMEM;
bp->tx_desc_ring = pci_alloc_consistent(bp->pdev, bp->tx_desc_ring = pci_alloc_consistent(bp->pdev, TXBD_RING_SIZE,
sizeof(struct tx_bd) *
TX_DESC_CNT,
&bp->tx_desc_mapping); &bp->tx_desc_mapping);
if (bp->tx_desc_ring == NULL) if (bp->tx_desc_ring == NULL)
goto alloc_mem_err; goto alloc_mem_err;
bp->rx_buf_ring = vmalloc(sizeof(struct sw_bd) * RX_DESC_CNT * bp->rx_buf_ring = vmalloc(SW_RXBD_RING_SIZE * bp->rx_max_ring);
bp->rx_max_ring);
if (bp->rx_buf_ring == NULL) if (bp->rx_buf_ring == NULL)
goto alloc_mem_err; goto alloc_mem_err;
memset(bp->rx_buf_ring, 0, sizeof(struct sw_bd) * RX_DESC_CNT * memset(bp->rx_buf_ring, 0, SW_RXBD_RING_SIZE * bp->rx_max_ring);
bp->rx_max_ring);
for (i = 0; i < bp->rx_max_ring; i++) { for (i = 0; i < bp->rx_max_ring; i++) {
bp->rx_desc_ring[i] = bp->rx_desc_ring[i] =
pci_alloc_consistent(bp->pdev, pci_alloc_consistent(bp->pdev, RXBD_RING_SIZE,
sizeof(struct rx_bd) * RX_DESC_CNT,
&bp->rx_desc_mapping[i]); &bp->rx_desc_mapping[i]);
if (bp->rx_desc_ring[i] == NULL) if (bp->rx_desc_ring[i] == NULL)
goto alloc_mem_err; goto alloc_mem_err;
......
...@@ -6408,6 +6408,11 @@ struct sw_bd { ...@@ -6408,6 +6408,11 @@ struct sw_bd {
DECLARE_PCI_UNMAP_ADDR(mapping) DECLARE_PCI_UNMAP_ADDR(mapping)
}; };
#define SW_RXBD_RING_SIZE (sizeof(struct sw_bd) * RX_DESC_CNT)
#define RXBD_RING_SIZE (sizeof(struct rx_bd) * RX_DESC_CNT)
#define SW_TXBD_RING_SIZE (sizeof(struct sw_bd) * TX_DESC_CNT)
#define TXBD_RING_SIZE (sizeof(struct tx_bd) * TX_DESC_CNT)
/* Buffered flash (Atmel: AT45DB011B) specific information */ /* Buffered flash (Atmel: AT45DB011B) specific information */
#define SEEPROM_PAGE_BITS 2 #define SEEPROM_PAGE_BITS 2
#define SEEPROM_PHY_PAGE_SIZE (1 << SEEPROM_PAGE_BITS) #define SEEPROM_PHY_PAGE_SIZE (1 << SEEPROM_PAGE_BITS)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册