public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: monstr@monstr.eu
Cc: devicetree-discuss@lists.ozlabs.org,
	Grant Likely <grant.likely@secretlab.ca>,
	linux-i2c@vger.kernel.org, john.williams@petalogix.com,
	linux-kernel@vger.kernel.org, "Guan Xuetao" <gxt@mprc.pku.edu.cn>
Subject: Re: [PATCH v3 2/2] i2c: xiic: Use 32bit accesses only
Date: Wed, 23 Feb 2011 18:49:58 +0100	[thread overview]
Message-ID: <201102231849.58544.arnd@arndb.de> (raw)
In-Reply-To: <4D64D55B.50405@monstr.eu>

On Wednesday 23 February 2011 10:37:31 Michal Simek wrote:
> Arnd Bergmann wrote:
> > On Wednesday 23 February 2011 09:08:47 Michal Simek wrote:
> >> Grant Likely wrote:
> >>> On Tue, Feb 22, 2011 at 10:49 AM, Michal Simek <monstr@monstr.eu> wrote:
> >>>> i2c driver is used for LE/BE that's why is useful to use
> >>>> 32bit accesses. Then it is not necessary to solve any
> >>>> endian issues.
> >>> Are you sure?  I would expect the BE version needs to use
> >>> io{read,write}32be variants of the accessors.  What platforms have you
> >>> tested on?
> >> iowrite32 is the same with iowrite32be for Microblaze.
> >> I have no problem to change it to iowrite32be if you like.
> >>
> >> I have tested it on microblaze big and little endian platforms.
> > 
> > I think what Grant was saying is that iowrite32 being the same as
> > iowrite32be is a bug, because iowrite32 is documented to be little-endian.
> 
> Can you pointed me to that documentation?

Documented was maybe a term that is bit too strong in this case ;-)

Documentation/memory-barriers.txt documents that iowrite32 is the same
as either writel or outl, depending on the source of the mapping.

Both include/asm-generic/io.h and include/asm-generic/iomap.h define
variants of iowrite32 and iowrite32be, but the definition in io.h is
actually broken.

> > This is probably fine as long as you don't have any PCI devices,
> > but if you ever get PCI support, it won't work.
> 
> Microblaze have PCI support but I don't have the board for testing.

Ok, I see.
 
> > Also, it heavily confuses other developers such as Grant and me
> > if one architecture defines things to mean something completely
> > different from the other architectures.
> 
> As I see will be good to review microblaze io.h and use generic one.

The generic io.h is lacking in a number of ways and should really
be improved. Guan Xuetao also fell into the same trap with the
unicore32 port.

The problem is that I copied asm/io.h from mn10300, which seemed
generic enough, but it really doesn't work correctly with PCI.
There is one patch for this that I did in the unicore32 tree,
I should probably go through it and fix everything else that sticks
out.

	Arnd

  reply	other threads:[~2011-02-23 17:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22 17:49 [PATCH v3 1/2] i2c: xiic: Add OF support for Xilinx i2c bus interface Michal Simek
2011-02-22 17:49 ` [PATCH v3 2/2] i2c: xiic: Use 32bit accesses only Michal Simek
2011-02-22 18:08   ` Grant Likely
2011-02-23  8:08     ` Michal Simek
2011-02-23  8:36       ` Arnd Bergmann
2011-02-23  9:37         ` Michal Simek
2011-02-23 17:49           ` Arnd Bergmann [this message]
2011-02-23 16:56       ` Grant Likely
2011-02-22 18:11 ` [PATCH v3 1/2] i2c: xiic: Add OF support for Xilinx i2c bus interface Grant Likely

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=201102231849.58544.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=john.williams@petalogix.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=monstr@monstr.eu \
    /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