Merge tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm...
[firefly-linux-kernel-4.4.55.git] / sound / soc / qcom / lpass-ipq806x.c
index 4a0e3fbb384bc533c941d6f5e27634276cf886fe..7356d3a766d6907d13812acbc1af0745befe0e3b 100644 (file)
@@ -43,6 +43,7 @@ enum lpaif_dma_channels {
 };
 
 static struct snd_soc_dai_driver ipq806x_lpass_cpu_dai_driver = {
+       .id     = IPQ806X_LPAIF_I2S_PORT_MI2S,
        .playback = {
                .stream_name    = "lpass-cpu-playback",
                .formats        = SNDRV_PCM_FMTBIT_S16 |
@@ -62,6 +63,16 @@ 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)
+{
+       return IPQ806X_LPAIF_RDMA_CHAN_MI2S;
+}
+
+static int ipq806x_lpass_free_dma_channel(struct lpass_data *drvdata, int chan)
+{
+       return 0;
+}
+
 struct lpass_variant ipq806x_data = {
        .i2sctrl_reg_base       = 0x0010,
        .i2sctrl_reg_stride     = 0x04,
@@ -74,6 +85,8 @@ struct lpass_variant ipq806x_data = {
        .rdma_channels          = 4,
        .dai_driver             = &ipq806x_lpass_cpu_dai_driver,
        .num_dai                = 1,
+       .alloc_dma_channel      = ipq806x_lpass_alloc_dma_channel,
+       .free_dma_channel       = ipq806x_lpass_free_dma_channel,
 };
 
 static const struct of_device_id ipq806x_lpass_cpu_device_id[] = {