mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
tegra-alt: adsp: Do not adjust Compress PCM pos
PCM pointer in compress path need not be adjusted for sample rate conversion as rate conversion always happens in AHUB (ASRC) and not in ADSP; cases where rate conversion happens in ADSP will no longer return correct position Bug 200430129 Change-Id: I93e3f0680260ce057a17c70f037c9093be3e17cf Signed-off-by: Viswanath L <viswanathl@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1959444 (cherry picked from commit fd33d1360f3a2e684363eecf9f0570b66fa2f51d) Reviewed-on: https://git-master.nvidia.com/r/1984711 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Sameer Pujar
parent
f4a50891b0
commit
dc841995d9
@@ -1572,14 +1572,10 @@ static int tegra210_adsp_compr_pointer(struct snd_compr_stream *cstream,
|
|||||||
struct snd_compr_tstamp *tstamp)
|
struct snd_compr_tstamp *tstamp)
|
||||||
{
|
{
|
||||||
struct tegra210_adsp_compr_rtd *prtd = cstream->runtime->private_data;
|
struct tegra210_adsp_compr_rtd *prtd = cstream->runtime->private_data;
|
||||||
struct snd_soc_pcm_runtime *rtd = cstream->device->private_data;
|
|
||||||
struct tegra210_adsp *adsp =
|
|
||||||
snd_soc_platform_get_drvdata(rtd->platform);
|
|
||||||
struct tegra210_adsp_app *app = prtd->fe_apm;
|
struct tegra210_adsp_app *app = prtd->fe_apm;
|
||||||
nvfx_shared_state_t *shared = &app->apm->nvfx_shared_state;
|
nvfx_shared_state_t *shared = &app->apm->nvfx_shared_state;
|
||||||
uint32_t frames_played = ((shared->output[0].bytes >> 2) *
|
uint32_t frames_played =
|
||||||
snd_pcm_rate_bit_to_rate(prtd->codec.sample_rate)) /
|
(uint32_t)((shared->output[0].bytes >> 1) / prtd->codec.ch_in);
|
||||||
adsp->i2s_rate;
|
|
||||||
|
|
||||||
tstamp->byte_offset = shared->input[0].bytes %
|
tstamp->byte_offset = shared->input[0].bytes %
|
||||||
cstream->runtime->buffer_size;
|
cstream->runtime->buffer_size;
|
||||||
|
|||||||
Reference in New Issue
Block a user