Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1331890 > unrolled thread

[PATCH v3 00/14] ASoC: qcom: Add capture support.

Started bySrinivas Kandagatla <srinivas.kandagatla@linaro.org>
First post2016-02-11 13:20 +0100
Last post2016-02-11 13:30 +0100
Articles 8 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v3 00/14] ASoC: qcom: Add capture support. Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 09/14] ASoC: qcom: add mic related i2s control register defines Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 01/14] ASoC: qcom: use snd_dma_alloc/free* apis Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 06/14] ASoC: qcom: rename rdma_ch_bit_map to dma_ch_bit_map Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 05/14] ASoC: qcom: ipq806x: add error in dma allocation. Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 04/14] ASoC: qcom: pass direction to dma allocation Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 10/14] ASoC: qcom: add wrdma register definitions Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:20 +0100
    [PATCH v3 07/14] ASoC: qcom: ipq806x: add wrdma related register offsets Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 13:30 +0100

#1331890 — [PATCH v3 00/14] ASoC: qcom: Add capture support.

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 00/14] ASoC: qcom: Add capture support.
Message-ID<r0Yo1-8d-3@gated-at.bofh.it>
LPASS IP on QCOM SOC supports both Playback and capture
via I2S, but this feature is missing in existing code. 
This patchset aims at adding capture support to lpass IP.
First few patches in this series does cleanup the driver
to make easy to add capture support.

All these patches are acked by Kenneth.

These patches are tested on DB410C with Headset Mic, secondary mic.

Thanks,
srini

Changes since v1/v2:
 - Fixed patch version number.
 - renamed rdma_port to dma_port in patch 3, as suggested by Kenneth.
 - fixed correct device for snd_dma_alloc/free
as suggested by Kenneth in patch 13.

Changes since RFC:
 - made patches bisectable, reported by 0day testing
 - merged two patches as suggested by Kenneth
 - used corect device for snd_dma alloc/free apis,
 spotted by Kenneth
 - renamed LPAIF_I2SCTL_MICMODE_QUAD02 to
 LPAIF_I2SCTL_MICMODE_QUAD23, spotted by Kenneth.
 - Fixed minor issues suggested by Kenneth.

Srinivas Kandagatla (14):
  ASoC: qcom: use snd_dma_alloc/free* apis
  ASoC: qcom: add wrdma register details to lpass_variant
  ASoC: qcom: rename rdmactl_audif_start to dmactrl_audif_start
  ASoC: qcom: pass direction to dma allocation
  ASoC: qcom: ipq806x: add error in dma allocation.
  ASoC: qcom: rename rdma_ch_bit_map to dma_ch_bit_map
  ASoC: qcom: ipq806x: add wrdma related register offsets
  ASoC: qcom: apq8016: add wrdma support
  ASoC: qcom: add mic related i2s control register defines
  ASoC: qcom: add wrdma register definitions
  ASoC: qcom: add generic bit masks for RDMA and WRDMA
  ASoC: qcom: apq8016: set the correct max register for regmap
  ASoC: qcom: add mic support
  ASoC: qcom: apq8016-sbc: add mic support

 sound/soc/qcom/apq8016_sbc.c     |  10 +-
 sound/soc/qcom/lpass-apq8016.c   |  31 +++--
 sound/soc/qcom/lpass-cpu.c       | 146 ++++++++++++++++++-----
 sound/soc/qcom/lpass-ipq806x.c   |  11 +-
 sound/soc/qcom/lpass-lpaif-reg.h | 116 +++++++++++++------
 sound/soc/qcom/lpass-platform.c  | 244 +++++++++++++++++++++++----------------
 sound/soc/qcom/lpass.h           |  10 +-
 7 files changed, 391 insertions(+), 177 deletions(-)

-- 
1.9.1

[toc] | [next] | [standalone]


#1331891 — [PATCH v3 09/14] ASoC: qcom: add mic related i2s control register defines

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 09/14] ASoC: qcom: add mic related i2s control register defines
Message-ID<r0Yo2-8d-27@gated-at.bofh.it>
In reply to#1331890
This patch adds mic related bitmasks and offsets in the i2c control
register.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-lpaif-reg.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/sound/soc/qcom/lpass-lpaif-reg.h b/sound/soc/qcom/lpass-lpaif-reg.h
index 95e22f1..6599794 100644
--- a/sound/soc/qcom/lpass-lpaif-reg.h
+++ b/sound/soc/qcom/lpass-lpaif-reg.h
@@ -47,6 +47,28 @@
 #define LPAIF_I2SCTL_SPKMONO_STEREO	(0 << LPAIF_I2SCTL_SPKMONO_SHIFT)
 #define LPAIF_I2SCTL_SPKMONO_MONO	(1 << LPAIF_I2SCTL_SPKMONO_SHIFT)
 
+#define LPAIF_I2SCTL_MICEN_MASK		GENMASK(8, 8)
+#define LPAIF_I2SCTL_MICEN_SHIFT	8
+#define LPAIF_I2SCTL_MICEN_DISABLE	(0 << LPAIF_I2SCTL_MICEN_SHIFT)
+#define LPAIF_I2SCTL_MICEN_ENABLE	(1 << LPAIF_I2SCTL_MICEN_SHIFT)
+
+#define LPAIF_I2SCTL_MICMODE_MASK	GENMASK(7, 4)
+#define LPAIF_I2SCTL_MICMODE_SHIFT	4
+#define LPAIF_I2SCTL_MICMODE_NONE	(0 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_SD0	(1 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_SD1	(2 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_SD2	(3 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_SD3	(4 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_QUAD01	(5 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_QUAD23	(6 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_6CH	(7 << LPAIF_I2SCTL_MICMODE_SHIFT)
+#define LPAIF_I2SCTL_MICMODE_8CH	(8 << LPAIF_I2SCTL_MICMODE_SHIFT)
+
+#define LPAIF_I2SCTL_MIMONO_MASK	GENMASK(3, 3)
+#define LPAIF_I2SCTL_MICMONO_SHIFT	3
+#define LPAIF_I2SCTL_MICMONO_STEREO	(0 << LPAIF_I2SCTL_MICMONO_SHIFT)
+#define LPAIF_I2SCTL_MICMONO_MONO	(1 << LPAIF_I2SCTL_MICMONO_SHIFT)
+
 #define LPAIF_I2SCTL_WSSRC_MASK		0x0004
 #define LPAIF_I2SCTL_WSSRC_SHIFT	2
 #define LPAIF_I2SCTL_WSSRC_INTERNAL	(0 << LPAIF_I2SCTL_WSSRC_SHIFT)
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331894 — [PATCH v3 01/14] ASoC: qcom: use snd_dma_alloc/free* apis

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 01/14] ASoC: qcom: use snd_dma_alloc/free* apis
Message-ID<r0Yo2-8d-43@gated-at.bofh.it>
In reply to#1331890
There is no point in having local allocation functions when the driver
can use snd_dma_alloc/free() apis. This patch replaces the local versions
of the dma allocation apis with the snd_dma_alloc/free() apis.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-platform.c | 42 ++++++-----------------------------------
 1 file changed, 6 insertions(+), 36 deletions(-)

diff --git a/sound/soc/qcom/lpass-platform.c b/sound/soc/qcom/lpass-platform.c
index 4aeb8e1..ec2414d 100644
--- a/sound/soc/qcom/lpass-platform.c
+++ b/sound/soc/qcom/lpass-platform.c
@@ -439,39 +439,6 @@ static irqreturn_t lpass_platform_lpaif_irq(int irq, void *data)
 	return IRQ_HANDLED;
 }
 
-static int lpass_platform_alloc_buffer(struct snd_pcm_substream *substream,
-		struct snd_soc_pcm_runtime *rt)
-{
-	struct snd_dma_buffer *buf = &substream->dma_buffer;
-	size_t size = lpass_platform_pcm_hardware.buffer_bytes_max;
-
-	buf->dev.type = SNDRV_DMA_TYPE_DEV;
-	buf->dev.dev = rt->platform->dev;
-	buf->private_data = NULL;
-	buf->area = dma_alloc_coherent(rt->platform->dev, size, &buf->addr,
-			GFP_KERNEL);
-	if (!buf->area) {
-		dev_err(rt->platform->dev, "%s: Could not allocate DMA buffer\n",
-				__func__);
-		return -ENOMEM;
-	}
-	buf->bytes = size;
-
-	return 0;
-}
-
-static void lpass_platform_free_buffer(struct snd_pcm_substream *substream,
-		struct snd_soc_pcm_runtime *rt)
-{
-	struct snd_dma_buffer *buf = &substream->dma_buffer;
-
-	if (buf->area) {
-		dma_free_coherent(rt->dev, buf->bytes, buf->area,
-				buf->addr);
-	}
-	buf->area = NULL;
-}
-
 static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
 {
 	struct snd_pcm *pcm = soc_runtime->pcm;
@@ -483,6 +450,7 @@ static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
 	struct lpass_variant *v = drvdata->variant;
 	int ret;
 	struct lpass_pcm_data *data;
+	size_t size = lpass_platform_pcm_hardware.buffer_bytes_max;
 
 	data = devm_kzalloc(soc_runtime->dev, sizeof(*data), GFP_KERNEL);
 	if (!data)
@@ -499,7 +467,9 @@ static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
 
 	snd_soc_pcm_set_drvdata(soc_runtime, data);
 
-	ret = lpass_platform_alloc_buffer(substream, soc_runtime);
+	ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV,
+				soc_runtime->platform->dev,
+				size, &substream->dma_buffer);
 	if (ret)
 		return ret;
 
@@ -514,7 +484,7 @@ static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
 	return 0;
 
 err_buf:
-	lpass_platform_free_buffer(substream, soc_runtime);
+	snd_dma_free_pages(&substream->dma_buffer);
 	return ret;
 }
 
@@ -533,7 +503,7 @@ static void lpass_platform_pcm_free(struct snd_pcm *pcm)
 	if (v->free_dma_channel)
 		v->free_dma_channel(drvdata, data->rdma_ch);
 
-	lpass_platform_free_buffer(substream, soc_runtime);
+	snd_dma_free_pages(&substream->dma_buffer);
 }
 
 static struct snd_soc_platform_driver lpass_platform_driver = {
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331895 — [PATCH v3 06/14] ASoC: qcom: rename rdma_ch_bit_map to dma_ch_bit_map

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 06/14] ASoC: qcom: rename rdma_ch_bit_map to dma_ch_bit_map
Message-ID<r0Yo2-8d-41@gated-at.bofh.it>
In reply to#1331890
rdma_ch_bit_map can be reused for wrdma channel allocations as wrdma
channel numbering start after rdma channel numbers.
With capture support referring rdma_ch_bit_map for wrdma channel allocation
is confusing, so renaming rdma_ch_bit_map to dma_ch_bit_map makes sense.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-apq8016.c | 6 +++---
 sound/soc/qcom/lpass.h         | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/qcom/lpass-apq8016.c b/sound/soc/qcom/lpass-apq8016.c
index 99061f4..ca3bbd5 100644
--- a/sound/soc/qcom/lpass-apq8016.c
+++ b/sound/soc/qcom/lpass-apq8016.c
@@ -137,20 +137,20 @@ static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata,
 					   int direction)
 {
 	struct lpass_variant *v = drvdata->variant;
-	int chan = find_first_zero_bit(&drvdata->rdma_ch_bit_map,
+	int chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
 					v->rdma_channels);
 
 	if (chan >= v->rdma_channels)
 		return -EBUSY;
 
-	set_bit(chan, &drvdata->rdma_ch_bit_map);
+	set_bit(chan, &drvdata->dma_ch_bit_map);
 
 	return chan;
 }
 
 static int apq8016_lpass_free_dma_channel(struct lpass_data *drvdata, int chan)
 {
-	clear_bit(chan, &drvdata->rdma_ch_bit_map);
+	clear_bit(chan, &drvdata->dma_ch_bit_map);
 
 	return 0;
 }
diff --git a/sound/soc/qcom/lpass.h b/sound/soc/qcom/lpass.h
index 8475b60..30714ad 100644
--- a/sound/soc/qcom/lpass.h
+++ b/sound/soc/qcom/lpass.h
@@ -50,7 +50,7 @@ struct lpass_data {
 	struct lpass_variant *variant;
 
 	/* bit map to keep track of static channel allocations */
-	unsigned long rdma_ch_bit_map;
+	unsigned long dma_ch_bit_map;
 
 	/* used it for handling interrupt per dma channel */
 	struct snd_pcm_substream *substream[LPASS_MAX_DMA_CHANNELS];
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331897 — [PATCH v3 05/14] ASoC: qcom: ipq806x: add error in dma allocation.

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 05/14] ASoC: qcom: ipq806x: add error in dma allocation.
Message-ID<r0Yo3-8d-45@gated-at.bofh.it>
In reply to#1331890
ipq806x is only ever tested for playback so return error in dma allocation
if the stream direction is capture.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-ipq806x.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/qcom/lpass-ipq806x.c b/sound/soc/qcom/lpass-ipq806x.c
index 119048c..29a3529 100644
--- a/sound/soc/qcom/lpass-ipq806x.c
+++ b/sound/soc/qcom/lpass-ipq806x.c
@@ -65,7 +65,10 @@ static struct snd_soc_dai_driver ipq806x_lpass_cpu_dai_driver = {
 
 static int ipq806x_lpass_alloc_dma_channel(struct lpass_data *drvdata, int dir)
 {
-	return IPQ806X_LPAIF_RDMA_CHAN_MI2S;
+	if (dir == SNDRV_PCM_STREAM_PLAYBACK)
+		return IPQ806X_LPAIF_RDMA_CHAN_MI2S;
+	else	/* Capture currently not implemented */
+		return -EINVAL;
 }
 
 static int ipq806x_lpass_free_dma_channel(struct lpass_data *drvdata, int chan)
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331900 — [PATCH v3 04/14] ASoC: qcom: pass direction to dma allocation

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 04/14] ASoC: qcom: pass direction to dma allocation
Message-ID<r0Yo3-8d-55@gated-at.bofh.it>
In reply to#1331890
This patch updates the internal dma allocation callbacks to take the
stream direction so that it can allocate channels suitable for that
stream direction. Before the capture support this was not necessary.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-apq8016.c  | 3 ++-
 sound/soc/qcom/lpass-ipq806x.c  | 2 +-
 sound/soc/qcom/lpass-platform.c | 3 ++-
 sound/soc/qcom/lpass.h          | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/sound/soc/qcom/lpass-apq8016.c b/sound/soc/qcom/lpass-apq8016.c
index 6cc7e72..99061f4 100644
--- a/sound/soc/qcom/lpass-apq8016.c
+++ b/sound/soc/qcom/lpass-apq8016.c
@@ -133,7 +133,8 @@ static struct snd_soc_dai_driver apq8016_lpass_cpu_dai_driver[] = {
 	},
 };
 
-static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata)
+static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata,
+					   int direction)
 {
 	struct lpass_variant *v = drvdata->variant;
 	int chan = find_first_zero_bit(&drvdata->rdma_ch_bit_map,
diff --git a/sound/soc/qcom/lpass-ipq806x.c b/sound/soc/qcom/lpass-ipq806x.c
index 7a41679..119048c 100644
--- a/sound/soc/qcom/lpass-ipq806x.c
+++ b/sound/soc/qcom/lpass-ipq806x.c
@@ -63,7 +63,7 @@ static struct snd_soc_dai_driver ipq806x_lpass_cpu_dai_driver = {
 	.ops    = &asoc_qcom_lpass_cpu_dai_ops,
 };
 
-static int ipq806x_lpass_alloc_dma_channel(struct lpass_data *drvdata)
+static int ipq806x_lpass_alloc_dma_channel(struct lpass_data *drvdata, int dir)
 {
 	return IPQ806X_LPAIF_RDMA_CHAN_MI2S;
 }
diff --git a/sound/soc/qcom/lpass-platform.c b/sound/soc/qcom/lpass-platform.c
index 7245c2e..69c5ad8 100644
--- a/sound/soc/qcom/lpass-platform.c
+++ b/sound/soc/qcom/lpass-platform.c
@@ -457,7 +457,8 @@ static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
 		return -ENOMEM;
 
 	if (v->alloc_dma_channel)
-		data->rdma_ch = v->alloc_dma_channel(drvdata);
+		data->rdma_ch = v->alloc_dma_channel(drvdata,
+						SNDRV_PCM_STREAM_PLAYBACK);
 
 	if (IS_ERR_VALUE(data->rdma_ch))
 		return data->rdma_ch;
diff --git a/sound/soc/qcom/lpass.h b/sound/soc/qcom/lpass.h
index 412399a..8475b60 100644
--- a/sound/soc/qcom/lpass.h
+++ b/sound/soc/qcom/lpass.h
@@ -84,7 +84,7 @@ struct lpass_variant {
 	/* SOC specific intialization like clocks */
 	int (*init)(struct platform_device *pdev);
 	int (*exit)(struct platform_device *pdev);
-	int (*alloc_dma_channel)(struct lpass_data *data);
+	int (*alloc_dma_channel)(struct lpass_data *data, int direction);
 	int (*free_dma_channel)(struct lpass_data *data, int ch);
 
 	/* SOC specific dais */
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331902 — [PATCH v3 10/14] ASoC: qcom: add wrdma register definitions

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:20 +0100
Subject[PATCH v3 10/14] ASoC: qcom: add wrdma register definitions
Message-ID<r0Yo3-8d-59@gated-at.bofh.it>
In reply to#1331890
This patch adds wrdma registers into the lpaif-reg.h.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-lpaif-reg.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sound/soc/qcom/lpass-lpaif-reg.h b/sound/soc/qcom/lpass-lpaif-reg.h
index 6599794..760d219 100644
--- a/sound/soc/qcom/lpass-lpaif-reg.h
+++ b/sound/soc/qcom/lpass-lpaif-reg.h
@@ -145,4 +145,15 @@
 #define LPAIF_RDMACTL_ENABLE_OFF	(0 << LPAIF_RDMACTL_ENABLE_SHIFT)
 #define LPAIF_RDMACTL_ENABLE_ON		(1 << LPAIF_RDMACTL_ENABLE_SHIFT)
 
+#define LPAIF_WRDMA_REG_ADDR(v, addr, chan) \
+	(v->wrdma_reg_base + (addr) + \
+	 v->wrdma_reg_stride * (chan - v->wrdma_channel_start))
+
+#define LPAIF_WRDMACTL_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x00, (chan))
+#define LPAIF_WRDMABASE_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x04, (chan))
+#define	LPAIF_WRDMABUFF_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x08, (chan))
+#define LPAIF_WRDMACURR_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x0C, (chan))
+#define	LPAIF_WRDMAPER_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x10, (chan))
+#define	LPAIF_WRDMAPERCNT_REG(v, chan)	LPAIF_WRDMA_REG_ADDR(v, 0x14, (chan))
+
 #endif /* __LPASS_LPAIF_REG_H__ */
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1331909 — [PATCH v3 07/14] ASoC: qcom: ipq806x: add wrdma related register offsets

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-11 13:30 +0100
Subject[PATCH v3 07/14] ASoC: qcom: ipq806x: add wrdma related register offsets
Message-ID<r0YxI-bS-15@gated-at.bofh.it>
In reply to#1331890
This patch adds wrdma related register offsets to the lpass variant data
of ipq806x.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
---
 sound/soc/qcom/lpass-ipq806x.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/soc/qcom/lpass-ipq806x.c b/sound/soc/qcom/lpass-ipq806x.c
index 29a3529..608c1a9 100644
--- a/sound/soc/qcom/lpass-ipq806x.c
+++ b/sound/soc/qcom/lpass-ipq806x.c
@@ -86,6 +86,10 @@ static struct lpass_variant ipq806x_data = {
 	.rdma_reg_base		= 0x6000,
 	.rdma_reg_stride	= 0x1000,
 	.rdma_channels		= 4,
+	.wrdma_reg_base		= 0xB000,
+	.wrdma_reg_stride	= 0x1000,
+	.wrdma_channel_start	= 5,
+	.wrdma_channels		= 4,
 	.dai_driver		= &ipq806x_lpass_cpu_dai_driver,
 	.num_dai		= 1,
 	.alloc_dma_channel	= ipq806x_lpass_alloc_dma_channel,
-- 
1.9.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web