On Wednesday 04 June 2008 07:44, Trent Piepho wrote:
I don't think it is only a problem with coherent DMA.
CPU0 CPU1
mutex_lock(mutex);
writel(something, DATA_REG);
writel(GO, CTRL_REG);
started = 1;
mutex_unlock(mutex);
mutex_lock(mutex);
if (started)
/* oops, this can reach device before GO */
writel(STOP, CTRL_REG);
--