dmaengine: virt-dma: vchan_find_desc()
Add a function to find a descriptor within the depths of the virtualized DMA channel support. Needed for tx_status functionality. Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
50437bff7f
commit
fe045874aa
|
@ -39,6 +39,19 @@ dma_cookie_t vchan_tx_submit(struct dma_async_tx_descriptor *tx)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(vchan_tx_submit);
|
||||
|
||||
struct virt_dma_desc *vchan_find_desc(struct virt_dma_chan *vc,
|
||||
dma_cookie_t cookie)
|
||||
{
|
||||
struct virt_dma_desc *vd;
|
||||
|
||||
list_for_each_entry(vd, &vc->desc_issued, node)
|
||||
if (vd->tx.cookie == cookie)
|
||||
return vd;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vchan_find_desc);
|
||||
|
||||
/*
|
||||
* This tasklet handles the completion of a DMA descriptor by
|
||||
* calling its callback and freeing it.
|
||||
|
|
|
@ -40,8 +40,8 @@ static inline struct virt_dma_chan *to_virt_chan(struct dma_chan *chan)
|
|||
}
|
||||
|
||||
void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head);
|
||||
|
||||
void vchan_init(struct virt_dma_chan *vc, struct dma_device *dmadev);
|
||||
struct virt_dma_desc *vchan_find_desc(struct virt_dma_chan *, dma_cookie_t);
|
||||
|
||||
/**
|
||||
* vchan_tx_prep - prepare a descriptor
|
||||
|
|
Loading…
Reference in a new issue