diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-25 13:08:13 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-07-01 15:15:54 +0200 |
commit | 7847f6b55e6a5fe0bbcdaf20db291c9b1db890e8 (patch) | |
tree | 38a859d73ff084bee7bd4faee2c71eab9cec7cd5 /drivers/dma/amba-pl08x.c | |
parent | dmaengine: PL08x: move DMA signal muxing into slave prepare code (diff) | |
download | linux-7847f6b55e6a5fe0bbcdaf20db291c9b1db890e8.tar.xz linux-7847f6b55e6a5fe0bbcdaf20db291c9b1db890e8.zip |
dmaengine: PL08x: remove waiting descriptor pointer
As we no longer need to pass a descriptor to prep_phy_channel(), we
don't need to keep track of the descriptor which is waiting for a
channel to become available. So let's get rid of it.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/dma/amba-pl08x.c')
-rw-r--r-- | drivers/dma/amba-pl08x.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c index e04ca0b01f98..88661fa4542c 100644 --- a/drivers/dma/amba-pl08x.c +++ b/drivers/dma/amba-pl08x.c @@ -223,8 +223,6 @@ enum pl08x_dma_chan_state { * @host: a pointer to the host (internal use) * @state: whether the channel is idle, paused, running etc * @slave: whether this channel is a device (slave) or for memcpy - * @waiting: a TX descriptor on this channel which is waiting for a physical - * channel to become available * @signal: the physical DMA request signal which this channel is using * @mux_use: count of descriptors using this DMA request signal setting */ @@ -243,7 +241,6 @@ struct pl08x_dma_chan { struct pl08x_driver_data *host; enum pl08x_dma_chan_state state; bool slave; - struct pl08x_txd *waiting; int signal; unsigned mux_use; }; @@ -1074,7 +1071,6 @@ static dma_cookie_t pl08x_tx_submit(struct dma_async_tx_descriptor *tx) if (!plchan->slave && !plchan->phychan) { /* Do this memcpy whenever there is a channel ready */ plchan->state = PL08X_CHAN_WAITING; - plchan->waiting = txd; } else { plchan->phychan_hold--; } @@ -1696,8 +1692,7 @@ static void pl08x_tasklet(unsigned long data) */ list_for_each_entry(waiting, &pl08x->memcpy.channels, chan.device_node) { - if (waiting->state == PL08X_CHAN_WAITING && - waiting->waiting != NULL) { + if (waiting->state == PL08X_CHAN_WAITING) { int ret; /* This should REALLY not fail now */ @@ -1705,7 +1700,6 @@ static void pl08x_tasklet(unsigned long data) BUG_ON(ret); waiting->phychan_hold--; waiting->state = PL08X_CHAN_RUNNING; - waiting->waiting = NULL; pl08x_issue_pending(&waiting->chan); break; } |