23 Feb
2012
23 Feb
'12
6:04 p.m.
Russell King - ARM Linux wrote:
Is your readl() or readl_be() unordered then?
Yes. At least, it sure looks like it is.
Wouldn't that be buggy between coherent DMA accesses and accessing, eg, a PCI peripheral to enable or read DMA status?
I think so.
We almost never use readl. I see that it is used in some places, but honestly I can't see how it can be valid. For instance, the mpic driver uses it in mpic_startup_ht_interrupt(). I don't understand how that's valid, since there's nothing preventing the readl() from happening *before* the writeb.
I'll have to ask around, because I'm sure I'm missing something.
--
Timur Tabi
Linux kernel developer at Freescale