All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Smietanowski <stesmi@stesmi.com>
To: Greg KH <gregkh@suse.de>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Andrew Vasquez <andrew.vasquez@qlogic.com>,
	Jeff Garzik <jgarzik@pobox.com>,
	"David S. Miller" <davem@davemloft.net>,
	tom.l.nguyen@intel.com, roland@topspin.com,
	linux-pci@atrey.karlin.mff.cuni.cz, linux-kernel@vger.kernel.org,
	ak@suse.de
Subject: Re: [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers
Date: Thu, 09 Jun 2005 06:54:31 +0200	[thread overview]
Message-ID: <42A7CB87.40706@stesmi.com> (raw)
In-Reply-To: <20050607161029.GB15345@suse.de>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Greg.

>>>>* What if the driver writer does not want MSI enabled for their
>>>>  hardware (even though there is an MSI capabilities entry)?  Reasons
>>>>  include: overhead involved in initiating the MSI; no support in some
>>>>  versions of firmware (QLogic hardware).
>>>
>>>Yes, a very good point.  I guess I should keep the pci_enable_msi() and
>>>pci_disable_msi() functions exported for this reason.
>>>
>>
>>well... only pci_disable_msi() is needed for this ;)
> 
> I thought so too, until I looked at the IB driver :(
> 
> The issue is, if pci_enable_msix() fails, we want to fall back to MSI,
> so you need to call pci_enable_msi() for that (after calling
> pci_disable_msi() before calling pci_enable_msix(), what a mess...)
> 
> So we still need both functions, and for MSI-X, the logic involved in
> enabling it is horrible.  Let me see if this can be made saner...

Why not make pci_switch_to_msix() (yeah, horrible name) instead?

pci_switch_to_msix(dev)
{
  pci_disable_msi(dev);
  if (!psi_enable_msix(dev))
    pci_enable_msi(dev);
}

And it can naturally inform the caller if it failed or not.

// Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFCp8uHBrn2kJu9P78RAid6AKCqYFJM0+kg0JYIgOYQiHSHv5Cw0gCfQw8w
A+z+BYzzvfi4oaBl6isuaEM=
=qL+F
-----END PGP SIGNATURE-----

  parent reply	other threads:[~2005-06-09  4:51 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050608060242.GA8035@mellanox.co.il>
2005-06-07  0:20 ` [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers Greg KH
2005-06-07  1:09   ` Andrew Vasquez
2005-06-07  5:15     ` Greg KH
2005-06-07  7:31       ` Arjan van de Ven
2005-06-07 16:08         ` Grant Grundler
2005-06-07 16:10         ` Greg KH
2005-06-07 20:41           ` Arjan van de Ven
2005-06-07 22:08             ` Greg KH
2005-06-07 22:43               ` Roland Dreier
2005-06-08  4:42                 ` Grant Grundler
2005-06-08 13:34                 ` Andi Kleen
2005-06-08 13:37           ` Andi Kleen
2005-06-08 17:04             ` Grant Grundler
2005-06-09  4:54           ` Stefan Smietanowski [this message]
2005-06-09  5:26             ` Greg KH
2005-06-07 15:53   ` Grant Grundler
2005-06-07 16:12     ` Greg KH
2005-06-07 20:21   ` [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers - take 2 Greg KH
2005-06-07 22:17     ` Jeff Garzik
2005-06-08  5:55       ` Andrew Grover
2005-06-08  6:14         ` Jeff Garzik
2005-06-08  6:18         ` Jeff Garzik
2005-06-08 13:35         ` Andi Kleen
2005-06-08 15:57           ` Roland Dreier
2005-06-08  5:02     ` Grant Grundler
2005-06-08 13:32       ` Andi Kleen
2005-06-08 15:52         ` Roland Dreier
2005-06-09 14:03           ` Andi Kleen
2005-06-08 16:09         ` Ashok Raj
2005-06-09  1:37           ` Zwane Mwaikambo
2005-06-09 14:11           ` Andi Kleen
2005-06-09 15:58             ` Ashok Raj
2005-06-08 15:47       ` Roland Dreier
2005-06-08 13:31     ` Andi Kleen
2005-06-08 17:56       ` Greg KH
2005-06-08 15:18     ` Luben Tuikov
2005-06-08 18:47   ` Michael S. Tsirkin
2005-06-07 22:24 [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers Nguyen, Tom L

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=42A7CB87.40706@stesmi.com \
    --to=stesmi@stesmi.com \
    --cc=ak@suse.de \
    --cc=andrew.vasquez@qlogic.com \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=gregkh@suse.de \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=roland@topspin.com \
    --cc=tom.l.nguyen@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.