Commit 8d5726c4 authored by Eilon Greenstein's avatar Eilon Greenstein Committed by David S. Miller

bnx2x: Manual setting for MRRS

Allows better debug capabilities if the user wants to force an MRRS value
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 052a38e0
...@@ -864,6 +864,7 @@ struct bnx2x { ...@@ -864,6 +864,7 @@ struct bnx2x {
int pm_cap; int pm_cap;
int pcie_cap; int pcie_cap;
int mrrs;
struct delayed_work sp_task; struct delayed_work sp_task;
struct work_struct reset_task; struct work_struct reset_task;
......
...@@ -572,7 +572,12 @@ static void bnx2x_init_pxp(struct bnx2x *bp) ...@@ -572,7 +572,12 @@ static void bnx2x_init_pxp(struct bnx2x *bp)
bp->pcie_cap + PCI_EXP_DEVCTL, &devctl); bp->pcie_cap + PCI_EXP_DEVCTL, &devctl);
DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl); DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl);
w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5); w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5);
if (bp->mrrs == -1)
r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12); r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12);
else {
DP(NETIF_MSG_HW, "force read order to %d\n", bp->mrrs);
r_order = bp->mrrs;
}
if (r_order > MAX_RD_ORD) { if (r_order > MAX_RD_ORD) {
DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n",
......
...@@ -88,6 +88,11 @@ module_param(int_mode, int, 0); ...@@ -88,6 +88,11 @@ module_param(int_mode, int, 0);
MODULE_PARM_DESC(int_mode, " Force interrupt mode (1 INT#x; 2 MSI)"); MODULE_PARM_DESC(int_mode, " Force interrupt mode (1 INT#x; 2 MSI)");
module_param(poll, int, 0); module_param(poll, int, 0);
static int mrrs = -1;
module_param(mrrs, int, 0);
MODULE_PARM_DESC(mrrs, " Force Max Read Req Size (0..3) (for debug)");
module_param(debug, int, 0); module_param(debug, int, 0);
MODULE_PARM_DESC(disable_tpa, "disable the TPA (LRO) feature"); MODULE_PARM_DESC(disable_tpa, "disable the TPA (LRO) feature");
MODULE_PARM_DESC(poll, "use polling (for debug)"); MODULE_PARM_DESC(poll, "use polling (for debug)");
...@@ -8160,6 +8165,7 @@ static int __devinit bnx2x_init_bp(struct bnx2x *bp) ...@@ -8160,6 +8165,7 @@ static int __devinit bnx2x_init_bp(struct bnx2x *bp)
bp->dev->features |= NETIF_F_LRO; bp->dev->features |= NETIF_F_LRO;
} }
bp->mrrs = mrrs;
bp->tx_ring_size = MAX_TX_AVAIL; bp->tx_ring_size = MAX_TX_AVAIL;
bp->rx_ring_size = MAX_RX_AVAIL; bp->rx_ring_size = MAX_RX_AVAIL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment