On Wednesday 08 August 2007 15:08:28 Andi Kleen wrote: > On Wed, Aug 08, 2007 at 03:02:35PM +0200, Michael Buesch wrote: > > On Wednesday 08 August 2007 14:55:11 Andi Kleen wrote: > > > On Wed, Aug 08, 2007 at 01:50:35PM +0200, Michael Buesch wrote: > > > > On Wednesday 08 August 2007 14:38:10 Andi Kleen wrote: > > > > > Jeff Garzik <[EMAIL PROTECTED]> writes: > > > > > > > + val, reg_index, addr, addr+4); */ > > > > > > > + writel(cpu_to_le32(reg_index), addr); > > > > > > > + writel(cpu_to_le32(val),(u8 *)addr + 4); > > > > > > > > > > > > wrong -- endian conversion macros not needed with writel()
> > Fact is that we do _not_ need cpu_to_le32 with writel. > > We do on a big endian platform if the register is LE. I assume that's the > case > on this hardware. That is not true. writeX does automatically convert to bus-endian. Which, in case of the PCI bus, is little endian. So if your register is LE (which it is most likely), you don't need any conversion. If your register is BE (which I very much doubt), then you need swab32(). In _no_ case you need cpu_to_xx(). -- Greetings Michael. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html