linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Carsten Schlote <c.schlote@konzeptpark.de>
Cc: linuxppc-dev <Linuxppc-dev@ozlabs.org>
Subject: RE: USB support on mpc5200 broken
Date: Wed, 01 Oct 2008 20:36:36 +1000	[thread overview]
Message-ID: <1222857396.12264.27.camel@pasglop> (raw)
In-Reply-To: <46597312D56D2A47A3A6E9C1D0D9B7AE012A7431@kpladc0001.konzeptpark.intra>

On Wed, 2008-10-01 at 11:46 +0200, Carsten Schlote wrote:
> 
> 
> The framebuffer use-case is currently the only one, where such a
> hardware-swapper could be really useful. But still the drivers would
> have to know about this feature, it would require query/set macros/fcts
> for endian translation modes in the kernel, ... - in short it causes
> lots of extra overhead. And for framebuffers the need for such hard-ware
> swappers can be eleminated by using the right framebuffer mode.

Actually, fb's are -the- case where it's really necessary to have endian
swappers when they sit on PCI due to the way byte lanes are swapped on a
PCI host bridge on a BE platform, if you want to keep the same pixel
order as an x86 which is usually not only all that cards support, while
still having SW use native order which is usually all that the X server
supports :-)

> I fear, that such hard-wired 'magic' swapping is the source and reason
> for some of my current problems.

I wouldn't be surprised. The worst case I've seen is HW engineers trying
to be too smart for their own good and swapping the byte lanes of >8
bits data stream fifo's such as IDE (yeah, it makes the IDE ID block
more directly readable, at the expense of swapping all the data
effectively preventing the use of DMA unless you are fine with a custom
on-disk format incompatible with everything else).

Cheers,
Ben.

  reply	other threads:[~2008-10-01 10:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-24 21:51 USB support on mpc5200 broken Jon Smirl
2008-09-25  1:09 ` Jon Smirl
2008-09-25  1:50   ` Benjamin Herrenschmidt
2008-09-25  2:40     ` Jon Smirl
2008-09-29  1:30     ` Matt Sealey
2008-09-29  3:43       ` David Gibson
2008-09-29 14:14         ` Jon Smirl
2008-09-29 14:22           ` Peter Korsgaard
2008-09-29 14:28             ` Jon Smirl
2008-09-29 15:07               ` Peter Korsgaard
2008-09-29 20:18           ` Scott Wood
2008-09-29 21:04             ` Jon Smirl
2008-09-29 22:02               ` Grant Likely
2008-09-30 15:20           ` Matt Sealey
2008-10-01  3:31             ` Benjamin Herrenschmidt
2008-10-01  9:46               ` Carsten Schlote
2008-10-01 10:36                 ` Benjamin Herrenschmidt [this message]
2008-10-06 21:06               ` Matt Sealey
2008-09-29 15:18         ` Sven Luther
2008-09-29 17:05           ` Peter Korsgaard
2008-09-30  1:12           ` David Gibson
2008-09-30  1:24             ` Raquel and Bill
2008-09-30 15:15         ` Matt Sealey
2008-11-03 15:41   ` Grant Likely
2008-11-03 16:21     ` Jon Smirl

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=1222857396.12264.27.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=Linuxppc-dev@ozlabs.org \
    --cc=c.schlote@konzeptpark.de \
    /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;
as well as URLs for NNTP newsgroup(s).