HI All,
We see get_time_info is not enabled from ALSA core. ay reason behind?
we enabled like below with some more code, we are able to get_time_info to lower driver.
static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe, struct snd_soc_pcm_runtime *be, int stream) @@ -2907,6 +2927,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = dpcm_fe_dai_hw_free; rtd->ops.close = dpcm_fe_dai_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; } else { rtd->ops.open = soc_pcm_open; rtd->ops.hw_params = soc_pcm_hw_params; @@ -2915,6 +2936,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = soc_pcm_hw_free; rtd->ops.close = soc_pcm_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; }
Is this ALSA limitation or any other approach is followed to enable this implementation.
Thanks
Raghu Bankapur
On 1/27/23 08:03, Raghu Ballappa Bankapur wrote:
HI All,
We see get_time_info is not enabled from ALSA core. ay reason behind?
I think you meant ASoC core?
we enabled like below with some more code, we are able to get_time_info to lower driver.
static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe, struct snd_soc_pcm_runtime *be, int stream) @@ -2907,6 +2927,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = dpcm_fe_dai_hw_free; rtd->ops.close = dpcm_fe_dai_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; } else { rtd->ops.open = soc_pcm_open; rtd->ops.hw_params = soc_pcm_hw_params; @@ -2915,6 +2936,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = soc_pcm_hw_free; rtd->ops.close = soc_pcm_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; }
Is this ALSA limitation or any other approach is followed to enable this implementation.
No, it's a miss.
I had a patch to fix this in https://github.com/thesofproject/linux/pull/3792, but somehow it never made its path upstream. I don't fully recall the details, only vaguely that we first added support for the .delay(), but the get_time_info part was tested back in August 2022.
Would that patch work for you?
HI Pierre.
Thanks for your response,
Yes I meant for ASoC core, We will check your patch and update.
Regards
Raghu Bankapur
On 1/27/2023 8:06 PM, Pierre-Louis Bossart wrote:
On 1/27/23 08:03, Raghu Ballappa Bankapur wrote:
HI All,
We see get_time_info is not enabled from ALSA core. ay reason behind?
I think you meant ASoC core?
we enabled like below with some more code, we are able to get_time_info to lower driver.
static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe, struct snd_soc_pcm_runtime *be, int stream) @@ -2907,6 +2927,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = dpcm_fe_dai_hw_free; rtd->ops.close = dpcm_fe_dai_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; } else { rtd->ops.open = soc_pcm_open; rtd->ops.hw_params = soc_pcm_hw_params; @@ -2915,6 +2936,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.hw_free = soc_pcm_hw_free; rtd->ops.close = soc_pcm_close; rtd->ops.pointer = soc_pcm_pointer; + rtd->ops.get_time_info = soc_pcm_get_time_info; }
Is this ALSA limitation or any other approach is followed to enable this implementation.
No, it's a miss.
I had a patch to fix this in https://github.com/thesofproject/linux/pull/3792, but somehow it never made its path upstream. I don't fully recall the details, only vaguely that we first added support for the .delay(), but the get_time_info part was tested back in August 2022.
Would that patch work for you?
participants (2)
-
Pierre-Louis Bossart
-
Raghu Ballappa Bankapur