Messages in this thread | | | Date | Thu, 08 Mar 2007 17:38:22 +0100 | From | Jiri Slaby <> | Subject | [QUESTION] outl and writel endianity |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |