Skip to contentSkip to conversation

dmaengine: sirf: Add device_slave_caps interface

PATCH New Barry Song 2 participants 4 messages Dec 23, 2013 – Jan 20, 2014 dmaengine

lore
Share & tools
lore

Barry Song

author
#0 lore raw

PATCH 1/1 dmaengine: sirf: Add device_slave_caps interface

From: Rongjun Ying <[email protected]>

this patch adds device_slave_caps() callback as SiRF SoC sound drivers depend on it.

---
 drivers/dma/sirf-dma.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
drivers/dma/sirf-dma.c +20 -0
index 6aec3ad..d4d3a31 100644
@@ -640,6 +640,25 @@ bool sirfsoc_dma_filter_id(struct dma_chan *chan, void *chan_id)
 }
 EXPORT_SYMBOL(sirfsoc_dma_filter_id);
 
+#define SIRFSOC_DMA_BUSWIDTHS \
+	(BIT(DMA_SLAVE_BUSWIDTH_UNDEFINED) | \
+	BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | \
+	BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | \
+	BIT(DMA_SLAVE_BUSWIDTH_4_BYTES) | \
+	BIT(DMA_SLAVE_BUSWIDTH_8_BYTES))
+
+static int sirfsoc_dma_device_slave_caps(struct dma_chan *dchan,
+	struct dma_slave_caps *caps)
+{
+	caps->src_addr_widths = SIRFSOC_DMA_BUSWIDTHS;
+	caps->dstn_addr_widths = SIRFSOC_DMA_BUSWIDTHS;
+	caps->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
+	caps->cmd_pause = true;
+	caps->cmd_terminate = true;
+
+	return 0;
+}
+
 static int sirfsoc_dma_probe(struct platform_device *op)
 {
 	struct device_node *dn = op->dev.of_node;
@@ -712,6 +731,7 @@ static int sirfsoc_dma_probe(struct platform_device *op)
 	dma->device_tx_status = sirfsoc_dma_tx_status;
 	dma->device_prep_interleaved_dma = sirfsoc_dma_prep_interleaved;
 	dma->device_prep_dma_cyclic = sirfsoc_dma_prep_cyclic;
+	dma->device_slave_caps = sirfsoc_dma_device_slave_caps;
 
 	INIT_LIST_HEAD(&dma->channels);
 	dma_cap_set(DMA_SLAVE, dma->cap_mask);
Signature · 1 line
1.7.5.4
Applied
#1 lore raw

PATCH 1/1 dmaengine: sirf: Add device_slave_caps interface

Quoted 4 lines · Barry Song

From: Rongjun Ying <[email protected]>

this patch adds device_slave_caps() callback as SiRF SoC sound drivers depend on it.

Applied, thanks

--
~Vinod

#2 lore raw

PATCH 1/1 dmaengine: sirf: Add device_slave_caps interface

Quoted 7 lines · Vinod Koul
Quoted 4 lines · Barry Song

From: Rongjun Ying <[email protected]>

this patch adds device_slave_caps() callback as SiRF SoC sound drivers depend on it.

Applied, thanks

Btw you should send incremental patch for granurity reporting after the merge window. Those changes are getting merged thru ASoC tree.

Signature · 1 line
~Vinod
author
#3 lore raw

PATCH 1/1 dmaengine: sirf: Add device_slave_caps interface

2014/1/20 Vinod Koul <[email protected]>:

Quoted 11 lines · Vinod Koul
Quoted 7 lines · Barry Song
Quoted 4 lines

From: Rongjun Ying <[email protected]>

this patch adds device_slave_caps() callback as SiRF SoC sound drivers depend on it.

Applied, thanks

Btw you should send incremental patch for granurity reporting after the merge window. Those changes are getting merged thru ASoC tree.

yes. Rongjun is now handling the audio stuff with ASoC guys.

Quoted 3 lines

--
~Vinod

-barry