* [net-next PATCH 0/8] qlge: Cleanup and additions for qlge.
@ 2009-10-10 19:35 Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg Ron Mercer
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Cleanup and a couple of small performance tweeks for qlge.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-12 6:10 ` David Miller
2009-10-10 19:35 ` [net-next PATCH 2/8] qlge: Set PCIE max read request size Ron Mercer
` (7 subsequent siblings)
8 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer, root
From: root <root@localhost.localdomain>
Remove explicit setting of error reporting bits.
Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 16 +---------------
1 files changed, 1 insertions(+), 15 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 48b45df..7a9dca8 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3868,8 +3868,7 @@ static int __devinit ql_init_device(struct pci_dev *pdev,
struct net_device *ndev, int cards_found)
{
struct ql_adapter *qdev = netdev_priv(ndev);
- int pos, err = 0;
- u16 val16;
+ int err = 0;
memset((void *)qdev, 0, sizeof(*qdev));
err = pci_enable_device(pdev);
@@ -3881,19 +3880,6 @@ static int __devinit ql_init_device(struct pci_dev *pdev,
qdev->ndev = ndev;
qdev->pdev = pdev;
pci_set_drvdata(pdev, ndev);
- pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
- if (pos <= 0) {
- dev_err(&pdev->dev, PFX "Cannot find PCI Express capability, "
- "aborting.\n");
- return pos;
- } else {
- pci_read_config_word(pdev, pos + PCI_EXP_DEVCTL, &val16);
- val16 &= ~PCI_EXP_DEVCTL_NOSNOOP_EN;
- val16 |= (PCI_EXP_DEVCTL_CERE |
- PCI_EXP_DEVCTL_NFERE |
- PCI_EXP_DEVCTL_FERE | PCI_EXP_DEVCTL_URRE);
- pci_write_config_word(pdev, pos + PCI_EXP_DEVCTL, val16);
- }
err = pci_request_regions(pdev, DRV_NAME);
if (err) {
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 2/8] qlge: Set PCIE max read request size.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 3/8] qlge: Add handler for DCBX firmware event Ron Mercer
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer, root
From: root <root@localhost.localdomain>
Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 7a9dca8..aeb0104 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3881,6 +3881,13 @@ static int __devinit ql_init_device(struct pci_dev *pdev,
qdev->pdev = pdev;
pci_set_drvdata(pdev, ndev);
+ /* Set PCIe read request size */
+ err = pcie_set_readrq(pdev, 4096);
+ if (err) {
+ dev_err(&pdev->dev, "Set readrq failed.\n");
+ goto err_out;
+ }
+
err = pci_request_regions(pdev, DRV_NAME);
if (err) {
dev_err(&pdev->dev, "PCI region request failed.\n");
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 3/8] qlge: Add handler for DCBX firmware event.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 2/8] qlge: Set PCIE max read request size Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 4/8] qlge: Store firmware revision as early as possible Ron Mercer
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
The driver has nothing to do, but this marker prevents the event from
showing up 'not handled'.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_mpi.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c
index 99e58e3..2e83c4b 100644
--- a/drivers/net/qlge/qlge_mpi.c
+++ b/drivers/net/qlge/qlge_mpi.c
@@ -446,6 +446,9 @@ static int ql_mpi_handler(struct ql_adapter *qdev, struct mbox_params *mbcp)
ql_aen_lost(qdev, mbcp);
break;
+ case AEN_DCBX_CHG:
+ /* Need to support AEN 8110 */
+ break;
default:
QPRINTK(qdev, DRV, ERR,
"Unsupported AE %.08x.\n", mbcp->mbox_out[0]);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 4/8] qlge: Store firmware revision as early as possible.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (2 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 3/8] qlge: Add handler for DCBX firmware event Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 5/8] qlge: Remove inline math for small rx buf mapping Ron Mercer
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_mpi.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c
index 2e83c4b..9c0dfe0 100644
--- a/drivers/net/qlge/qlge_mpi.c
+++ b/drivers/net/qlge/qlge_mpi.c
@@ -317,6 +317,7 @@ static void ql_init_fw_done(struct ql_adapter *qdev, struct mbox_params *mbcp)
} else {
QPRINTK(qdev, DRV, ERR, "Firmware Revision = 0x%.08x.\n",
mbcp->mbox_out[1]);
+ qdev->fw_rev_id = mbcp->mbox_out[1];
status = ql_cam_route_initialize(qdev);
if (status)
QPRINTK(qdev, IFUP, ERR,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 5/8] qlge: Remove inline math for small rx buf mapping.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (3 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 4/8] qlge: Store firmware revision as early as possible Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 6/8] qlge: Get rid of firmware handler debug code Ron Mercer
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
rx_ring->sbq_buf_len now holds the length of the mapped portion of the
buffer rather than the overall length.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 3 ++-
drivers/net/qlge/qlge_main.c | 14 +++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index e7285f0..633fcd1 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -54,7 +54,8 @@
#define RX_RING_SHADOW_SPACE (sizeof(u64) + \
MAX_DB_PAGES_PER_BQ(NUM_SMALL_BUFFERS) * sizeof(u64) + \
MAX_DB_PAGES_PER_BQ(NUM_LARGE_BUFFERS) * sizeof(u64))
-#define SMALL_BUFFER_SIZE 256
+#define SMALL_BUFFER_SIZE 512
+#define SMALL_BUF_MAP_SIZE (SMALL_BUFFER_SIZE / 2)
#define LARGE_BUFFER_SIZE PAGE_SIZE
#define MAX_SPLIT_SIZE 1023
#define QLGE_SB_PAD 32
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index aeb0104..09247ab 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -1147,7 +1147,7 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
sbq_desc->index);
sbq_desc->p.skb =
netdev_alloc_skb(qdev->ndev,
- rx_ring->sbq_buf_size);
+ SMALL_BUFFER_SIZE);
if (sbq_desc->p.skb == NULL) {
QPRINTK(qdev, PROBE, ERR,
"Couldn't get an skb.\n");
@@ -1157,8 +1157,8 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
skb_reserve(sbq_desc->p.skb, QLGE_SB_PAD);
map = pci_map_single(qdev->pdev,
sbq_desc->p.skb->data,
- rx_ring->sbq_buf_size /
- 2, PCI_DMA_FROMDEVICE);
+ rx_ring->sbq_buf_size,
+ PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(qdev->pdev, map)) {
QPRINTK(qdev, IFUP, ERR, "PCI mapping failed.\n");
rx_ring->sbq_clean_idx = clean_idx;
@@ -1168,7 +1168,7 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
}
pci_unmap_addr_set(sbq_desc, mapaddr, map);
pci_unmap_len_set(sbq_desc, maplen,
- rx_ring->sbq_buf_size / 2);
+ rx_ring->sbq_buf_size);
*sbq_desc->addr = cpu_to_le64(map);
}
@@ -2692,7 +2692,7 @@ static int ql_start_rx_ring(struct ql_adapter *qdev, struct rx_ring *rx_ring)
cqicb->sbq_addr =
cpu_to_le64(rx_ring->sbq_base_indirect_dma);
cqicb->sbq_buf_size =
- cpu_to_le16((u16)(rx_ring->sbq_buf_size/2));
+ cpu_to_le16((u16)(rx_ring->sbq_buf_size));
bq_len = (rx_ring->sbq_len == 65536) ? 0 :
(u16) rx_ring->sbq_len;
cqicb->sbq_len = cpu_to_le16(bq_len);
@@ -3268,7 +3268,7 @@ static int ql_adapter_initialize(struct ql_adapter *qdev)
ql_write32(qdev, FSC, mask | value);
ql_write32(qdev, SPLT_HDR, SPLT_HDR_EP |
- min(SMALL_BUFFER_SIZE, MAX_SPLIT_SIZE));
+ min(SMALL_BUF_MAP_SIZE, MAX_SPLIT_SIZE));
/* Set RX packet routing to use port/pci function on which the
* packet arrived on in addition to usual frame routing.
@@ -3548,7 +3548,7 @@ static int ql_configure_rings(struct ql_adapter *qdev)
rx_ring->sbq_len = NUM_SMALL_BUFFERS;
rx_ring->sbq_size =
rx_ring->sbq_len * sizeof(__le64);
- rx_ring->sbq_buf_size = SMALL_BUFFER_SIZE * 2;
+ rx_ring->sbq_buf_size = SMALL_BUF_MAP_SIZE;
rx_ring->type = RX_Q;
} else {
/*
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 6/8] qlge: Get rid of firmware handler debug code.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (4 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 5/8] qlge: Remove inline math for small rx buf mapping Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 7/8] qlge: Don't fail open when port is not initialized Ron Mercer
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_mpi.c | 21 ---------------------
1 files changed, 0 insertions(+), 21 deletions(-)
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c
index 9c0dfe0..e497eac 100644
--- a/drivers/net/qlge/qlge_mpi.c
+++ b/drivers/net/qlge/qlge_mpi.c
@@ -1,25 +1,5 @@
#include "qlge.h"
-static void ql_display_mb_sts(struct ql_adapter *qdev,
- struct mbox_params *mbcp)
-{
- int i;
- static char *err_sts[] = {
- "Command Complete",
- "Command Not Supported",
- "Host Interface Error",
- "Checksum Error",
- "Unused Completion Status",
- "Test Failed",
- "Command Parameter Error"};
-
- QPRINTK(qdev, DRV, DEBUG, "%s.\n",
- err_sts[mbcp->mbox_out[0] & 0x0000000f]);
- for (i = 0; i < mbcp->out_count; i++)
- QPRINTK(qdev, DRV, DEBUG, "mbox_out[%d] = 0x%.08x.\n",
- i, mbcp->mbox_out[i]);
-}
-
int ql_read_mpi_reg(struct ql_adapter *qdev, u32 reg, u32 *data)
{
int status;
@@ -540,7 +520,6 @@ static int ql_mailbox_command(struct ql_adapter *qdev, struct mbox_params *mbcp)
MB_CMD_STS_GOOD) &&
((mbcp->mbox_out[0] & 0x0000f000) !=
MB_CMD_STS_INTRMDT)) {
- ql_display_mb_sts(qdev, mbcp);
status = -EIO;
}
end:
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 7/8] qlge: Don't fail open when port is not initialized.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (5 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 6/8] qlge: Get rid of firmware handler debug code Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 8/8] qlge: Add CBFC pause frame counters to ethtool stats Ron Mercer
2009-10-12 6:26 ` [net-next PATCH 0/8] qlge: Cleanup and additions for qlge David Miller
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 09247ab..9eefb11 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3310,10 +3310,8 @@ static int ql_adapter_initialize(struct ql_adapter *qdev)
/* Initialize the port and set the max framesize. */
status = qdev->nic_ops->port_initialize(qdev);
- if (status) {
- QPRINTK(qdev, IFUP, ERR, "Failed to start port.\n");
- return status;
- }
+ if (status)
+ QPRINTK(qdev, IFUP, ERR, "Failed to start port.\n");
/* Set up the MAC address and frame routing filter. */
status = ql_cam_route_initialize(qdev);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [net-next PATCH 8/8] qlge: Add CBFC pause frame counters to ethtool stats.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (6 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 7/8] qlge: Don't fail open when port is not initialized Ron Mercer
@ 2009-10-10 19:35 ` Ron Mercer
2009-10-12 6:26 ` [net-next PATCH 0/8] qlge: Cleanup and additions for qlge David Miller
8 siblings, 0 replies; 11+ messages in thread
From: Ron Mercer @ 2009-10-10 19:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 21 ++++++++++++
drivers/net/qlge/qlge_ethtool.c | 69 +++++++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 633fcd1..fd47691 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -1363,6 +1363,27 @@ struct nic_stats {
u64 rx_1024_to_1518_pkts;
u64 rx_1519_to_max_pkts;
u64 rx_len_err_pkts;
+ /*
+ * These stats come from offset 500h to 5C8h
+ * in the XGMAC register.
+ */
+ u64 tx_cbfc_pause_frames0;
+ u64 tx_cbfc_pause_frames1;
+ u64 tx_cbfc_pause_frames2;
+ u64 tx_cbfc_pause_frames3;
+ u64 tx_cbfc_pause_frames4;
+ u64 tx_cbfc_pause_frames5;
+ u64 tx_cbfc_pause_frames6;
+ u64 tx_cbfc_pause_frames7;
+ u64 rx_cbfc_pause_frames0;
+ u64 rx_cbfc_pause_frames1;
+ u64 rx_cbfc_pause_frames2;
+ u64 rx_cbfc_pause_frames3;
+ u64 rx_cbfc_pause_frames4;
+ u64 rx_cbfc_pause_frames5;
+ u64 rx_cbfc_pause_frames6;
+ u64 rx_cbfc_pause_frames7;
+ u64 rx_nic_fifo_drop;
};
/*
diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c
index 5207394..aac6c6f 100644
--- a/drivers/net/qlge/qlge_ethtool.c
+++ b/drivers/net/qlge/qlge_ethtool.c
@@ -132,6 +132,41 @@ static void ql_update_stats(struct ql_adapter *qdev)
iter++;
}
+ /*
+ * Get Per-priority TX pause frame counter statistics.
+ */
+ for (i = 0x500; i < 0x540; i += 8) {
+ if (ql_read_xgmac_reg64(qdev, i, &data)) {
+ QPRINTK(qdev, DRV, ERR,
+ "Error reading status register 0x%.04x.\n", i);
+ goto end;
+ } else
+ *iter = data;
+ iter++;
+ }
+
+ /*
+ * Get Per-priority RX pause frame counter statistics.
+ */
+ for (i = 0x568; i < 0x5a8; i += 8) {
+ if (ql_read_xgmac_reg64(qdev, i, &data)) {
+ QPRINTK(qdev, DRV, ERR,
+ "Error reading status register 0x%.04x.\n", i);
+ goto end;
+ } else
+ *iter = data;
+ iter++;
+ }
+
+ /*
+ * Get RX NIC FIFO DROP statistics.
+ */
+ if (ql_read_xgmac_reg64(qdev, 0x5b8, &data)) {
+ QPRINTK(qdev, DRV, ERR,
+ "Error reading status register 0x%.04x.\n", i);
+ goto end;
+ } else
+ *iter = data;
end:
ql_sem_unlock(qdev, qdev->xg_sem_mask);
quit:
@@ -185,6 +220,23 @@ static char ql_stats_str_arr[][ETH_GSTRING_LEN] = {
{"rx_1024_to_1518_pkts"},
{"rx_1519_to_max_pkts"},
{"rx_len_err_pkts"},
+ {"tx_cbfc_pause_frames0"},
+ {"tx_cbfc_pause_frames1"},
+ {"tx_cbfc_pause_frames2"},
+ {"tx_cbfc_pause_frames3"},
+ {"tx_cbfc_pause_frames4"},
+ {"tx_cbfc_pause_frames5"},
+ {"tx_cbfc_pause_frames6"},
+ {"tx_cbfc_pause_frames7"},
+ {"rx_cbfc_pause_frames0"},
+ {"rx_cbfc_pause_frames1"},
+ {"rx_cbfc_pause_frames2"},
+ {"rx_cbfc_pause_frames3"},
+ {"rx_cbfc_pause_frames4"},
+ {"rx_cbfc_pause_frames5"},
+ {"rx_cbfc_pause_frames6"},
+ {"rx_cbfc_pause_frames7"},
+ {"rx_nic_fifo_drop"},
};
static void ql_get_strings(struct net_device *dev, u32 stringset, u8 *buf)
@@ -257,6 +309,23 @@ ql_get_ethtool_stats(struct net_device *ndev,
*data++ = s->rx_1024_to_1518_pkts;
*data++ = s->rx_1519_to_max_pkts;
*data++ = s->rx_len_err_pkts;
+ *data++ = s->tx_cbfc_pause_frames0;
+ *data++ = s->tx_cbfc_pause_frames1;
+ *data++ = s->tx_cbfc_pause_frames2;
+ *data++ = s->tx_cbfc_pause_frames3;
+ *data++ = s->tx_cbfc_pause_frames4;
+ *data++ = s->tx_cbfc_pause_frames5;
+ *data++ = s->tx_cbfc_pause_frames6;
+ *data++ = s->tx_cbfc_pause_frames7;
+ *data++ = s->rx_cbfc_pause_frames0;
+ *data++ = s->rx_cbfc_pause_frames1;
+ *data++ = s->rx_cbfc_pause_frames2;
+ *data++ = s->rx_cbfc_pause_frames3;
+ *data++ = s->rx_cbfc_pause_frames4;
+ *data++ = s->rx_cbfc_pause_frames5;
+ *data++ = s->rx_cbfc_pause_frames6;
+ *data++ = s->rx_cbfc_pause_frames7;
+ *data++ = s->rx_nic_fifo_drop;
}
static int ql_get_settings(struct net_device *ndev,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg.
2009-10-10 19:35 ` [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg Ron Mercer
@ 2009-10-12 6:10 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-10-12 6:10 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, root
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Sat, 10 Oct 2009 12:35:03 -0700
> From: root <root@localhost.localdomain>
Ron I'm fixing this up by hand as I go through these qlge patches, but
please fix your config to emit a correct From: line in your patches.
Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [net-next PATCH 0/8] qlge: Cleanup and additions for qlge.
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
` (7 preceding siblings ...)
2009-10-10 19:35 ` [net-next PATCH 8/8] qlge: Add CBFC pause frame counters to ethtool stats Ron Mercer
@ 2009-10-12 6:26 ` David Miller
8 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-10-12 6:26 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Sat, 10 Oct 2009 12:35:02 -0700
>
> Cleanup and a couple of small performance tweeks for qlge.
All applied to net-next-2.6, thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2009-10-12 6:26 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-10 19:35 [net-next PATCH 0/8] qlge: Cleanup and additions for qlge Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 1/8] qlge: Remove explicit setting of PCI Dev CTL reg Ron Mercer
2009-10-12 6:10 ` David Miller
2009-10-10 19:35 ` [net-next PATCH 2/8] qlge: Set PCIE max read request size Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 3/8] qlge: Add handler for DCBX firmware event Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 4/8] qlge: Store firmware revision as early as possible Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 5/8] qlge: Remove inline math for small rx buf mapping Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 6/8] qlge: Get rid of firmware handler debug code Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 7/8] qlge: Don't fail open when port is not initialized Ron Mercer
2009-10-10 19:35 ` [net-next PATCH 8/8] qlge: Add CBFC pause frame counters to ethtool stats Ron Mercer
2009-10-12 6:26 ` [net-next PATCH 0/8] qlge: Cleanup and additions for qlge David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).