dw_dmac: introduce to_dw_desc() macro
The to_dw_desc() macro helps to retrieve the dw_desc node from the corresponding list_head structure. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
This commit is contained in:
parent
ba84bd7146
commit
e63a47a361
|
@ -93,7 +93,7 @@ static struct device *chan2parent(struct dma_chan *chan)
|
||||||
|
|
||||||
static struct dw_desc *dwc_first_active(struct dw_dma_chan *dwc)
|
static struct dw_desc *dwc_first_active(struct dw_dma_chan *dwc)
|
||||||
{
|
{
|
||||||
return list_entry(dwc->active_list.next, struct dw_desc, desc_node);
|
return to_dw_desc(dwc->active_list.next);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dw_desc *dwc_desc_get(struct dw_dma_chan *dwc)
|
static struct dw_desc *dwc_desc_get(struct dw_dma_chan *dwc)
|
||||||
|
@ -600,9 +600,7 @@ static void dw_dma_tasklet(unsigned long data)
|
||||||
if (test_bit(DW_DMA_IS_SOFT_LLP, &dwc->flags)) {
|
if (test_bit(DW_DMA_IS_SOFT_LLP, &dwc->flags)) {
|
||||||
if (dwc->tx_node_active != dwc->tx_list) {
|
if (dwc->tx_node_active != dwc->tx_list) {
|
||||||
struct dw_desc *desc =
|
struct dw_desc *desc =
|
||||||
list_entry(dwc->tx_node_active,
|
to_dw_desc(dwc->tx_node_active);
|
||||||
struct dw_desc,
|
|
||||||
desc_node);
|
|
||||||
|
|
||||||
dma_writel(dw, CLEAR.XFER, dwc->mask);
|
dma_writel(dw, CLEAR.XFER, dwc->mask);
|
||||||
|
|
||||||
|
|
|
@ -299,6 +299,8 @@ struct dw_desc {
|
||||||
size_t len;
|
size_t len;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define to_dw_desc(h) list_entry(h, struct dw_desc, desc_node)
|
||||||
|
|
||||||
static inline struct dw_desc *
|
static inline struct dw_desc *
|
||||||
txd_to_dw_desc(struct dma_async_tx_descriptor *txd)
|
txd_to_dw_desc(struct dma_async_tx_descriptor *txd)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue