From: Jay Cliburn <jacliburn@bellsouth.net>
To: jeff@garzik.org
Cc: Luca Tettamanti <kronos.it@gmail.com>,
Stephen Hemminger <shemminger@linux-foundation.org>,
Randy Dunlap <randy.dunlap@oracle.com>,
csnook@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, atl1-devel@lists.sourceforge.net
Subject: Re: [PATCH 4/4] atl1: Ancillary C files for Attansic L1 driver
Date: Sat, 27 Jan 2007 15:02:08 -0600 [thread overview]
Message-ID: <45BBBDD0.7030809@bellsouth.net> (raw)
In-Reply-To: <20070123211917.GA22109@dreamland.darkstar.lan>
Luca Tettamanti wrote:
[snip]
>
> Anyway...
>
> Unconditionally enable MSI in atl1 driver. Also remove some useless
> #ifdef since pci_{en,dis}able_msi() are no-op when MSI support is not
> configured in.
>
> Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
Acked-by: Jay Cliburn <jacliburn@bellsouth.net>
I tested this patch today. Works fine on my Asus M2V mainboard (Via
K8T890).
Here are the eth0 entries in /proc/interrupts before and after the patch.
BEFORE: 36: 93 322091 IO-APIC-fasteoi eth0
AFTER: 2298: 85 7289 PCI-MSI-edge eth0
Jeff, shall I add this to the larger patch I'm working on for submittal
later this weekend, or do you just add it directly to netdev? (I prefer
to do the former if it's okay with you.)
Jay
> ---
> Patch against current netdev tree.
>
> drivers/net/atl1/atl1.h | 1 -
> drivers/net/atl1/atl1_main.c | 22 +++++++---------------
> drivers/net/atl1/atl1_param.c | 13 -------------
> 3 files changed, 7 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/net/atl1/atl1.h b/drivers/net/atl1/atl1.h
> index 1d13e8f..0b30e1c 100644
> --- a/drivers/net/atl1/atl1.h
> +++ b/drivers/net/atl1/atl1.h
> @@ -281,7 +281,6 @@ struct atl1_adapter {
> struct atl1_smb smb;
> struct atl1_cmb cmb;
>
> - int enable_msi;
> u32 pci_state[16];
> };
>
> diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
> index c0b1555..68e6cd1 100644
> --- a/drivers/net/atl1/atl1_main.c
> +++ b/drivers/net/atl1/atl1_main.c
> @@ -1793,18 +1793,12 @@ s32 atl1_up(struct atl1_adapter *adapter)
> goto err_up;
> }
>
> -#ifdef CONFIG_PCI_MSI
> - if (adapter->enable_msi) {
> - err = pci_enable_msi(adapter->pdev);
> - if (err) {
> - dev_info(&adapter->pdev->dev, "Unable to enable MSI: %d\n", err);
> - adapter->enable_msi = 0;
> - }
> - }
> -#endif
> - if (!adapter->enable_msi)
> + err = pci_enable_msi(adapter->pdev);
> + if (err) {
> + dev_info(&adapter->pdev->dev, "Unable to enable MSI: %d\n", err);
> irq_flags |= IRQF_SHARED;
> -
> + }
> +
> err = request_irq(adapter->pdev->irq, &atl1_intr, irq_flags,
> netdev->name, netdev);
> if (unlikely(err))
> @@ -1821,6 +1815,7 @@ s32 atl1_up(struct atl1_adapter *adapter)
> free_irq(adapter->pdev->irq, netdev);
>
> err_up:
> + pci_disable_msi(adapter->pdev);
> /* free rx_buffers */
> atl1_clean_rx_ring(adapter);
> return err;
> @@ -1836,10 +1831,7 @@ void atl1_down(struct atl1_adapter *adapter)
>
> atl1_irq_disable(adapter);
> free_irq(adapter->pdev->irq, netdev);
> -#ifdef CONFIG_PCI_MSI
> - if (adapter->enable_msi)
> - pci_disable_msi(adapter->pdev);
> -#endif
> + pci_disable_msi(adapter->pdev);
> atl1_reset_hw(&adapter->hw);
> adapter->cmb.cmb->int_stats = 0;
>
> diff --git a/drivers/net/atl1/atl1_param.c b/drivers/net/atl1/atl1_param.c
> index 4732f43..caa2d83 100644
> --- a/drivers/net/atl1/atl1_param.c
> +++ b/drivers/net/atl1/atl1_param.c
> @@ -68,10 +68,6 @@ static int num_flash_vendor = 0;
> module_param_array_named(flash_vendor, flash_vendor, int, &num_flash_vendor, 0);
> MODULE_PARM_DESC(flash_vendor, "SPI flash vendor");
>
> -int enable_msi;
> -module_param(enable_msi, int, 0444);
> -MODULE_PARM_DESC(enable_msi, "Enable PCI MSI");
> -
> #define DEFAULT_INT_MOD_CNT 100 /* 200us */
> #define MAX_INT_MOD_CNT 65000
> #define MIN_INT_MOD_CNT 50
> @@ -211,13 +207,4 @@ void __devinit atl1_check_options(struct atl1_adapter *adapter)
> adapter->hw.flash_vendor = (u8) (opt.def);
> }
> }
> -
> - { /* PCI MSI usage */
> -
> -#ifdef CONFIG_PCI_MSI
> - adapter->enable_msi = enable_msi;
> -#else
> - adapter->enable_msi = 0;
> -#endif
> - }
> }
next prev parent reply other threads:[~2007-01-27 21:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-21 21:07 [PATCH 4/4] atl1: Ancillary C files for Attansic L1 driver Jay Cliburn
2007-01-22 2:31 ` Randy Dunlap
2007-01-22 3:33 ` Jay Cliburn
2007-01-22 20:00 ` Luca Tettamanti
2007-01-23 19:25 ` Stephen Hemminger
2007-01-23 21:19 ` Luca Tettamanti
2007-01-27 21:02 ` Jay Cliburn [this message]
2007-01-27 21:15 ` Jeff Garzik
2007-01-27 22:05 ` Jay Cliburn
2007-01-27 22:38 ` Jeff Garzik
2007-01-23 21:33 ` Jeff Garzik
2007-01-23 21:34 ` Stephen Hemminger
2007-01-23 21:46 ` Randy Dunlap
2007-01-23 22:06 ` Jeff Garzik
-- strict thread matches above, loose matches on Subject: below --
2007-01-11 0:43 Jay Cliburn
2007-01-11 9:37 ` Christoph Hellwig
2007-01-19 3:00 ` Jeff Garzik
2006-11-19 20:31 Jay Cliburn
2006-11-20 12:40 ` Chris Snook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45BBBDD0.7030809@bellsouth.net \
--to=jacliburn@bellsouth.net \
--cc=atl1-devel@lists.sourceforge.net \
--cc=csnook@redhat.com \
--cc=jeff@garzik.org \
--cc=kronos.it@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
--cc=shemminger@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).