[QUESTION] outl and writel endianity

From: Jiri Slaby
Date: Thu Mar 08 2007 - 11:39:52 EST


Hi.

If I use outl everything seems to be OK. Is there any difference in endianity between outl and writel (or iowrite32, which calls writel, I guess).

When I do
outl(val, p->ibase + 4*off);
everyhting is OK, but when I do
writel(val, p->iaddr + off);
bad value is written unless I use cpu_to_be32(val) (or swap32).

this is what p struct contains:
u32 __iomem *iaddr;
unsigned long ibase;
and this, how it is initialized:
p->ibase = pci_resource_start(pdev, 2);
p->iaddr = pci_iomap(pdev, 2, 0);

What's the proper use of this? iowrite32be seems to work too.

thanks,
--
http://www.fi.muni.cz/~xslaby/ Jiri Slaby
faculty of informatics, masaryk university, brno, cz
e-mail: jirislaby gmail com, gpg pubkey fingerprint:
B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/