diff options
Diffstat (limited to 'drivers/dma')
-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 { | |||
223 | * @host: a pointer to the host (internal use) | 223 | * @host: a pointer to the host (internal use) |
224 | * @state: whether the channel is idle, paused, running etc | 224 | * @state: whether the channel is idle, paused, running etc |
225 | * @slave: whether this channel is a device (slave) or for memcpy | 225 | * @slave: whether this channel is a device (slave) or for memcpy |
226 | * @waiting: a TX descriptor on this channel which is waiting for a physical | ||
227 | * channel to become available | ||
228 | * @signal: the physical DMA request signal which this channel is using | 226 | * @signal: the physical DMA request signal which this channel is using |
229 | * @mux_use: count of descriptors using this DMA request signal setting | 227 | * @mux_use: count of descriptors using this DMA request signal setting |
230 | */ | 228 | */ |
@@ -243,7 +241,6 @@ struct pl08x_dma_chan { | |||
243 | struct pl08x_driver_data *host; | 241 | struct pl08x_driver_data *host; |
244 | enum pl08x_dma_chan_state state; | 242 | enum pl08x_dma_chan_state state; |
245 | bool slave; | 243 | bool slave; |
246 | struct pl08x_txd *waiting; | ||
247 | int signal; | 244 | int signal; |
248 | unsigned mux_use; | 245 | unsigned mux_use; |
249 | }; | 246 | }; |
@@ -1074,7 +1071,6 @@ static dma_cookie_t pl08x_tx_submit(struct dma_async_tx_descriptor *tx) | |||
1074 | if (!plchan->slave && !plchan->phychan) { | 1071 | if (!plchan->slave && !plchan->phychan) { |
1075 | /* Do this memcpy whenever there is a channel ready */ | 1072 | /* Do this memcpy whenever there is a channel ready */ |
1076 | plchan->state = PL08X_CHAN_WAITING; | 1073 | plchan->state = PL08X_CHAN_WAITING; |
1077 | plchan->waiting = txd; | ||
1078 | } else { | 1074 | } else { |
1079 | plchan->phychan_hold--; | 1075 | plchan->phychan_hold--; |
1080 | } | 1076 | } |
@@ -1696,8 +1692,7 @@ static void pl08x_tasklet(unsigned long data) | |||
1696 | */ | 1692 | */ |
1697 | list_for_each_entry(waiting, &pl08x->memcpy.channels, | 1693 | list_for_each_entry(waiting, &pl08x->memcpy.channels, |
1698 | chan.device_node) { | 1694 | chan.device_node) { |
1699 | if (waiting->state == PL08X_CHAN_WAITING && | 1695 | if (waiting->state == PL08X_CHAN_WAITING) { |
1700 | waiting->waiting != NULL) { | ||
1701 | int ret; | 1696 | int ret; |
1702 | 1697 | ||
1703 | /* This should REALLY not fail now */ | 1698 | /* This should REALLY not fail now */ |
@@ -1705,7 +1700,6 @@ static void pl08x_tasklet(unsigned long data) | |||
1705 | BUG_ON(ret); | 1700 | BUG_ON(ret); |
1706 | waiting->phychan_hold--; | 1701 | waiting->phychan_hold--; |
1707 | waiting->state = PL08X_CHAN_RUNNING; | 1702 | waiting->state = PL08X_CHAN_RUNNING; |
1708 | waiting->waiting = NULL; | ||
1709 | pl08x_issue_pending(&waiting->chan); | 1703 | pl08x_issue_pending(&waiting->chan); |
1710 | break; | 1704 | break; |
1711 | } | 1705 | } |