AXIDMA: Kill tasklet rather than disabling it

disabling it takes a reference count that can interfere with later destroy
(unless you subsequently enable())

Kill doesn't free resources or anything, just syncs and stops execution
as required.
AXIDMA: Move tasklet synchronization from halt time to free time

By free time we're out of irq context so can synchronize/kill safely
Merge branch 'mercury' into mercury-microzed

Pulls in the /real/ axidma fix, moving the sync from halt
time to free time