diff options
Diffstat (limited to 'drivers/dma/ppc4xx/adma.c')
-rw-r--r-- | drivers/dma/ppc4xx/adma.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/dma/ppc4xx/adma.c b/drivers/dma/ppc4xx/adma.c index 12e94dd6fc3d..86239ea01898 100644 --- a/drivers/dma/ppc4xx/adma.c +++ b/drivers/dma/ppc4xx/adma.c | |||
@@ -3928,28 +3928,16 @@ static enum dma_status ppc440spe_adma_tx_status(struct dma_chan *chan, | |||
3928 | dma_cookie_t cookie, struct dma_tx_state *txstate) | 3928 | dma_cookie_t cookie, struct dma_tx_state *txstate) |
3929 | { | 3929 | { |
3930 | struct ppc440spe_adma_chan *ppc440spe_chan; | 3930 | struct ppc440spe_adma_chan *ppc440spe_chan; |
3931 | dma_cookie_t last_used; | ||
3932 | dma_cookie_t last_complete; | ||
3933 | enum dma_status ret; | 3931 | enum dma_status ret; |
3934 | 3932 | ||
3935 | ppc440spe_chan = to_ppc440spe_adma_chan(chan); | 3933 | ppc440spe_chan = to_ppc440spe_adma_chan(chan); |
3936 | last_used = chan->cookie; | 3934 | ret = dma_cookie_status(chan, cookie, txstate); |
3937 | last_complete = chan->completed_cookie; | ||
3938 | |||
3939 | dma_set_tx_state(txstate, last_complete, last_used, 0); | ||
3940 | |||
3941 | ret = dma_async_is_complete(cookie, last_complete, last_used); | ||
3942 | if (ret == DMA_SUCCESS) | 3935 | if (ret == DMA_SUCCESS) |
3943 | return ret; | 3936 | return ret; |
3944 | 3937 | ||
3945 | ppc440spe_adma_slot_cleanup(ppc440spe_chan); | 3938 | ppc440spe_adma_slot_cleanup(ppc440spe_chan); |
3946 | 3939 | ||
3947 | last_used = chan->cookie; | 3940 | return dma_cookie_status(chan, cookie, txstate); |
3948 | last_complete = chan->completed_cookie; | ||
3949 | |||
3950 | dma_set_tx_state(txstate, last_complete, last_used, 0); | ||
3951 | |||
3952 | return dma_async_is_complete(cookie, last_complete, last_used); | ||
3953 | } | 3941 | } |
3954 | 3942 | ||
3955 | /** | 3943 | /** |