Loading include/uapi/sound/compress_offload.h +3 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ struct snd_compr_audio_info { * @SNDRV_COMPRESS_RENDER_MODE: dsp render mode (audio master or stc) * @SNDRV_COMPRESS_CLK_REC_MODE: clock recovery mode ( none or auto) * @SNDRV_COMPRESS_RENDER_WINDOW: render window * @SNDRV_COMPRESS_START_DELAY: start delay */ enum sndrv_compress_encoder { SNDRV_COMPRESS_ENCODER_PADDING = 1, Loading @@ -158,12 +159,14 @@ enum sndrv_compress_encoder { SNDRV_COMPRESS_RENDER_MODE = 6, SNDRV_COMPRESS_CLK_REC_MODE = 7, SNDRV_COMPRESS_RENDER_WINDOW = 8, SNDRV_COMPRESS_START_DELAY = 9, }; #define SNDRV_COMPRESS_PATH_DELAY SNDRV_COMPRESS_PATH_DELAY #define SNDRV_COMPRESS_RENDER_MODE SNDRV_COMPRESS_RENDER_MODE #define SNDRV_COMPRESS_CLK_REC_MODE SNDRV_COMPRESS_CLK_REC_MODE #define SNDRV_COMPRESS_RENDER_WINDOW SNDRV_COMPRESS_RENDER_WINDOW #define SNDRV_COMPRESS_START_DELAY SNDRV_COMPRESS_START_DELAY /** * struct snd_compr_metadata - compressed stream metadata Loading sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c +7 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,8 @@ struct msm_compr_audio { uint32_t next_stream; uint32_t run_mode; uint32_t start_delay_lsw; uint32_t start_delay_msw; uint64_t marker_timestamp; Loading Loading @@ -2064,7 +2066,8 @@ static int msm_compr_trigger(struct snd_compr_stream *cstream, int cmd) msm_compr_read_buffer(prtd); } /* issue RUN command for the stream */ q6asm_run_nowait(prtd->audio_client, prtd->run_mode, 0, 0); q6asm_run_nowait(prtd->audio_client, prtd->run_mode, prtd->start_delay_msw, prtd->start_delay_lsw); break; case SNDRV_PCM_TRIGGER_STOP: spin_lock_irqsave(&prtd->lock, flags); Loading Loading @@ -2849,6 +2852,9 @@ static int msm_compr_set_metadata(struct snd_compr_stream *cstream, metadata->value[1], metadata->value[2], metadata->value[3]); } else if (metadata->key == SNDRV_COMPRESS_START_DELAY) { prtd->start_delay_lsw = metadata->value[0]; prtd->start_delay_msw = metadata->value[1]; } return 0; Loading Loading
include/uapi/sound/compress_offload.h +3 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ struct snd_compr_audio_info { * @SNDRV_COMPRESS_RENDER_MODE: dsp render mode (audio master or stc) * @SNDRV_COMPRESS_CLK_REC_MODE: clock recovery mode ( none or auto) * @SNDRV_COMPRESS_RENDER_WINDOW: render window * @SNDRV_COMPRESS_START_DELAY: start delay */ enum sndrv_compress_encoder { SNDRV_COMPRESS_ENCODER_PADDING = 1, Loading @@ -158,12 +159,14 @@ enum sndrv_compress_encoder { SNDRV_COMPRESS_RENDER_MODE = 6, SNDRV_COMPRESS_CLK_REC_MODE = 7, SNDRV_COMPRESS_RENDER_WINDOW = 8, SNDRV_COMPRESS_START_DELAY = 9, }; #define SNDRV_COMPRESS_PATH_DELAY SNDRV_COMPRESS_PATH_DELAY #define SNDRV_COMPRESS_RENDER_MODE SNDRV_COMPRESS_RENDER_MODE #define SNDRV_COMPRESS_CLK_REC_MODE SNDRV_COMPRESS_CLK_REC_MODE #define SNDRV_COMPRESS_RENDER_WINDOW SNDRV_COMPRESS_RENDER_WINDOW #define SNDRV_COMPRESS_START_DELAY SNDRV_COMPRESS_START_DELAY /** * struct snd_compr_metadata - compressed stream metadata Loading
sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c +7 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,8 @@ struct msm_compr_audio { uint32_t next_stream; uint32_t run_mode; uint32_t start_delay_lsw; uint32_t start_delay_msw; uint64_t marker_timestamp; Loading Loading @@ -2064,7 +2066,8 @@ static int msm_compr_trigger(struct snd_compr_stream *cstream, int cmd) msm_compr_read_buffer(prtd); } /* issue RUN command for the stream */ q6asm_run_nowait(prtd->audio_client, prtd->run_mode, 0, 0); q6asm_run_nowait(prtd->audio_client, prtd->run_mode, prtd->start_delay_msw, prtd->start_delay_lsw); break; case SNDRV_PCM_TRIGGER_STOP: spin_lock_irqsave(&prtd->lock, flags); Loading Loading @@ -2849,6 +2852,9 @@ static int msm_compr_set_metadata(struct snd_compr_stream *cstream, metadata->value[1], metadata->value[2], metadata->value[3]); } else if (metadata->key == SNDRV_COMPRESS_START_DELAY) { prtd->start_delay_lsw = metadata->value[0]; prtd->start_delay_msw = metadata->value[1]; } return 0; Loading