Hi,
> Look in cpm_iic_read() for:
> /* flush will invalidate too. */
> flush_dcache_range((unsigned long)buf, (unsigned long)(buf+count));
>
> You can't just do invalidate_dcache_range() since it will invalidate more
> than your buffer
>
In my case it did invalidate the stack :(
> if it's not cache line aligned. Therefore you must flush to memory first and
> then invalidate.
> But you don't need an explicit invalidate_dcache_range() since
> flush_dcache_range() will flush to
> memory AND invalidate.
>
Better would be to have a special DMA region for this. Or as Dan suggest forget
the
whole CPM IIC and do it by software.
Cheers,
Bart
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/