From: Arnd Bergmann <arnd@arndb.de>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Jiri Slaby <jirislaby@gmail.com>, Pekka Paalanen <pq@iki.fi>,
linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
lethal@linux-sh.org, linux-sh@vger.kernel.org
Subject: Re: Do cpu-endian MMIO accessors exist?
Date: Wed, 22 Jul 2009 13:44:40 +0000 [thread overview]
Message-ID: <200907221544.41054.arnd@arndb.de> (raw)
In-Reply-To: <20090722094309.10b25290@lxorguk.ukuu.org.uk>
On Wednesday 22 July 2009, Alan Cox wrote:
>
> > in this case. Also, ioread32 should actually multiplex between
> > readl() and inl() based on the address token, as the code in
> > lib/iomap.c does. It's probably easy enough to enable
> > CONFIG_GENERIC_IOMAP on sh, and remove the ioread*/iowrite*
> > macros from arch/sh/include/asm/io.h.
>
> If your platform is purely MMIO based then ioread32 and readl can become
> the same thing, which is much more efficient. Even if you have port based
> devices that are mapped as MMIO surely its more efficient to do the
> relevant address tweaking in the iomap not in the read ?
I did check that the architecture in question (sh) cannot do this,
because it actually implements board specific PIO functions in
arch/sh/boards/mach-*/io.c.
For architectures that don't need such hacks, I fully agree.
Arnd <><
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Jiri Slaby <jirislaby@gmail.com>, Pekka Paalanen <pq@iki.fi>,
linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
lethal@linux-sh.org, linux-sh@vger.kernel.org
Subject: Re: Do cpu-endian MMIO accessors exist?
Date: Wed, 22 Jul 2009 15:44:40 +0200 [thread overview]
Message-ID: <200907221544.41054.arnd@arndb.de> (raw)
In-Reply-To: <20090722094309.10b25290@lxorguk.ukuu.org.uk>
On Wednesday 22 July 2009, Alan Cox wrote:
>
> > in this case. Also, ioread32 should actually multiplex between
> > readl() and inl() based on the address token, as the code in
> > lib/iomap.c does. It's probably easy enough to enable
> > CONFIG_GENERIC_IOMAP on sh, and remove the ioread*/iowrite*
> > macros from arch/sh/include/asm/io.h.
>
> If your platform is purely MMIO based then ioread32 and readl can become
> the same thing, which is much more efficient. Even if you have port based
> devices that are mapped as MMIO surely its more efficient to do the
> relevant address tweaking in the iomap not in the read ?
I did check that the architecture in question (sh) cannot do this,
because it actually implements board specific PIO functions in
arch/sh/boards/mach-*/io.c.
For architectures that don't need such hacks, I fully agree.
Arnd <><
next prev parent reply other threads:[~2009-07-22 13:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-21 20:42 Do cpu-endian MMIO accessors exist? Pekka Paalanen
2009-07-21 20:59 ` Jiri Slaby
2009-07-21 21:15 ` Arnd Bergmann
2009-07-21 21:33 ` Christoph Hellwig
2009-07-21 22:01 ` Arnd Bergmann
2009-07-22 17:11 ` Pekka Paalanen
2009-07-22 21:19 ` Arnd Bergmann
2009-07-23 16:23 ` Pekka Paalanen
2009-07-22 21:20 ` Arnd Bergmann
2009-07-21 21:56 ` Jiri Slaby
2009-07-21 22:05 ` Arnd Bergmann
2009-07-22 7:24 ` Jiri Slaby
2009-07-22 7:24 ` Jiri Slaby
2009-07-22 8:35 ` Arnd Bergmann
2009-07-22 8:35 ` Arnd Bergmann
2009-07-22 8:43 ` Alan Cox
2009-07-22 8:43 ` Alan Cox
2009-07-22 13:44 ` Arnd Bergmann [this message]
2009-07-22 13:44 ` Arnd Bergmann
2009-07-27 5:00 ` Paul Mundt
2009-07-27 5:00 ` Paul Mundt
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=200907221544.41054.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hch@infradead.org \
--cc=jirislaby@gmail.com \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=pq@iki.fi \
/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.