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(-)