* [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints
@ 2025-12-10 6:51 Ravi Hothi
2025-12-10 6:51 ` [PATCH v2 1/2] ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to support additional sampling rates Ravi Hothi
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Ravi Hothi @ 2025-12-10 6:51 UTC (permalink / raw)
To: Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-arm-msm, linux-kernel, kernel,
mohammad.rafi.shaik, ajay.nandam
This patch series expands the existing constraints in
the q6dsp-lpass-ports driver to improve compatibility
and flexibility for audio stream configurations.
The first patch extends the supported sampling rates to cover a wider
range, from 8000 Hz to 192000 Hz, ensuring better compatibility with
diverse audio hardware and allowing more flexible audio stream setups.
The second patch adds support for the 32-bit PCM format
(SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit
and 24-bit formats, enabling handling of high-resolution
audio streams and improving audio quality for supported hardware.
changes in [v2]:
- Updated commit description as suggested by Mark Brown.
- Link to V1 : https://lore.kernel.org/all/20251118100203.2751955-1-ravi.hothi@oss.qualcomm.com/
Ravi Hothi (2):
ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to
support additional sampling rates
ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit
PCM format
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 108 +++++++++++------------
1 file changed, 52 insertions(+), 56 deletions(-)
base-commit: 008d3547aae5bc86fac3eda317489169c3fda112
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH v2 1/2] ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to support additional sampling rates 2025-12-10 6:51 [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Ravi Hothi @ 2025-12-10 6:51 ` Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 2/2] ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit PCM format Ravi Hothi 2025-12-10 13:56 ` [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Alexey Klimov 2 siblings, 0 replies; 9+ messages in thread From: Ravi Hothi @ 2025-12-10 6:51 UTC (permalink / raw) To: Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam Expand the existing constraints in the q6dsp-lpass-ports driver to allow a wider range of sampling rates, from 8000 Hz to 192000 Hz. This change improves compatibility with diverse audio hardware and provides greater flexibility for audio stream configurations. Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> --- sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 73 +++++++++--------------- 1 file changed, 27 insertions(+), 46 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c index 4eed54b071a5..76421adb5afa 100644 --- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c +++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c @@ -10,16 +10,14 @@ #define Q6AFE_TDM_PB_DAI(pre, num, did) { \ .playback = { \ .stream_name = pre" TDM"#num" Playback", \ - .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ - SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ - SNDRV_PCM_RATE_176400, \ + .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ .channels_min = 1, \ .channels_max = 8, \ .rate_min = 8000, \ - .rate_max = 176400, \ + .rate_max = 192000, \ }, \ .name = #did, \ .id = did, \ @@ -28,16 +26,14 @@ #define Q6AFE_TDM_CAP_DAI(pre, num, did) { \ .capture = { \ .stream_name = pre" TDM"#num" Capture", \ - .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ - SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ - SNDRV_PCM_RATE_176400, \ + .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ .channels_min = 1, \ .channels_max = 8, \ .rate_min = 8000, \ - .rate_max = 176400, \ + .rate_max = 192000, \ }, \ .name = #did, \ .id = did, \ @@ -46,16 +42,14 @@ #define Q6AFE_CDC_DMA_RX_DAI(did) { \ .playback = { \ .stream_name = #did" Playback", \ - .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ - SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ - SNDRV_PCM_RATE_176400, \ + .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ .channels_min = 1, \ .channels_max = 8, \ .rate_min = 8000, \ - .rate_max = 176400, \ + .rate_max = 192000, \ }, \ .name = #did, \ .id = did, \ @@ -64,16 +58,14 @@ #define Q6AFE_CDC_DMA_TX_DAI(did) { \ .capture = { \ .stream_name = #did" Capture", \ - .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ - SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ - SNDRV_PCM_RATE_176400, \ + .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ .channels_min = 1, \ .channels_max = 8, \ .rate_min = 8000, \ - .rate_max = 176400, \ + .rate_max = 192000, \ }, \ .name = #did, \ .id = did, \ @@ -350,118 +342,108 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { }, { .playback = { .stream_name = "Primary MI2S Playback", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = PRIMARY_MI2S_RX, .name = "PRI_MI2S_RX", }, { .capture = { .stream_name = "Primary MI2S Capture", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = PRIMARY_MI2S_TX, .name = "PRI_MI2S_TX", }, { .playback = { .stream_name = "Secondary MI2S Playback", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .name = "SEC_MI2S_RX", .id = SECONDARY_MI2S_RX, }, { .capture = { .stream_name = "Secondary MI2S Capture", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = SECONDARY_MI2S_TX, .name = "SEC_MI2S_TX", }, { .playback = { .stream_name = "Tertiary MI2S Playback", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .name = "TERT_MI2S_RX", .id = TERTIARY_MI2S_RX, }, { .capture = { .stream_name = "Tertiary MI2S Capture", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = TERTIARY_MI2S_TX, .name = "TERT_MI2S_TX", }, { .playback = { .stream_name = "Quaternary MI2S Playback", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .name = "QUAT_MI2S_RX", .id = QUATERNARY_MI2S_RX, }, { .capture = { .stream_name = "Quaternary MI2S Capture", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = QUATERNARY_MI2S_TX, .name = "QUAT_MI2S_TX", }, { .playback = { .stream_name = "Quinary MI2S Playback", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 | - SNDRV_PCM_RATE_192000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 8, @@ -473,13 +455,12 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { }, { .capture = { .stream_name = "Quinary MI2S Capture", - .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 | - SNDRV_PCM_RATE_16000, + .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, - .rate_max = 48000, + .rate_max = 192000, }, .id = QUINARY_MI2S_TX, .name = "QUIN_MI2S_TX", -- 2.34.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/2] ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit PCM format 2025-12-10 6:51 [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 1/2] ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to support additional sampling rates Ravi Hothi @ 2025-12-10 6:51 ` Ravi Hothi 2025-12-10 13:56 ` [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Alexey Klimov 2 siblings, 0 replies; 9+ messages in thread From: Ravi Hothi @ 2025-12-10 6:51 UTC (permalink / raw) To: Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam Expand the existing constraints by introducing support for the 32-bit PCM format (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit and 24-bit formats. This enhancement enables handling of high-resolution audio streams and improves audio quality for supported hardware. Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> --- sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 35 +++++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c index 76421adb5afa..8542e620ee02 100644 --- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c +++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c @@ -344,7 +344,8 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .stream_name = "Primary MI2S Playback", .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE, + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -357,7 +358,8 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .stream_name = "Primary MI2S Capture", .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE, + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -369,7 +371,9 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .playback = { .stream_name = "Secondary MI2S Playback", .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S16_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -382,7 +386,8 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .stream_name = "Secondary MI2S Capture", .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE, + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -394,7 +399,9 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .playback = { .stream_name = "Tertiary MI2S Playback", .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S16_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -407,7 +414,8 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .stream_name = "Tertiary MI2S Capture", .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE, + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -419,7 +427,9 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .playback = { .stream_name = "Quaternary MI2S Playback", .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S16_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -432,7 +442,8 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .stream_name = "Quaternary MI2S Capture", .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE, + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -444,7 +455,9 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .playback = { .stream_name = "Quinary MI2S Playback", .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S16_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, @@ -456,7 +469,9 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = { .capture = { .stream_name = "Quinary MI2S Capture", .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S16_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 8, .rate_min = 8000, -- 2.34.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-10 6:51 [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 1/2] ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to support additional sampling rates Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 2/2] ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit PCM format Ravi Hothi @ 2025-12-10 13:56 ` Alexey Klimov 2025-12-15 7:29 ` Ravi Hothi 2 siblings, 1 reply; 9+ messages in thread From: Alexey Klimov @ 2025-12-10 13:56 UTC (permalink / raw) To: Ravi Hothi, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: > This patch series expands the existing constraints in > the q6dsp-lpass-ports driver to improve compatibility > and flexibility for audio stream configurations. > > The first patch extends the supported sampling rates to cover a wider > range, from 8000 Hz to 192000 Hz, ensuring better compatibility with > diverse audio hardware and allowing more flexible audio stream setups. > > The second patch adds support for the 32-bit PCM format > (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit > and 24-bit formats, enabling handling of high-resolution > audio streams and improving audio quality for supported hardware. Is q6dsp-lpass-ports involved in compress offloaded playback on existing devices? If yes, then how is it gonna play with explicitly setting format/sampling rate to s16le/48k in sndcards drivers? [..] Best regards, Alexey ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-10 13:56 ` [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Alexey Klimov @ 2025-12-15 7:29 ` Ravi Hothi 2025-12-17 11:38 ` Alexey Klimov 0 siblings, 1 reply; 9+ messages in thread From: Ravi Hothi @ 2025-12-15 7:29 UTC (permalink / raw) To: Alexey Klimov, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On 12/10/2025 7:26 PM, Alexey Klimov wrote: > On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: >> This patch series expands the existing constraints in >> the q6dsp-lpass-ports driver to improve compatibility >> and flexibility for audio stream configurations. >> >> The first patch extends the supported sampling rates to cover a wider >> range, from 8000 Hz to 192000 Hz, ensuring better compatibility with >> diverse audio hardware and allowing more flexible audio stream setups. >> >> The second patch adds support for the 32-bit PCM format >> (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit >> and 24-bit formats, enabling handling of high-resolution >> audio streams and improving audio quality for supported hardware. > > Is q6dsp-lpass-ports involved in compress offloaded playback on > existing devices? If yes, then how is it gonna play with > explicitly setting format/sampling rate to s16le/48k in sndcards drivers? > Support for s16le/48k is already available; these patch will expand the existing constraint so that customers can use a wider range. Thanks Ravi Hothi > [..] > > Best regards, > Alexey ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-15 7:29 ` Ravi Hothi @ 2025-12-17 11:38 ` Alexey Klimov 2025-12-17 12:56 ` Srinivas Kandagatla 0 siblings, 1 reply; 9+ messages in thread From: Alexey Klimov @ 2025-12-17 11:38 UTC (permalink / raw) To: Ravi Hothi, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On Mon Dec 15, 2025 at 7:29 AM GMT, Ravi Hothi wrote: > > > On 12/10/2025 7:26 PM, Alexey Klimov wrote: >> On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: >>> This patch series expands the existing constraints in >>> the q6dsp-lpass-ports driver to improve compatibility >>> and flexibility for audio stream configurations. >>> >>> The first patch extends the supported sampling rates to cover a wider >>> range, from 8000 Hz to 192000 Hz, ensuring better compatibility with >>> diverse audio hardware and allowing more flexible audio stream setups. >>> >>> The second patch adds support for the 32-bit PCM format >>> (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit >>> and 24-bit formats, enabling handling of high-resolution >>> audio streams and improving audio quality for supported hardware. >> >> Is q6dsp-lpass-ports involved in compress offloaded playback on >> existing devices? If yes, then how is it gonna play with >> explicitly setting format/sampling rate to s16le/48k in sndcards drivers? >> > Support for s16le/48k is already available; these patch will expand the > existing constraint so that customers can use a wider range. Unfortunately, you didn't answer any of my questions or answered a different one. Perhaps the main one: is q6dsp-lpass-ports involved in compress offloaded playback on existing devices? Thanks, Alexey ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-17 11:38 ` Alexey Klimov @ 2025-12-17 12:56 ` Srinivas Kandagatla 2025-12-22 4:25 ` Alexey Klimov 0 siblings, 1 reply; 9+ messages in thread From: Srinivas Kandagatla @ 2025-12-17 12:56 UTC (permalink / raw) To: Alexey Klimov, Ravi Hothi, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On 12/17/25 11:38 AM, Alexey Klimov wrote: > On Mon Dec 15, 2025 at 7:29 AM GMT, Ravi Hothi wrote: >> >> >> On 12/10/2025 7:26 PM, Alexey Klimov wrote: >>> On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: >>>> This patch series expands the existing constraints in >>>> the q6dsp-lpass-ports driver to improve compatibility >>>> and flexibility for audio stream configurations. >>>> >>>> The first patch extends the supported sampling rates to cover a wider >>>> range, from 8000 Hz to 192000 Hz, ensuring better compatibility with >>>> diverse audio hardware and allowing more flexible audio stream setups. >>>> >>>> The second patch adds support for the 32-bit PCM format >>>> (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit >>>> and 24-bit formats, enabling handling of high-resolution >>>> audio streams and improving audio quality for supported hardware. >>> >>> Is q6dsp-lpass-ports involved in compress offloaded playback on >>> existing devices? If yes, then how is it gonna play with >>> explicitly setting format/sampling rate to s16le/48k in sndcards drivers? be_hw_params_fixup callback in machine drivers can select any format that fits the usecase. currently this is hardcoded for s16le samples and 48K rate, but its not limited to this. This patch is expanding the allowed range in the dais so that machine drivers should be able to select other options, ex: for HDMI its better to be at S24LE or S32LE. >>> >> Support for s16le/48k is already available; these patch will expand the >> existing constraint so that customers can use a wider range. > > Unfortunately, you didn't answer any of my questions or answered > a different one. > > Perhaps the main one: is q6dsp-lpass-ports involved in compress offloaded > playback on existing devices? lpass-ports are the Backend DAI ports, So yes, they will be involved in all the usecases that deal with handling sinks or sources irrespective of pcm or compressed content. --srini> > Thanks, > Alexey > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-17 12:56 ` Srinivas Kandagatla @ 2025-12-22 4:25 ` Alexey Klimov 2026-01-05 7:20 ` Srinivas Kandagatla 0 siblings, 1 reply; 9+ messages in thread From: Alexey Klimov @ 2025-12-22 4:25 UTC (permalink / raw) To: Srinivas Kandagatla, Ravi Hothi, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On Wed Dec 17, 2025 at 12:56 PM GMT, Srinivas Kandagatla wrote: > > > On 12/17/25 11:38 AM, Alexey Klimov wrote: >> On Mon Dec 15, 2025 at 7:29 AM GMT, Ravi Hothi wrote: >>> >>> >>> On 12/10/2025 7:26 PM, Alexey Klimov wrote: >>>> On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: >>>>> This patch series expands the existing constraints in >>>>> the q6dsp-lpass-ports driver to improve compatibility >>>>> and flexibility for audio stream configurations. >>>>> >>>>> The first patch extends the supported sampling rates to cover a wider >>>>> range, from 8000 Hz to 192000 Hz, ensuring better compatibility with >>>>> diverse audio hardware and allowing more flexible audio stream setups. >>>>> >>>>> The second patch adds support for the 32-bit PCM format >>>>> (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit >>>>> and 24-bit formats, enabling handling of high-resolution >>>>> audio streams and improving audio quality for supported hardware. >>>> >>>> Is q6dsp-lpass-ports involved in compress offloaded playback on >>>> existing devices? If yes, then how is it gonna play with >>>> explicitly setting format/sampling rate to s16le/48k in sndcards drivers? > > be_hw_params_fixup callback in machine drivers can select any format > that fits the usecase. currently this is hardcoded for s16le samples and > 48K rate, but its not limited to this. This patch is expanding the > allowed range in the dais so that machine drivers should be able to > select other options, ex: for HDMI its better to be at S24LE or S32LE. Yes. Exactly. So, should we add kcontrols to machine driver to handle these usecases like selecting s24le instead of s16le? Or what's the plan? >>> Support for s16le/48k is already available; these patch will expand the >>> existing constraint so that customers can use a wider range. >> >> Unfortunately, you didn't answer any of my questions or answered >> a different one. >> >> Perhaps the main one: is q6dsp-lpass-ports involved in compress offloaded >> playback on existing devices? > > lpass-ports are the Backend DAI ports, So yes, they will be involved in > all the usecases that deal with handling sinks or sources irrespective > of pcm or compressed content. Thanks, Alexey ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints 2025-12-22 4:25 ` Alexey Klimov @ 2026-01-05 7:20 ` Srinivas Kandagatla 0 siblings, 0 replies; 9+ messages in thread From: Srinivas Kandagatla @ 2026-01-05 7:20 UTC (permalink / raw) To: Alexey Klimov, Srinivas Kandagatla, Ravi Hothi, Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-arm-msm, linux-kernel, kernel, mohammad.rafi.shaik, ajay.nandam On 12/22/25 4:25 AM, Alexey Klimov wrote: > On Wed Dec 17, 2025 at 12:56 PM GMT, Srinivas Kandagatla wrote: >> >> >> On 12/17/25 11:38 AM, Alexey Klimov wrote: >>> On Mon Dec 15, 2025 at 7:29 AM GMT, Ravi Hothi wrote: >>>> >>>> >>>> On 12/10/2025 7:26 PM, Alexey Klimov wrote: >>>>> On Wed Dec 10, 2025 at 6:51 AM GMT, Ravi Hothi wrote: >>>>>> This patch series expands the existing constraints in >>>>>> the q6dsp-lpass-ports driver to improve compatibility >>>>>> and flexibility for audio stream configurations. >>>>>> >>>>>> The first patch extends the supported sampling rates to cover a wider >>>>>> range, from 8000 Hz to 192000 Hz, ensuring better compatibility with >>>>>> diverse audio hardware and allowing more flexible audio stream setups. >>>>>> >>>>>> The second patch adds support for the 32-bit PCM format >>>>>> (SNDRV_PCM_FMTBIT_S32_LE) alongside the existing 16-bit >>>>>> and 24-bit formats, enabling handling of high-resolution >>>>>> audio streams and improving audio quality for supported hardware. >>>>> >>>>> Is q6dsp-lpass-ports involved in compress offloaded playback on >>>>> existing devices? If yes, then how is it gonna play with >>>>> explicitly setting format/sampling rate to s16le/48k in sndcards drivers? >> >> be_hw_params_fixup callback in machine drivers can select any format >> that fits the usecase. currently this is hardcoded for s16le samples and >> 48K rate, but its not limited to this. This patch is expanding the >> allowed range in the dais so that machine drivers should be able to >> select other options, ex: for HDMI its better to be at S24LE or S32LE. > > Yes. Exactly. > So, should we add kcontrols to machine driver to handle these usecases like > selecting s24le instead of s16le? Or what's the plan? We can always do that if that is how things are wired up at the platform level on case by case basis. --srini> >>>> Support for s16le/48k is already available; these patch will expand the >>>> existing constraint so that customers can use a wider range. >>> >>> Unfortunately, you didn't answer any of my questions or answered >>> a different one. >>> >>> Perhaps the main one: is q6dsp-lpass-ports involved in compress offloaded >>> playback on existing devices? >> >> lpass-ports are the Backend DAI ports, So yes, they will be involved in >> all the usecases that deal with handling sinks or sources irrespective >> of pcm or compressed content. > > Thanks, > Alexey > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-01-05 7:20 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-10 6:51 [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 1/2] ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver to support additional sampling rates Ravi Hothi 2025-12-10 6:51 ` [PATCH v2 2/2] ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit PCM format Ravi Hothi 2025-12-10 13:56 ` [PATCH v2 0/2] ASoC: qcom: q6dsp-lpass-ports: Expand sampling rate and PCM format constraints Alexey Klimov 2025-12-15 7:29 ` Ravi Hothi 2025-12-17 11:38 ` Alexey Klimov 2025-12-17 12:56 ` Srinivas Kandagatla 2025-12-22 4:25 ` Alexey Klimov 2026-01-05 7:20 ` Srinivas Kandagatla
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox