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


Groups > linux.kernel > #1331033

[PATCH v1 12/14] ASoC: qcom: apq8016: set the correct max register for regmap

From Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Newsgroups linux.kernel
Subject [PATCH v1 12/14] ASoC: qcom: apq8016: set the correct max register for regmap
Date 2016-02-10 11:30 +0100
Message-ID <r0Ac2-VA-11@gated-at.bofh.it> (permalink)
References <r0A2m-Sb-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Now that we are ready to access wrdma registers, set the max register
and other regmap related configs to use correct values.

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

diff --git a/sound/soc/qcom/lpass-cpu.c b/sound/soc/qcom/lpass-cpu.c
index 00b6c9d..82e16b2 100644
--- a/sound/soc/qcom/lpass-cpu.c
+++ b/sound/soc/qcom/lpass-cpu.c
@@ -294,6 +294,17 @@ static bool lpass_cpu_regmap_writeable(struct device *dev, unsigned int reg)
 			return true;
 	}
 
+	for (i = 0; i < v->wrdma_channels; ++i) {
+		if (reg == LPAIF_WRDMACTL_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMABASE_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMABUFF_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMAPER_REG(v, i + v->wrdma_channel_start))
+			return true;
+	}
+
 	return false;
 }
 
@@ -327,6 +338,19 @@ static bool lpass_cpu_regmap_readable(struct device *dev, unsigned int reg)
 			return true;
 	}
 
+	for (i = 0; i < v->wrdma_channels; ++i) {
+		if (reg == LPAIF_WRDMACTL_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMABASE_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMABUFF_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMACURR_REG(v, i + v->wrdma_channel_start))
+			return true;
+		if (reg == LPAIF_WRDMAPER_REG(v, i + v->wrdma_channel_start))
+			return true;
+	}
+
 	return false;
 }
 
@@ -344,6 +368,10 @@ static bool lpass_cpu_regmap_volatile(struct device *dev, unsigned int reg)
 		if (reg == LPAIF_RDMACURR_REG(v, i))
 			return true;
 
+	for (i = 0; i < v->wrdma_channels; ++i)
+		if (reg == LPAIF_WRDMACURR_REG(v, i + v->wrdma_channel_start))
+			return true;
+
 	return false;
 }
 
@@ -399,8 +427,9 @@ int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev)
 		return PTR_ERR((void const __force *)drvdata->lpaif);
 	}
 
-	lpass_cpu_regmap_config.max_register = LPAIF_RDMAPER_REG(variant,
-						variant->rdma_channels);
+	lpass_cpu_regmap_config.max_register = LPAIF_WRDMAPER_REG(variant,
+						variant->wrdma_channels +
+						variant->wrdma_channel_start);
 
 	drvdata->lpaif_map = devm_regmap_init_mmio(&pdev->dev, drvdata->lpaif,
 			&lpass_cpu_regmap_config);
-- 
1.9.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v1 00/14] ASoC: qcom: Add capture support. Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:20 +0100
  [PATCH v1 05/14] ASoC: qcom: ipq806x: add error in dma allocation. Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:20 +0100
  [PATCH v1 03/14] ASoC: qcom: rename rdmactl_audif_start to dmactrl_audif_start Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:20 +0100
  [PATCH v1 04/14] ASoC: qcom: pass direction to dma allocation Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:20 +0100
  [PATCH v1 11/14] ASoC: qcom: add generic bit masks for RDMA and WRDMA Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:20 +0100
  [PATCH v1 13/14] ASoC: qcom: add mic support Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:30 +0100
    Re: [PATCH v1 13/14] ASoC: qcom: add mic support Kenneth Westfield <kwestfie@codeaurora.org> - 2016-02-10 21:20 +0100
      Re: [PATCH v1 13/14] ASoC: qcom: add mic support Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-11 12:40 +0100
  [PATCH v1 12/14] ASoC: qcom: apq8016: set the correct max register for regmap Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:30 +0100
  [PATCH v1 14/14] ASoC: qcom: apq8016-sbc: add mic support Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:30 +0100
  [PATCH v1 10/14] ASoC: qcom: add wrdma register definitions Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:30 +0100
  [PATCH v1 08/14] ASoC: qcom: apq8016: add wrdma support Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:30 +0100
  Re: [PATCH v1 00/14] ASoC: qcom: Add capture support. Mark Brown <broonie@kernel.org> - 2016-02-10 11:30 +0100
    Re: [PATCH v1 00/14] ASoC: qcom: Add capture support. Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-10 11:40 +0100
      Re: [PATCH v1 00/14] ASoC: qcom: Add capture support. Mark Brown <broonie@kernel.org> - 2016-02-10 13:00 +0100
  Re: [PATCH v1 00/14] ASoC: qcom: Add capture support. Kenneth Westfield <kwestfie@codeaurora.org> - 2016-02-10 21:20 +0100

csiph-web