15 May
2007
15 May
'07
11:30 p.m.
On 15/05/07, Heikki Orsila shdl@zakalwe.fi wrote:
I still noticed some type cleanups, and possibly a good debug message..
On Mon, May 14, 2007 at 11:14:55PM +0100, Adrian McMenamin wrote:
+/* spu_memload - write to SPU address space */ +static void spu_memload(u32 toi, void __iomem * from, int length) +{
u32 __iomem *froml = from;
u32 __iomem *to = (u32 __iomem *) (SPU_MEMORY_BASE + toi);
int i, val;
You should use "void *from" because it's not IO memory. Also, use "u32 val" since that is the native type of "u32 *from".
length = DIV_ROUND_UP(length, 4);
spu_write_wait();
for (i = 0; i < length; i++) {
val = *froml;
writel(val, to);
froml++;
to++;
if (i && !(i % 8))
spu_write_wait();
}
+}
It seems a small simplification is possible:
/* remove first spu_write_wait(); */ for (i = 0; i < length; i++) { if (!(i % 8)) spu_write_wait(); val = *froml; ... }
No, that would be dangerous because we don't know what state the FIFO is in when this is called.