dma: mv_xor: Flush descriptors before activating a channel
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Wed, 21 May 2014 21:02:35 +0000 (14:02 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 9 Jun 2014 12:29:15 +0000 (13:29 +0100)
commit795bd4fa3417ef8fd7f5e0965c8dbe3817393b49
tree6a332a3b2d6ca8e52bcba52e1eba02800343e216
parent4cb5bbfb6626289d638fa5cee9357305376d6327
dma: mv_xor: Flush descriptors before activating a channel

commit 5a9a55bf9157d3490b0c8c4c81d4708602c26e07 upstream.

We need to use writel() instead of writel_relaxed() when starting
a channel, to ensure all the descriptors have been flushed before
the activation.

While at it, remove the unneeded read-modify-write and make the
code simpler.

Signed-off-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
[bwh: Backported to 3.2: it was using __raw_readl() and __raw_writel()
 which are just as wrong]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/dma/mv_xor.c