diff options
| -rw-r--r-- | drivers/net/bnx2x.h | 1 | ||||
| -rw-r--r-- | drivers/net/bnx2x_init.h | 7 | ||||
| -rw-r--r-- | drivers/net/bnx2x_main.c | 6 |
3 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h index 9834a86d8139..891a58ed7591 100644 --- a/drivers/net/bnx2x.h +++ b/drivers/net/bnx2x.h | |||
| @@ -864,6 +864,7 @@ struct bnx2x { | |||
| 864 | 864 | ||
| 865 | int pm_cap; | 865 | int pm_cap; |
| 866 | int pcie_cap; | 866 | int pcie_cap; |
| 867 | int mrrs; | ||
| 867 | 868 | ||
| 868 | struct delayed_work sp_task; | 869 | struct delayed_work sp_task; |
| 869 | struct work_struct reset_task; | 870 | struct work_struct reset_task; |
diff --git a/drivers/net/bnx2x_init.h b/drivers/net/bnx2x_init.h index a6c0b3abba29..961db4916f25 100644 --- a/drivers/net/bnx2x_init.h +++ b/drivers/net/bnx2x_init.h | |||
| @@ -572,7 +572,12 @@ static void bnx2x_init_pxp(struct bnx2x *bp) | |||
| 572 | bp->pcie_cap + PCI_EXP_DEVCTL, &devctl); | 572 | bp->pcie_cap + PCI_EXP_DEVCTL, &devctl); |
| 573 | DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl); | 573 | DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl); |
| 574 | w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5); | 574 | w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5); |
| 575 | r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12); | 575 | if (bp->mrrs == -1) |
| 576 | r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12); | ||
| 577 | else { | ||
| 578 | DP(NETIF_MSG_HW, "force read order to %d\n", bp->mrrs); | ||
| 579 | r_order = bp->mrrs; | ||
| 580 | } | ||
| 576 | 581 | ||
| 577 | if (r_order > MAX_RD_ORD) { | 582 | if (r_order > MAX_RD_ORD) { |
| 578 | DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", | 583 | DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", |
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 60a4e94e6840..2e4d64df66f5 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
| @@ -88,6 +88,11 @@ module_param(int_mode, int, 0); | |||
| 88 | MODULE_PARM_DESC(int_mode, " Force interrupt mode (1 INT#x; 2 MSI)"); | 88 | MODULE_PARM_DESC(int_mode, " Force interrupt mode (1 INT#x; 2 MSI)"); |
| 89 | 89 | ||
| 90 | module_param(poll, int, 0); | 90 | module_param(poll, int, 0); |
| 91 | |||
| 92 | static int mrrs = -1; | ||
| 93 | module_param(mrrs, int, 0); | ||
| 94 | MODULE_PARM_DESC(mrrs, " Force Max Read Req Size (0..3) (for debug)"); | ||
| 95 | |||
| 91 | module_param(debug, int, 0); | 96 | module_param(debug, int, 0); |
| 92 | MODULE_PARM_DESC(disable_tpa, "disable the TPA (LRO) feature"); | 97 | MODULE_PARM_DESC(disable_tpa, "disable the TPA (LRO) feature"); |
| 93 | MODULE_PARM_DESC(poll, "use polling (for debug)"); | 98 | MODULE_PARM_DESC(poll, "use polling (for debug)"); |
| @@ -8160,6 +8165,7 @@ static int __devinit bnx2x_init_bp(struct bnx2x *bp) | |||
| 8160 | bp->dev->features |= NETIF_F_LRO; | 8165 | bp->dev->features |= NETIF_F_LRO; |
| 8161 | } | 8166 | } |
| 8162 | 8167 | ||
| 8168 | bp->mrrs = mrrs; | ||
| 8163 | 8169 | ||
| 8164 | bp->tx_ring_size = MAX_TX_AVAIL; | 8170 | bp->tx_ring_size = MAX_TX_AVAIL; |
| 8165 | bp->rx_ring_size = MAX_RX_AVAIL; | 8171 | bp->rx_ring_size = MAX_RX_AVAIL; |
