[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200708081528.34116.mb@bu3sch.de>
Date: Wed, 8 Aug 2007 15:28:33 +0200
From: Michael Buesch <mb@...sch.de>
To: Andi Kleen <andi@...stfloor.org>
Cc: Jeff Garzik <jeff@...zik.org>, ggrundstrom@...effect.com,
rdreier@...co.com, ewg@...ts.openfabrics.org,
netdev@...r.kernel.org
Subject: Re: [PATCH 2/14] nes: device structures and defines
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 <jeff@...zik.org> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists