linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Metcalf <cmetcalf@tilera.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-arch@vger.kernel.org,
	Rolf Eike Beer <eike-kernel@sf-tec.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Maxin B. John" <maxin.john@gmail.com>, Tejun Heo <tj@kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Lucas De Marchi <lucas.demarchi@profusion.mobi>,
	Paul Mundt <lethal@linux-sh.org>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	"David S. Miller" <davem@davemloft.net>,
	Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH] lib/devres.c: allow specifying NO_IOPORT while using PCI
Date: Fri, 2 Dec 2011 13:48:53 -0500	[thread overview]
Message-ID: <4ED91D95.6040601@tilera.com> (raw)
In-Reply-To: <1616727.0BYPKXtoA0@wuerfel>

On 12/1/2011 5:47 PM, Arnd Bergmann wrote:
> On Thursday 01 December 2011 12:59:19 Chris Metcalf wrote:
>> The tile architecture does not support IOPORT, but it does support
>> PCI and IOMEM.  We were not specifying NO_IOPORT, though, because it
>> was causing a couple of functions (pcim_iomap_regions and pcim_iomap_table)
>> that are needed to not get provided.  Moving the #ifdef fixes this
>> so that those functions and some related ones are now always provided
>> if CONFIG_PCI is true.
>>
>> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
> Hmm, I'm sure that Al Viro intentionally did it the way it is, but I'm
> not sure exactly why that would be.
>
> Any driver using the functions you now expose for NO_IOPORT is probably
> prepared to handle both MMIO and PIO BARs on PCI, which you can consider
> broken in the case where a card actually requires PIO.
>
> On tile, it would be just as broken as other drivers that directly use
> inb/outb to do the port access, but on platforms that actually have
> PIO but are not able to map them (like arm/mach-rpc), you would now
> enable people to write silently broken drivers.
>
> However, assuming they check the return value of the *iomap, the
> drivers could still easily detect this case at runtime. Also, at
> least on tile, you already provide a pci_iomap function, which
> has the exact same problem as the devres functions.
>
> One area where your patch might actually break existing code is
> architectures that allow the devres functions to be built *and*
> have PCI support but don't provide a pci_iomap function, because
> they do not support mapping the PIO range into addresses. I'm
> not sure if that's actually still the case anywhere after Michael's
> recent patches, but it used to be the case on RPC and probably others.

Sounds sufficiently subtle that I'll plan to drop the patch unless someone
else (maybe Al Viro, now cc'ed) wants to weigh in.  For tile this just
means we'll continue not to set NO_IOPORT, at the cost of a few hundred
bytes of dead code; no big deal.

The specific issue I saw was calls to pcim_iomap_{regions,table} from
drivers/ata/libata-sff.c and drivers/ata/sata_sil24.c; we use the
sata_sil24 in one of our platforms (TILEmpower).

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

  parent reply	other threads:[~2011-12-02 18:48 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-29 18:54 [PATCH-RFC 0/2] tile: switch to generic pci_iomap Michael S. Tsirkin
2011-11-29 18:54 ` [PATCH-RFC 1/2] tile: don't panic on iomap Michael S. Tsirkin
2011-11-29 18:54   ` Michael S. Tsirkin
2011-11-29 21:04   ` Bjorn Helgaas
2011-11-29 21:04     ` Bjorn Helgaas
2011-11-30  7:04     ` Michael S. Tsirkin
2011-11-29 22:05   ` Arnd Bergmann
2011-11-29 22:05     ` Arnd Bergmann
2011-11-30  7:13     ` Michael S. Tsirkin
2011-11-30  9:09       ` Arnd Bergmann
2011-11-30  9:09         ` Arnd Bergmann
2011-11-30 11:59         ` Michael S. Tsirkin
2011-11-30 14:04           ` Arnd Bergmann
2011-11-30 14:04             ` Arnd Bergmann
2011-11-30 14:31             ` Michael S. Tsirkin
2011-11-30 15:49               ` Arnd Bergmann
2011-11-30 15:59                 ` Michael S. Tsirkin
2011-11-30 18:32                   ` Arnd Bergmann
2011-11-30 18:32                     ` Arnd Bergmann
2011-12-01 17:59                 ` [PATCH] lib/devres.c: allow specifying NO_IOPORT while using PCI Chris Metcalf
2011-12-01 17:59                   ` Chris Metcalf
2011-12-01 18:44                   ` Tejun Heo
2011-12-01 18:44                     ` Tejun Heo
2011-12-01 18:48                     ` Chris Metcalf
2011-12-01 22:47                   ` Arnd Bergmann
2011-12-01 22:47                     ` Arnd Bergmann
2011-12-02 18:48                     ` Chris Metcalf [this message]
2011-12-02 18:48                       ` Chris Metcalf
2011-12-05 15:14                       ` Arnd Bergmann
2011-12-05 20:08                         ` Chris Metcalf
2011-12-05 20:08                           ` Chris Metcalf
2011-11-30  9:08   ` [PATCH-RFC 1/2 v2] tile: don't panic on iomap Michael S. Tsirkin
2011-11-30  9:08     ` Michael S. Tsirkin
2011-11-29 18:54 ` [PATCH-RFC 2/2] tile: switch to GENERIC_PCI_IOMAP Michael S. Tsirkin
2011-11-29 18:54   ` Michael S. Tsirkin
2011-11-30 21:19   ` 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=4ED91D95.6040601@tilera.com \
    --to=cmetcalf@tilera.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=eike-kernel@sf-tec.de \
    --cc=jbarnes@virtuousgeek.org \
    --cc=lethal@linux-sh.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lucas.demarchi@profusion.mobi \
    --cc=maxin.john@gmail.com \
    --cc=mst@redhat.com \
    --cc=tj@kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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).