Re: New resources - pls, explain :-(

Jes Sorensen (Jes.Sorensen@cern.ch)
14 Aug 1999 20:21:17 +0200


>>>>> "Linus" == Linus Torvalds <torvalds@transmeta.com> writes:

Linus> It seems to me that at least the fbcon people want more than
Linus> just to avoid byte swapping: wat they fundamentally want is not
Linus> non-byte-swapped data, they really fundamentally want control
Linus> at a very low level. I bet they'd be happy with not just
Linus> avoiding the byte swap, but also avoiding the ordering
Linus> constraints (or at least controlling them on a higher level).

Linus> So __writel() would probably fit their needs better too than
Linus> any "big-endian" or "native-endian" thing - because it really
Linus> fundamentally is about direct access rather than about
Linus> endianness.

Linus, please don't do this.

I think __writel() should expect little endian access as well, we need
both __writel() which doesn't do ordering _and_ writel_be() since it
will otherwise cause problems on big endian machines if you want to
write a portable device driver optimized with wmb()'s in the right
place if __writel() suddenly doesn't to byte swapping.

In fact we will need at least:

writel() - ordered, little endian
__writel() - non ordered (and possibly other things) - little endian
writel_be() - like writel() but big endian
__writel_be() - non ordered - big endian

The only one that could possibly be left out is the ordered
writel_be() but I think we should put it in there as well.

Jes

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/