[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a38edaa8-d793-4e3c-ba9a-b8717c8e7569@oss.qualcomm.com>
Date: Thu, 23 Oct 2025 10:30:41 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
To: Alexey Klimov <alexey.klimov@...aro.org>, broonie@...nel.org
Cc: perex@...ex.cz, tiwai@...e.com, srini@...nel.org,
linux-sound@...r.kernel.org, m.facchin@...uino.cc,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH 7/9] ASoC: qcom: q6asm: add q6asm_get_hw_pointer
On 10/20/25 4:04 PM, Alexey Klimov wrote:
> On Wed Oct 15, 2025 at 2:17 PM BST, Srinivas Kandagatla wrote:
>> Currently we are performing an extra layer of calculation on the hw_ptr,
>> which is always prone to errors.
>> Move this to common dsp layer for better accuracy.
>
> The subject says that the change adds q6asm_get_hw_ptr but here it says
> that calculation of hw_ptr is moved. Where is it moved out of or from?
>
> Currently the commit message is confusing.
Sure, Will rephrase this.
Currently q6asm-dai.c implement tracking the dsp hardware pointer based
on callbacks from q6asm, this is really an overhead, prone to errors and
redundant.
We already have buffers and tokens which can be used to get hw_ptr
location, use this instead.
--srini>
> It seems to be potential confusing split with commit.
> ("ASoC: qcom: q6asm-dai: use q6asm_get_hw_pointer") where calculation
> of hw_ptr was implemented in q6asm-dai.c.
>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
>> ---
>> sound/soc/qcom/qdsp6/q6asm.c | 12 ++++++++++++
>> sound/soc/qcom/qdsp6/q6asm.h | 1 +
>> 2 files changed, 13 insertions(+)
>>
>> diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c
>> index 371389c8fa7a..643ca944b1b5 100644
>> --- a/sound/soc/qcom/qdsp6/q6asm.c
>> +++ b/sound/soc/qcom/qdsp6/q6asm.c
>> @@ -6,6 +6,7 @@
>> #include <linux/mutex.h>
>> #include <linux/wait.h>
>> #include <linux/module.h>
>> +#include <linux/atomic.h>
>
> Ideally this should be sorted but it seems it was not initially.
>
>> #include <linux/soc/qcom/apr.h>
>> #include <linux/device.h>
>> #include <linux/of_platform.h>
>> @@ -248,6 +249,7 @@ struct audio_port_data {
>> uint32_t num_periods;
>> uint32_t dsp_buf;
>> uint32_t mem_map_handle;
>> + atomic_t hw_ptr;
>> };
>
> Thanks,
> Alexey
Powered by blists - more mailing lists