[lkml]   [2005]   [Apr]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: iomapping a big endian area
    On Mon, 2005-04-04 at 08:59 -0500, James Bottomley wrote:
    > On Mon, 2005-04-04 at 17:50 +1000, Benjamin Herrenschmidt wrote:
    > > I disagree. The driver will never "know" ...
    > ? the driver has to know. Look at the 53c700 to see exactly how awful
    > it is. This beast has byte and word registers. When used BE, all the
    > byte registers alter their position (to both inb and readb).

    What I mean is that the driver doesn't have "know" whatever CPU/bus
    combo endianness will require it to use "native" or "swapped" access.
    What the driver knows is wether the device it tries to access need BE or
    LE accessors.

    > > I don't think it's sane. You know that your device is BE or LE and use
    > > the appropriate interface. "native" doesn't make sense to me in this
    > > context.
    > Well ... it's like this. Native means "pass through without swapping"
    > and has an easy implementation on both BE and LE platforms. Logically
    > io{read,write}{16,32}be would have to do byte swaps on LE platforms.
    > Being lazy, I'm opposed to doing the work if there's no actual use for
    > it, so can you provide an example of a BE bus (or device) used on a LE
    > platform that would actually benefit from this abstraction?

    I don't think drivers will benefit from "native" vs. "swapping". Taht
    means that pretty much all drivers that care will end up with #ifdef
    crap to pick up the right one based on the CPU endian, and some wil get
    it wrong of course. No, I _do_ thing that this should be hidden in the
    implementation, and we should provide "le" and "be" accessors (le beeing
    the current ones, be new ones). Which one swap or not is in the
    implementation of those accessors for the architecture, but the driver
    shouldn't have to care.


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

     \ /
      Last update: 2005-04-06 13:31    [W:0.021 / U:7.524 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site