From: Bjorn Helgaas <bhelgaas@google.com>
To: "Guilherme G. Piccoli" <gpiccoli@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au,
linux-pci@vger.kernel.org, gwshan@linux.vnet.ibm.com,
benh@kernel.crashing.org, paulus@samba.org, mst@redhat.com,
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: Thu, 3 Sep 2015 12:56:24 -0500 [thread overview]
Message-ID: <20150903175624.GI829@google.com> (raw)
In-Reply-To: <1440010450-4549-1-git-send-email-gpiccoli@linux.vnet.ibm.com>
[+cc Fam, Yinghai, Yijing, Eric (reviewers of MST's original series), Dave]
Hi Guilherme,
On Wed, Aug 19, 2015 at 03:54:10PM -0300, Guilherme G. Piccoli wrote:
> Changes since v2:
> * Added "Fixes" line
> * Improved commit reference by using 12 first chars of SHA
>
> >8----------8<
>
> Since the commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even
> if kernel doesn't support MSI"), MSI/MSI-X interrupts aren't being
> disabled at PCI probe time, as the logic responsible for this was moved
> in the aforementioned commit from pci_device_add() to pci_setup_device().
> The latter function is not reachable on PowerPC pSeries platform during
> Open Firmware PCI probing time.
>
> This patch calls pci_msi_setup_pci_dev() explicitly to disable MSI/MSI-X
> during PCI probe time on pSeries platform.
>
> Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel
> doesn't support MSI")
>
> Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
> ---
> arch/powerpc/kernel/pci_of_scan.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c
> index 42e02a2..0e920f3 100644
> --- a/arch/powerpc/kernel/pci_of_scan.c
> +++ b/arch/powerpc/kernel/pci_of_scan.c
> @@ -191,6 +191,9 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
>
> pci_device_add(dev, bus);
>
> + /* Disable MSI/MSI-X here to avoid bogus interrupts */
> + pci_msi_setup_pci_dev(dev);
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.
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?
Bjorn
[1] http://lkml.kernel.org/r/1427641227-7574-3-git-send-email-mst@redhat.com
[2] http://lkml.kernel.org/r/1427641227-7574-4-git-send-email-mst@redhat.com
> return dev;
> }
> EXPORT_SYMBOL(of_create_pci_dev);
> --
> 2.1.0
>
next prev parent reply other threads:[~2015-09-03 17:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
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
[not found] ` <1439932077-11427-2-git-send-email-gpiccoli@linux.vnet.ibm.com>
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:13 ` [PATCH 2/2] powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case Guilherme G. Piccoli
[not found] ` <1439932077-11427-3-git-send-email-gpiccoli@linux.vnet.ibm.com>
2015-08-19 18:54 ` [PATCH v2 " Guilherme G. Piccoli
2015-09-03 17:56 ` Bjorn Helgaas [this message]
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
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
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=20150903175624.GI829@google.com \
--to=bhelgaas@google.com \
--cc=benh@kernel.crashing.org \
--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=mpe@ellerman.id.au \
--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 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).