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