[RESEND v13 03/10] ASoC: qcom: lpass: Add dma fields for codec dma lpass interface
Srinivasa Rao Mandadapu
quic_srivasam at quicinc.com
Wed Feb 16 05:58:08 CET 2022
On 2/15/2022 6:35 AM, Stephen Boyd wrote:
Thanks for your time Stephen!!!
> Quoting Srinivasa Rao Mandadapu (2022-02-14 06:58:21)
>> Add lpass interface memebers to support audio path over codec dma.
>>
>> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam at quicinc.com>
>> Co-developed-by: Venkata Prasad Potturu <quic_potturu at quicinc.com>
>> Signed-off-by: Venkata Prasad Potturu <quic_potturu at quicinc.com>
>> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> ---
>> sound/soc/qcom/lpass.h | 116 +++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 116 insertions(+)
>>
>> diff --git a/sound/soc/qcom/lpass.h b/sound/soc/qcom/lpass.h
>> index f0d21cd..7cc3763 100644
>> --- a/sound/soc/qcom/lpass.h
>> +++ b/sound/soc/qcom/lpass.h
>> @@ -234,12 +294,66 @@ struct lpass_variant {
>> struct reg_field wrdma_enable;
>> struct reg_field wrdma_dyncclk;
>>
>> + /*CDC RXTX RD_DMA */
> Please add space after /*
Okay. Will change it.
>
>> + struct reg_field rxtx_rdma_intf;
>> + struct reg_field rxtx_rdma_bursten;
>> + struct reg_field rxtx_rdma_wpscnt;
>> + struct reg_field rxtx_rdma_fifowm;
>> + struct reg_field rxtx_rdma_enable;
>> + struct reg_field rxtx_rdma_dyncclk;
>> + struct reg_field rxtx_rdma_burst8;
>> + struct reg_field rxtx_rdma_burst16;
>> + struct reg_field rxtx_rdma_dynburst;
>> + struct reg_field rxtx_rdma_codec_enable;
>> + struct reg_field rxtx_rdma_codec_pack;
>> + struct reg_field rxtx_rdma_codec_intf;
>> + struct reg_field rxtx_rdma_codec_fs_sel;
>> + struct reg_field rxtx_rdma_codec_ch;
>> + struct reg_field rxtx_rdma_codec_fs_delay;
>> +
>> + /*CDC RXTX WR_DMA */
> Same
Okay.
>
>> + struct reg_field rxtx_wrdma_intf;
>> + struct reg_field rxtx_wrdma_bursten;
>> + struct reg_field rxtx_wrdma_wpscnt;
>> + struct reg_field rxtx_wrdma_fifowm;
>> + struct reg_field rxtx_wrdma_enable;
>> + struct reg_field rxtx_wrdma_dyncclk;
>> + struct reg_field rxtx_wrdma_burst8;
>> + struct reg_field rxtx_wrdma_burst16;
>> + struct reg_field rxtx_wrdma_dynburst;
>> + struct reg_field rxtx_wrdma_codec_enable;
>> + struct reg_field rxtx_wrdma_codec_pack;
>> + struct reg_field rxtx_wrdma_codec_intf;
>> + struct reg_field rxtx_wrdma_codec_fs_sel;
>> + struct reg_field rxtx_wrdma_codec_ch;
>> + struct reg_field rxtx_wrdma_codec_fs_delay;
>> +
>> + /*CDC VA WR_DMA */
>> + struct reg_field va_wrdma_intf;
>> + struct reg_field va_wrdma_bursten;
>> + struct reg_field va_wrdma_wpscnt;
>> + struct reg_field va_wrdma_fifowm;
>> + struct reg_field va_wrdma_enable;
>> + struct reg_field va_wrdma_dyncclk;
>> + struct reg_field va_wrdma_burst8;
>> + struct reg_field va_wrdma_burst16;
>> + struct reg_field va_wrdma_dynburst;
>> + struct reg_field va_wrdma_codec_enable;
>> + struct reg_field va_wrdma_codec_pack;
>> + struct reg_field va_wrdma_codec_intf;
>> + struct reg_field va_wrdma_codec_fs_sel;
>> + struct reg_field va_wrdma_codec_ch;
>> + struct reg_field va_wrdma_codec_fs_delay;
>> +
>> /**
> This shouldn't have two stars as it isn't kerneldoc
Actually this not part of this patch.
>
>> * on SOCs like APQ8016 the channel control bits start
>> * at different offset to ipq806x
>> **/
>> u32 dmactl_audif_start;
>> u32 wrdma_channel_start;
>> + u32 rxtx_wrdma_channel_start;
>> + u32 va_wrdma_channel_start;
>> +
>> /* SOC specific initialization like clocks */
>> int (*init)(struct platform_device *pdev);
>> int (*exit)(struct platform_device *pdev);
>> @@ -251,10 +365,12 @@ struct lpass_variant {
>> int num_dai;
>> const char * const *dai_osr_clk_names;
>> const char * const *dai_bit_clk_names;
>> + const char * const *cdc_dma_clk_names;
>>
>> /* SOC specific clocks configuration */
>> const char **clk_name;
>> int num_clks;
>> + int cdc_dma_num_clks;
> Why not size_t? Negative numbers are useful here?
Okay. As negative numbers are not useful here, will change to size_t.
More information about the Alsa-devel
mailing list