[lkml]   [1999]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: New resources - pls, explain :-(
    >>>>> "Linus" == Linus Torvalds <> 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.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:53    [W:0.019 / U:4.680 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site