From: Arnd Bergmann <arnd@arndb.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
Jesse Barnes <jbarnes@virtuousgeek.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Myron Stowe <myron.stowe@redhat.com>,
Jiri Kosina <jkosina@suse.cz>, Joe Perches <joe@perches.com>,
David Howells <dhowells@redhat.com>
Subject: Re: [PATCH 3/3] arch/tile: tilegx PCI root complex support
Date: Tue, 10 Apr 2012 09:15:49 +0000 [thread overview]
Message-ID: <201204100915.49742.arnd@arndb.de> (raw)
In-Reply-To: <CAErSpo6_gV1XKJ1jsDSvHo+BEORL_5wLC2YRyVG+OjVNDYbHgw@mail.gmail.com>
On Tuesday 10 April 2012, Bjorn Helgaas wrote:
> > + if ((header_type & 0x7F) == PCI_HEADER_TYPE_BRIDGE) {
> > + /*
> > + * For bridges, we enable both memory and I/O decoding
> > + * in call cases.
> > + */
> > + cmd |= PCI_COMMAND_IO;
> > + cmd |= PCI_COMMAND_MEMORY;
> > + } else {
> > + /*
> > + * For endpoints, we enable memory and/or I/O decoding
> > + * only if they have a memory resource of that type.
> > + */
> > + for (i = 0; i < 6; i++) {
> > + r = &dev->resource[i];
> > + if (r->flags & IORESOURCE_UNSET) {
> > + pr_err("PCI: Device %s not available "
> > + "because of resource collisions\n",
> > + pci_name(dev));
> > + return -EINVAL;
> > + }
> > + if (r->flags & IORESOURCE_IO)
> > + cmd |= PCI_COMMAND_IO;
> > + if (r->flags & IORESOURCE_MEM)
> > + cmd |= PCI_COMMAND_MEMORY;
> > + }
>
> It would be nice if you could use pci_enable_resources() here, though
> you use IORESOURCE_UNSET here, while pci_enable_resources() does not.
> But you could at least use PCI_NUM_RESOURCES and "mask." There's
> nothing fundamentally architecture-dependent here, so I'd like to move
> toward a generic implementation.
Note that if tile does not support I/O space as indicated, it should
never enable PCI_COMMAND_IO.
Arnd
next prev parent reply other threads:[~2012-04-10 10:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-07 20:53 [PATCH 0/3] arch/tile: provide PCIe support for tilegx Chris Metcalf
2012-04-07 19:58 ` [PATCH 2/3] arch/tile: mark TILEGX as not EXPERIMENTAL Chris Metcalf
2012-04-07 20:53 ` [PATCH 1/3] arch/tile: provide kernel support for the tilegx TRIO shim Chris Metcalf
2012-04-07 23:39 ` Jesper Juhl
2012-04-08 0:21 ` Chris Metcalf
2012-04-07 21:10 ` [PATCH 3/3] arch/tile: tilegx PCI root complex support Chris Metcalf
2012-04-09 13:59 ` Arnd Bergmann
2012-04-09 21:38 ` Chris Metcalf
2012-04-10 9:14 ` Arnd Bergmann
2012-05-08 20:53 ` [PATCH v2 0/2] arch/tile: " Chris Metcalf
2012-05-08 20:53 ` [PATCH v2 1/2] arch/tile: provide kernel support for the tilegx TRIO shim Chris Metcalf
2012-05-08 21:10 ` [PATCH v2 2/2] arch/tile: tilegx PCI root complex support Chris Metcalf
2012-05-09 16:58 ` Michael S. Tsirkin
2012-04-10 0:01 ` [PATCH 3/3] " Bjorn Helgaas
2012-04-10 9:15 ` Arnd Bergmann [this message]
2012-04-15 23:09 ` Chris Metcalf
2012-06-19 19:50 ` Geert Uytterhoeven
2012-06-19 20:07 ` Yinghai Lu
2012-06-19 20:40 ` Chris Metcalf
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=201204100915.49742.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=cmetcalf@tilera.com \
--cc=dhowells@redhat.com \
--cc=jbarnes@virtuousgeek.org \
--cc=jkosina@suse.cz \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mst@redhat.com \
--cc=myron.stowe@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome