Hi,
The ARM processor is in BIG-ENDIAN mode. I have executed a program
to check in whcih mode is the processor.

So from ur infrence, it would mean that , qtd_fill( ) function which
does the cpu_to_le32() of the DMA hardware buffer would get screwed up
 in my case .

So removing the converting of DMA address to little endian from native
endian (big-endian), would solve the problem..

Thanks


On 6/15/06, David Brownell <[EMAIL PROTECTED]> wrote:
> On Thursday 15 June 2006 4:14 am, rakesh kn wrote:
> > Hi all,
>
> Let me repeat my earlier multiple requests to you that you not send
> me private email that's duplicating what you send to the public
> linux-usb-devel list ... one copy is more than enough.
>
>
> > If my processor is ARM  based, i get the DMA address in Big-Endian,
> > and i convert the DMA address to Little-Endian and assigning in Qtd
> > Hardware Buffers. My EHCI Controller is ARC.
>
> Actually most ARM processors are little-endian, although some
> support both operational modes.  Have you tried running your
> CPU in little-endian mode, which is more conventional?
>
> I took a quick glance at the EHCI spec and didn't see any
> text specifying endianness for those fields.  Clearly all
> the PCI based controllers use little-endian encoding.
>
> So in theory I suppose some EHCI vendor might have chosen
> to implement DMA pointers in cpu-native format, rather than
> always being little-endian.  OHCI has some ugly code to
> cope with that class of problem ... it's worst for systems
> that have both PCI (little-endian) and odd-endian hardware.
>
> - Dave
>


_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to