struct tegra_dma_req *req);
static void tegra_dma_stop(struct tegra_dma_channel *ch);
-void tegra_dma_flush(struct tegra_dma_channel *ch)
-{
-}
-EXPORT_SYMBOL(tegra_dma_flush);
-
-void tegra_dma_dequeue(struct tegra_dma_channel *ch)
-{
- struct tegra_dma_req *req;
-
- if (tegra_dma_is_empty(ch))
- return;
-
- req = list_entry(ch->list.next, typeof(*req), node);
-
- tegra_dma_dequeue_req(ch, req);
- return;
-}
-
void tegra_dma_stop(struct tegra_dma_channel *ch)
{
u32 csr;
}
if (!found) {
spin_unlock_irqrestore(&ch->lock, irq_flags);
- return 0;
+ return -EINVAL;
}
if (!stop)
spin_unlock_irqrestore(&ch->lock, irq_flags);
- /* Callback should be called without any lock */
- req->complete(req);
return 0;
}
EXPORT_SYMBOL(tegra_dma_dequeue_req);
struct tegra_dma_req *req);
int tegra_dma_dequeue_req(struct tegra_dma_channel *ch,
struct tegra_dma_req *req);
-void tegra_dma_dequeue(struct tegra_dma_channel *ch);
void tegra_dma_flush(struct tegra_dma_channel *ch);
bool tegra_dma_is_req_inflight(struct tegra_dma_channel *ch,