[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