dmaengine/coh901318: fix slave submission semantics
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 1 Jul 2011 14:47:28 +0000 (16:47 +0200)
committerVinod Koul <vinod.koul@intel.com>
Wed, 13 Jul 2011 23:26:59 +0000 (04:56 +0530)
commitb89243dd0e6a1c96a4a346cb3e1ba2c637cdfe98
tree44cf691c79d5ce229ec0afe76d04ebd438c1576e
parent98ca528916c47ad17f78a07b45e49de3940fba77
dmaengine/coh901318: fix slave submission semantics

While testing Per Forlins MMC speed improvements I noticed a
semantic bug in the COH901318 driver: it will write to channel
registers in the prep_slave_sg() function, instead of deferring
it to later, breaking the assumption from the drivers to be able
to queue up new jobs while another job is running. Fix this by
storing up the initial register writes in the job descriptors
and write them to hardware when we process the descriptor
instead. Now the stress tests work.

Acked-by: Per Forlin <per.forlin@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/coh901318.c