All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: "Guilherme G. Piccoli" <gpiccoli@linux.vnet.ibm.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org,
	gwshan@linux.vnet.ibm.com, benh@kernel.crashing.org,
	paulus@samba.org, Fam Zheng <famz@redhat.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Yijing Wang <wangyijing@huawei.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 2/2] powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case
Date: Mon, 07 Sep 2015 13:17:03 +1000	[thread overview]
Message-ID: <1441595823.12945.4.camel@ellerman.id.au> (raw)
In-Reply-To: <20150906173838-mutt-send-email-mst@redhat.com>

On Sun, 2015-09-06 at 17:44 +0300, Michael S. Tsirkin wrote:
> On Fri, Sep 04, 2015 at 08:17:12PM -0300, Guilherme G. Piccoli wrote:
> > Hello Bjorn,
> > 
> > >of_create_pci_dev() already has a lot of code that duplicates
> > >pci_setup_device(), and it's a shame to add more.  There's also a sparc
> > >version of of_create_pci_dev() that presumably has the same problem you're
> > >fixing for powerpc.
> > 
> > Thanks for the information!
> > 
> > >Michael originally called pci_msi_setup_pci_dev() from
> > >pci_init_capabilities() [1].  A subsequent patch moved the call
> > >to pci_setup_device() [2] because an early quirk (called from
> > >pci_setup_device()) used pci_msi_off(), which depended on
> > >pci_msi_setup_pci_dev().
> > >
> > >But we later removed pci_msi_off() completely, so I think we probably
> > >*could* call pci_msi_setup_pci_dev() from pci_init_capabilities().
> > >
> > >That would be much nicer because it makes more sense there, and it
> > >would do the right thing for powerpc and sparc because they both
> > >already use that path.
> > >
> > >Can you look into moving the call?
> > 
> > I might have misunderstood something here (sorry if it's the case), but
> > moving the call to pci_init_capabilities() has the same practical
> > implications than reverting my 2 commmits [1] [2] and Michael Tsirkin's
> > commit [3], except when CONFIG_PCI_MSI is not set - in this case, moving the
> > call would initialize MSI capabilities anyway, since pci_init_capabilities()
> > executes even if CONFIG_PCI_MSI isn't set.
> > 
> > My question is: is necessary to initialize MSI capabilities even with
> > CONFIG_PCI_MSI not set? In negative case, would be "cleaner" revert the 3
> > commits, right?
> > 
> > On the other hand, if it's necessary to initialize MSI capabilities on
> > devices anyway, we can change the call place.
> 
> I think the reason why it's necessary is explained in
> commit log for commit 1851617cd2da9cc53cdc1738f4148f4f042c0e56 (that's
> [3] below).

Well yes and no.

What we want to do when CONFIG_PCI_MSI=n is disable MSI on the device. In order
to do that the code first initialises dev->msi[x]_cap.

But arguably that's wrong, ie. when CONFIG_PCI_MSI=n dev->msi[x]_cap *should*
be zero so that any code which erroneously tries to use them will fail.

But perhaps that's being too pedantic :)

cheers



  reply	other threads:[~2015-09-07  3:17 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-18 21:07 [PATCH 0/2] Disable MSI/MSI-X interrupts manually at PCI probe time in PowerPC architecture Guilherme G. Piccoli
2015-08-18 21:07 ` [PATCH 1/2] PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code Guilherme G. Piccoli
2015-08-19 18:45   ` [PATCH v2 " Guilherme G. Piccoli
2015-08-20  1:02     ` Michael Ellerman
2015-08-20 19:10       ` Guilherme G. Piccoli
2015-08-24  7:37         ` Michael Ellerman
2015-08-24 12:18           ` Guilherme G. Piccoli
2015-08-18 21:07 ` [PATCH 2/2] powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case Guilherme G. Piccoli
2015-08-19 18:54   ` [PATCH v2 " Guilherme G. Piccoli
2015-09-03 17:56     ` Bjorn Helgaas
2015-09-04 23:17       ` Guilherme G. Piccoli
2015-09-04 22:59         ` jeclark2006
2015-09-06 14:44         ` Michael S. Tsirkin
2015-09-07  3:17           ` Michael Ellerman [this message]
2015-09-07 23:04             ` Guilherme G. Piccoli
2015-09-15 16:18             ` Bjorn Helgaas
2015-10-08 16:05               ` Guilherme G. Piccoli
2015-09-07  3:10       ` Michael Ellerman
2015-09-07 23:07         ` Guilherme G. Piccoli
  -- strict thread matches above, loose matches on Subject: below --
2015-08-18 21:13 [PATCH 0/2] Disable MSI/MSI-X interrupts manually at PCI probe time in PowerPC architecture Guilherme G. Piccoli
2015-08-18 21:13 ` [PATCH 1/2] PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code Guilherme G. Piccoli
2015-08-19  0:44   ` Michael Ellerman
2015-08-18 21:13 ` [PATCH 2/2] powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case Guilherme G. Piccoli

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=1441595823.12945.4.camel@ellerman.id.au \
    --to=mpe@ellerman.id.au \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=famz@redhat.com \
    --cc=gpiccoli@linux.vnet.ibm.com \
    --cc=gwshan@linux.vnet.ibm.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mst@redhat.com \
    --cc=paulus@samba.org \
    --cc=wangyijing@huawei.com \
    --cc=yinghai@kernel.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 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.