[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] readl(), writel() endianess change
Hi Claudio,
Claudio Lanconelli wrote:
this change (swap byte in readl,writel) broke my drivers and I spent a day
to dig into the issue.
After the kernel CVS update my drivers suddenly stop to work!
/*
* Defines for accessing PCI memory. PCI is inherently little-endian,
* so on Microblaze we byte swap. For a discussion on this, see
* http://lkml.org/lkml/2004/11/18/390
I guess the best way to do I/O in Microblaze drivers is with in_be32()
and out_be32(), can you confirm it?
Yes, in/out_be should be fine. We spent a lot of time researching the
question of endianess for readl/writel, and in the end the most
authoritive answer we found was that it should only be used for
accessing the PCI bus, and is therefore little endian.
PS Post a warning message on the list next time, please!!
Sorry about that - will make sure any changes like this get flagged in
future.
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/