Use CPU native page size to determine various ring sizes. This allows
order-0 memory allocations on all systems.

Signed-off-by: Michael Chan <[EMAIL PROTECTED]>


diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 49c09da..7a3d888 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -32,6 +32,7 @@
 #include <asm/irq.h>
 #include <linux/delay.h>
 #include <asm/byteorder.h>
+#include <asm/page.h>
 #include <linux/time.h>
 #include <linux/ethtool.h>
 #include <linux/mii.h>
@@ -3270,13 +3271,13 @@ bnx2_init_chip(struct bnx2 *bp)
        REG_WR(bp, BNX2_MQ_KNL_BYP_WIND_START, val);
        REG_WR(bp, BNX2_MQ_KNL_WIND_END, val);
 
-       val = (BCM_PAGE_BITS - 8) << 24;
+       val = (PAGE_SHIFT - 8) << 24;
        REG_WR(bp, BNX2_RV2P_CONFIG, val);
 
        /* Configure page size. */
        val = REG_RD(bp, BNX2_TBDR_CONFIG);
        val &= ~BNX2_TBDR_CONFIG_PAGE_SIZE;
-       val |= (BCM_PAGE_BITS - 8) << 24 | 0x40;
+       val |= (PAGE_SHIFT - 8) << 24 | 0x40;
        REG_WR(bp, BNX2_TBDR_CONFIG, val);
 
        val = bp->mac_addr[0] +
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index ea1ab06..de2b58c 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -3750,14 +3750,11 @@ struct l2_fhdr {
 #define DMA_READ_CHANS 5
 #define DMA_WRITE_CHANS        3
 
-#define BCM_PAGE_BITS  12
-#define BCM_PAGE_SIZE  (1 << BCM_PAGE_BITS)
-
-#define TX_DESC_CNT  (BCM_PAGE_SIZE / sizeof(struct tx_bd))
+#define TX_DESC_CNT  (PAGE_SIZE / sizeof(struct tx_bd))
 #define MAX_TX_DESC_CNT (TX_DESC_CNT - 1)
 
 #define MAX_RX_RINGS   4
-#define RX_DESC_CNT  (BCM_PAGE_SIZE / sizeof(struct rx_bd))
+#define RX_DESC_CNT  (PAGE_SIZE / sizeof(struct rx_bd))
 #define MAX_RX_DESC_CNT (RX_DESC_CNT - 1)
 #define MAX_TOTAL_RX_DESC_CNT (MAX_RX_DESC_CNT * MAX_RX_RINGS)
 
@@ -3773,7 +3770,7 @@ struct l2_fhdr {
 
 #define RX_RING_IDX(x) ((x) & bp->rx_max_ring_idx)
 
-#define RX_RING(x) (((x) & ~MAX_RX_DESC_CNT) >> 8)
+#define RX_RING(x) (((x) & ~MAX_RX_DESC_CNT) >> (PAGE_SHIFT - 4))
 #define RX_IDX(x) ((x) & MAX_RX_DESC_CNT)
 
 /* Context size. */


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to