* qlge changes for net-next @ 2010-10-25 16:17 Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 1/3] qlge: Restoring the vlan setting Ron Mercer ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Ron Mercer @ 2010-10-25 16:17 UTC (permalink / raw) To: davem; +Cc: netdev, ron.mercer, jitendra.kalsaria, ying.lok Changes for next-next: 1) Restore VLAN settings after reset. 2) Add firmware info to ethtool reg dump. 3) Version change. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-25 16:17 qlge changes for net-next Ron Mercer @ 2010-10-25 16:17 ` Ron Mercer 2010-10-25 19:07 ` David Miller 2010-10-25 16:17 ` [net-next PATCH 2/3] qlge: Add firmware info to ethtool get regs Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 3/3] qlge: Version change to v1.00.00.27 Ron Mercer 2 siblings, 1 reply; 10+ messages in thread From: Ron Mercer @ 2010-10-25 16:17 UTC (permalink / raw) To: davem; +Cc: netdev, ron.mercer, jitendra.kalsaria, ying.lok Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> --- drivers/net/qlge/qlge_main.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index ba0053d..ed0c63d 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c @@ -2382,6 +2382,20 @@ static void qlge_vlan_rx_kill_vid(struct net_device *ndev, u16 vid) } +static void qlge_restore_vlan(struct ql_adapter *qdev) +{ + qlge_vlan_rx_register(qdev->ndev, qdev->vlgrp); + + if (qdev->vlgrp) { + u16 vid; + for (vid = 0; vid < VLAN_N_VID; vid++) { + if (!vlan_group_get_device(qdev->vlgrp, vid)) + continue; + qlge_vlan_rx_add_vid(qdev->ndev, vid); + } + } +} + /* MSI-X Multiple Vector Interrupt Handler for inbound completions. */ static irqreturn_t qlge_msix_rx_isr(int irq, void *dev_id) { @@ -3957,6 +3971,9 @@ static int ql_adapter_up(struct ql_adapter *qdev) clear_bit(QL_PROMISCUOUS, &qdev->flags); qlge_set_multicast_list(qdev->ndev); + /* Restore vlan setting. */ + qlge_restore_vlan(qdev); + ql_enable_interrupts(qdev); ql_enable_all_completion_interrupts(qdev); netif_tx_start_all_queues(qdev->ndev); -- 1.6.0.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-25 16:17 ` [net-next PATCH 1/3] qlge: Restoring the vlan setting Ron Mercer @ 2010-10-25 19:07 ` David Miller 2010-10-25 19:46 ` Ron Mercer 0 siblings, 1 reply; 10+ messages in thread From: David Miller @ 2010-10-25 19:07 UTC (permalink / raw) To: ron.mercer; +Cc: netdev, jitendra.kalsaria, ying.lok From: Ron Mercer <ron.mercer@qlogic.com> Date: Mon, 25 Oct 2010 09:17:51 -0700 > + if (qdev->vlgrp) { > + u16 vid; > + for (vid = 0; vid < VLAN_N_VID; vid++) { > + if (!vlan_group_get_device(qdev->vlgrp, vid)) > + continue; > + qlge_vlan_rx_add_vid(qdev->ndev, vid); > + } > + } > +} Please fix the indentation in this code block. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-25 19:07 ` David Miller @ 2010-10-25 19:46 ` Ron Mercer 2010-10-26 0:56 ` Jesse Gross 0 siblings, 1 reply; 10+ messages in thread From: Ron Mercer @ 2010-10-25 19:46 UTC (permalink / raw) To: David Miller; +Cc: netdev@vger.kernel.org, Jitendra Kalsaria, Ying Ping Lok >From 4981e8d94411b282040bcee89f08e16eef5c608c Mon Sep 17 00:00:00 2001 From: Ron Mercer <ron.mercer@qlogic.com> Date: Mon, 25 Oct 2010 12:38:33 -0700 Subject: [net-next PATCH 1/3] qlge: Restoring the vlan setting. Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> --- drivers/net/qlge/qlge_main.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index ba0053d..5077d38 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c @@ -2382,6 +2382,20 @@ static void qlge_vlan_rx_kill_vid(struct net_device *ndev, u16 vid) } +static void qlge_restore_vlan(struct ql_adapter *qdev) +{ + qlge_vlan_rx_register(qdev->ndev, qdev->vlgrp); + + if (qdev->vlgrp) { + u16 vid; + for (vid = 0; vid < VLAN_N_VID; vid++) { + if (!vlan_group_get_device(qdev->vlgrp, vid)) + continue; + qlge_vlan_rx_add_vid(qdev->ndev, vid); + } + } +} + /* MSI-X Multiple Vector Interrupt Handler for inbound completions. */ static irqreturn_t qlge_msix_rx_isr(int irq, void *dev_id) { @@ -3957,6 +3971,9 @@ static int ql_adapter_up(struct ql_adapter *qdev) clear_bit(QL_PROMISCUOUS, &qdev->flags); qlge_set_multicast_list(qdev->ndev); + /* Restore vlan setting. */ + qlge_restore_vlan(qdev); + ql_enable_interrupts(qdev); ql_enable_all_completion_interrupts(qdev); netif_tx_start_all_queues(qdev->ndev); -- 1.6.0.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-25 19:46 ` Ron Mercer @ 2010-10-26 0:56 ` Jesse Gross 2010-10-26 20:54 ` Ron Mercer 0 siblings, 1 reply; 10+ messages in thread From: Jesse Gross @ 2010-10-26 0:56 UTC (permalink / raw) To: David Miller, netdev@vger.kernel.org, Jitendra Kalsaria, Ying Ping Lok On Mon, Oct 25, 2010 at 12:46 PM, Ron Mercer <ron.mercer@qlogic.com> wrote: > +static void qlge_restore_vlan(struct ql_adapter *qdev) > +{ > + qlge_vlan_rx_register(qdev->ndev, qdev->vlgrp); > + > + if (qdev->vlgrp) { > + u16 vid; > + for (vid = 0; vid < VLAN_N_VID; vid++) { > + if (!vlan_group_get_device(qdev->vlgrp, vid)) > + continue; > + qlge_vlan_rx_add_vid(qdev->ndev, vid); > + } > + } > +} Using vlan groups within a driver is now deprecated. I realize that this is just a bug fix but it would nice if we can avoid introducing more code around vlan groups. Of course, fully switching the driver over to use the new vlan model would be even nicer. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-26 0:56 ` Jesse Gross @ 2010-10-26 20:54 ` Ron Mercer 2010-10-26 21:21 ` David Miller 0 siblings, 1 reply; 10+ messages in thread From: Ron Mercer @ 2010-10-26 20:54 UTC (permalink / raw) To: Jesse Gross Cc: David Miller, netdev@vger.kernel.org, Jitendra Kalsaria, Ying Ping Lok On Mon, Oct 25, 2010 at 05:56:57PM -0700, Jesse Gross wrote: > > Using vlan groups within a driver is now deprecated. I realize that > this is just a bug fix but it would nice if we can avoid introducing > more code around vlan groups. Of course, fully switching the driver > over to use the new vlan model would be even nicer. I would like this bug fix to be applied though we will schedule switching to the new vlan model ASAP. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-26 20:54 ` Ron Mercer @ 2010-10-26 21:21 ` David Miller 2010-10-27 1:13 ` Ron Mercer 0 siblings, 1 reply; 10+ messages in thread From: David Miller @ 2010-10-26 21:21 UTC (permalink / raw) To: ron.mercer; +Cc: jesse, netdev, jitendra.kalsaria, ying.lok From: Ron Mercer <ron.mercer@qlogic.com> Date: Tue, 26 Oct 2010 13:54:22 -0700 > On Mon, Oct 25, 2010 at 05:56:57PM -0700, Jesse Gross wrote: >> >> Using vlan groups within a driver is now deprecated. I realize that >> this is just a bug fix but it would nice if we can avoid introducing >> more code around vlan groups. Of course, fully switching the driver >> over to use the new vlan model would be even nicer. > > I would like this bug fix to be applied though we will schedule switching > to the new vlan model ASAP. Then why did you put "net-next-2.6" in the subject lines? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. 2010-10-26 21:21 ` David Miller @ 2010-10-27 1:13 ` Ron Mercer 0 siblings, 0 replies; 10+ messages in thread From: Ron Mercer @ 2010-10-27 1:13 UTC (permalink / raw) To: David Miller Cc: jesse@nicira.com, netdev@vger.kernel.org, Jitendra Kalsaria, Ying Ping Lok On Tue, Oct 26, 2010 at 02:21:52PM -0700, David Miller wrote: > From: Ron Mercer <ron.mercer@qlogic.com> > Date: Tue, 26 Oct 2010 13:54:22 -0700 > > > On Mon, Oct 25, 2010 at 05:56:57PM -0700, Jesse Gross wrote: > >> > >> Using vlan groups within a driver is now deprecated. I realize that > >> this is just a bug fix but it would nice if we can avoid introducing > >> more code around vlan groups. Of course, fully switching the driver > >> over to use the new vlan model would be even nicer. > > > > I would like this bug fix to be applied though we will schedule switching > > to the new vlan model ASAP. > > Then why did you put "net-next-2.6" in the subject lines? It should have been by itself against net-2.6. I will re-spin these patches. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [net-next PATCH 2/3] qlge: Add firmware info to ethtool get regs. 2010-10-25 16:17 qlge changes for net-next Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 1/3] qlge: Restoring the vlan setting Ron Mercer @ 2010-10-25 16:17 ` Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 3/3] qlge: Version change to v1.00.00.27 Ron Mercer 2 siblings, 0 replies; 10+ messages in thread From: Ron Mercer @ 2010-10-25 16:17 UTC (permalink / raw) To: davem; +Cc: netdev, ron.mercer, jitendra.kalsaria, ying.lok By default we add firmware information to ethtool get regs. Optionally firmware info can instead be sent to log. Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> --- drivers/net/qlge/qlge.h | 2 ++ drivers/net/qlge/qlge_dbg.c | 21 ++++++++++++++++++++- drivers/net/qlge/qlge_ethtool.c | 19 ++++++++++++++++--- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h index a478786..0474d20 100644 --- a/drivers/net/qlge/qlge.h +++ b/drivers/net/qlge/qlge.h @@ -2221,6 +2221,7 @@ int ql_write_mpi_reg(struct ql_adapter *qdev, u32 reg, u32 data); int ql_unpause_mpi_risc(struct ql_adapter *qdev); int ql_pause_mpi_risc(struct ql_adapter *qdev); int ql_hard_reset_mpi_risc(struct ql_adapter *qdev); +int ql_soft_reset_mpi_risc(struct ql_adapter *qdev); int ql_dump_risc_ram_area(struct ql_adapter *qdev, void *buf, u32 ram_addr, int word_count); int ql_core_dump(struct ql_adapter *qdev, @@ -2237,6 +2238,7 @@ int ql_mb_set_mgmnt_traffic_ctl(struct ql_adapter *qdev, u32 control); int ql_mb_get_port_cfg(struct ql_adapter *qdev); int ql_mb_set_port_cfg(struct ql_adapter *qdev); int ql_wait_fifo_empty(struct ql_adapter *qdev); +void ql_get_dump(struct ql_adapter *qdev, void *buff); void ql_gen_reg_dump(struct ql_adapter *qdev, struct ql_reg_dump *mpi_coredump); netdev_tx_t ql_lb_send(struct sk_buff *skb, struct net_device *ndev); diff --git a/drivers/net/qlge/qlge_dbg.c b/drivers/net/qlge/qlge_dbg.c index 4747492..fca804f 100644 --- a/drivers/net/qlge/qlge_dbg.c +++ b/drivers/net/qlge/qlge_dbg.c @@ -1317,9 +1317,28 @@ void ql_gen_reg_dump(struct ql_adapter *qdev, status = ql_get_ets_regs(qdev, &mpi_coredump->ets[0]); if (status) return; +} + +void ql_get_dump(struct ql_adapter *qdev, void *buff) +{ + /* + * If the dump has already been taken and is stored + * in our internal buffer and if force dump is set then + * just start the spool to dump it to the log file + * and also, take a snapshot of the general regs to + * to the user's buffer or else take complete dump + * to the user's buffer if force is not set. + */ - if (test_bit(QL_FRC_COREDUMP, &qdev->flags)) + if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) { + if (!ql_core_dump(qdev, buff)) + ql_soft_reset_mpi_risc(qdev); + else + netif_err(qdev, drv, qdev->ndev, "coredump failed!\n"); + } else { + ql_gen_reg_dump(qdev, buff); ql_get_core_dump(qdev); + } } /* Coredump to messages log file using separate worker thread */ diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c index 4892d64..8149cc9 100644 --- a/drivers/net/qlge/qlge_ethtool.c +++ b/drivers/net/qlge/qlge_ethtool.c @@ -375,7 +375,10 @@ static void ql_get_drvinfo(struct net_device *ndev, strncpy(drvinfo->bus_info, pci_name(qdev->pdev), 32); drvinfo->n_stats = 0; drvinfo->testinfo_len = 0; - drvinfo->regdump_len = 0; + if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) + drvinfo->regdump_len = sizeof(struct ql_mpi_coredump); + else + drvinfo->regdump_len = sizeof(struct ql_reg_dump); drvinfo->eedump_len = 0; } @@ -547,7 +550,12 @@ static void ql_self_test(struct net_device *ndev, static int ql_get_regs_len(struct net_device *ndev) { - return sizeof(struct ql_reg_dump); + struct ql_adapter *qdev = netdev_priv(ndev); + + if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) + return sizeof(struct ql_mpi_coredump); + else + return sizeof(struct ql_reg_dump); } static void ql_get_regs(struct net_device *ndev, @@ -555,7 +563,12 @@ static void ql_get_regs(struct net_device *ndev, { struct ql_adapter *qdev = netdev_priv(ndev); - ql_gen_reg_dump(qdev, p); + ql_get_dump(qdev, p); + qdev->core_is_dumped = 0; + if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) + regs->len = sizeof(struct ql_mpi_coredump); + else + regs->len = sizeof(struct ql_reg_dump); } static int ql_get_coalesce(struct net_device *dev, struct ethtool_coalesce *c) -- 1.6.0.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [net-next PATCH 3/3] qlge: Version change to v1.00.00.27 2010-10-25 16:17 qlge changes for net-next Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 1/3] qlge: Restoring the vlan setting Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 2/3] qlge: Add firmware info to ethtool get regs Ron Mercer @ 2010-10-25 16:17 ` Ron Mercer 2 siblings, 0 replies; 10+ messages in thread From: Ron Mercer @ 2010-10-25 16:17 UTC (permalink / raw) To: davem; +Cc: netdev, ron.mercer, jitendra.kalsaria, ying.lok Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> --- drivers/net/qlge/qlge.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h index 0474d20..69c4780 100644 --- a/drivers/net/qlge/qlge.h +++ b/drivers/net/qlge/qlge.h @@ -16,7 +16,7 @@ */ #define DRV_NAME "qlge" #define DRV_STRING "QLogic 10 Gigabit PCI-E Ethernet Driver " -#define DRV_VERSION "v1.00.00.25.00.00-01" +#define DRV_VERSION "v1.00.00.27.00.00-01" #define WQ_ADDR_ALIGN 0x3 /* 4 byte alignment */ -- 1.6.0.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-10-27 1:25 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-10-25 16:17 qlge changes for net-next Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 1/3] qlge: Restoring the vlan setting Ron Mercer 2010-10-25 19:07 ` David Miller 2010-10-25 19:46 ` Ron Mercer 2010-10-26 0:56 ` Jesse Gross 2010-10-26 20:54 ` Ron Mercer 2010-10-26 21:21 ` David Miller 2010-10-27 1:13 ` Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 2/3] qlge: Add firmware info to ethtool get regs Ron Mercer 2010-10-25 16:17 ` [net-next PATCH 3/3] qlge: Version change to v1.00.00.27 Ron Mercer
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).