diff mbox series

[1/2] ALSA: pcm: Add support for 705.6KHz and 768KHz sample rate

Message ID 1619519663-10406-1-git-send-email-shengjiu.wang@nxp.com (mailing list archive)
State New, archived
Headers show
Series [1/2] ALSA: pcm: Add support for 705.6KHz and 768KHz sample rate | expand

Commit Message

Shengjiu Wang April 27, 2021, 10:34 a.m. UTC
Some high resolution codecs support 705.6KHz and 768KHz rates.
So extend supported sample rate to 768kHz in pcm.h.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 include/sound/pcm.h | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Takashi Iwai April 27, 2021, 10:55 a.m. UTC | #1
On Tue, 27 Apr 2021 12:34:22 +0200,
Shengjiu Wang wrote:
> 
> Some high resolution codecs support 705.6KHz and 768KHz rates.
> So extend supported sample rate to 768kHz in pcm.h.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>

How many devices require it for now?

I don't want to extend the core definitions blindly unless those rates
are really commonly used.  You can add those specific rates in the
codec driver instead.


thanks,

Takashi

> ---
>  include/sound/pcm.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/include/sound/pcm.h b/include/sound/pcm.h
> index 2e1200d17d0c..88056824ffec 100644
> --- a/include/sound/pcm.h
> +++ b/include/sound/pcm.h
> @@ -121,6 +121,8 @@ struct snd_pcm_ops {
>  #define SNDRV_PCM_RATE_192000		(1<<12)		/* 192000Hz */
>  #define SNDRV_PCM_RATE_352800		(1<<13)		/* 352800Hz */
>  #define SNDRV_PCM_RATE_384000		(1<<14)		/* 384000Hz */
> +#define SNDRV_PCM_RATE_705600		(1<<15)		/* 705600Hz */
> +#define SNDRV_PCM_RATE_768000		(1<<16)		/* 768000Hz */
>  
>  #define SNDRV_PCM_RATE_CONTINUOUS	(1<<30)		/* continuous range */
>  #define SNDRV_PCM_RATE_KNOT		(1<<31)		/* supports more non-continuos rates */
> @@ -136,6 +138,9 @@ struct snd_pcm_ops {
>  #define SNDRV_PCM_RATE_8000_384000	(SNDRV_PCM_RATE_8000_192000|\
>  					 SNDRV_PCM_RATE_352800|\
>  					 SNDRV_PCM_RATE_384000)
> +#define SNDRV_PCM_RATE_8000_768000	(SNDRV_PCM_RATE_8000_768000|\
> +					 SNDRV_PCM_RATE_705600|\
> +					 SNDRV_PCM_RATE_768000)
>  #define _SNDRV_PCM_FMTBIT(fmt)		(1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt)
>  #define SNDRV_PCM_FMTBIT_S8		_SNDRV_PCM_FMTBIT(S8)
>  #define SNDRV_PCM_FMTBIT_U8		_SNDRV_PCM_FMTBIT(U8)
> -- 
> 2.27.0
>
Shengjiu Wang April 27, 2021, 11:12 a.m. UTC | #2
On Tue, Apr 27, 2021 at 6:56 PM Takashi Iwai <tiwai@suse.de> wrote:
>
> On Tue, 27 Apr 2021 12:34:22 +0200,
> Shengjiu Wang wrote:
> >
> > Some high resolution codecs support 705.6KHz and 768KHz rates.
> > So extend supported sample rate to 768kHz in pcm.h.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
>
> How many devices require it for now?

I have two devices, AK4458, AK5558.

>
> I don't want to extend the core definitions blindly unless those rates
> are really commonly used.  You can add those specific rates in the
> codec driver instead.

Ok, this is an option.

>
>
> thanks,
>
> Takashi
>
> > ---
> >  include/sound/pcm.h | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/include/sound/pcm.h b/include/sound/pcm.h
> > index 2e1200d17d0c..88056824ffec 100644
> > --- a/include/sound/pcm.h
> > +++ b/include/sound/pcm.h
> > @@ -121,6 +121,8 @@ struct snd_pcm_ops {
> >  #define SNDRV_PCM_RATE_192000                (1<<12)         /* 192000Hz */
> >  #define SNDRV_PCM_RATE_352800                (1<<13)         /* 352800Hz */
> >  #define SNDRV_PCM_RATE_384000                (1<<14)         /* 384000Hz */
> > +#define SNDRV_PCM_RATE_705600                (1<<15)         /* 705600Hz */
> > +#define SNDRV_PCM_RATE_768000                (1<<16)         /* 768000Hz */
> >
> >  #define SNDRV_PCM_RATE_CONTINUOUS    (1<<30)         /* continuous range */
> >  #define SNDRV_PCM_RATE_KNOT          (1<<31)         /* supports more non-continuos rates */
> > @@ -136,6 +138,9 @@ struct snd_pcm_ops {
> >  #define SNDRV_PCM_RATE_8000_384000   (SNDRV_PCM_RATE_8000_192000|\
> >                                        SNDRV_PCM_RATE_352800|\
> >                                        SNDRV_PCM_RATE_384000)
> > +#define SNDRV_PCM_RATE_8000_768000   (SNDRV_PCM_RATE_8000_768000|\
> > +                                      SNDRV_PCM_RATE_705600|\
> > +                                      SNDRV_PCM_RATE_768000)
> >  #define _SNDRV_PCM_FMTBIT(fmt)               (1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt)
> >  #define SNDRV_PCM_FMTBIT_S8          _SNDRV_PCM_FMTBIT(S8)
> >  #define SNDRV_PCM_FMTBIT_U8          _SNDRV_PCM_FMTBIT(U8)
> > --
> > 2.27.0
> >
diff mbox series

Patch

diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 2e1200d17d0c..88056824ffec 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -121,6 +121,8 @@  struct snd_pcm_ops {
 #define SNDRV_PCM_RATE_192000		(1<<12)		/* 192000Hz */
 #define SNDRV_PCM_RATE_352800		(1<<13)		/* 352800Hz */
 #define SNDRV_PCM_RATE_384000		(1<<14)		/* 384000Hz */
+#define SNDRV_PCM_RATE_705600		(1<<15)		/* 705600Hz */
+#define SNDRV_PCM_RATE_768000		(1<<16)		/* 768000Hz */
 
 #define SNDRV_PCM_RATE_CONTINUOUS	(1<<30)		/* continuous range */
 #define SNDRV_PCM_RATE_KNOT		(1<<31)		/* supports more non-continuos rates */
@@ -136,6 +138,9 @@  struct snd_pcm_ops {
 #define SNDRV_PCM_RATE_8000_384000	(SNDRV_PCM_RATE_8000_192000|\
 					 SNDRV_PCM_RATE_352800|\
 					 SNDRV_PCM_RATE_384000)
+#define SNDRV_PCM_RATE_8000_768000	(SNDRV_PCM_RATE_8000_768000|\
+					 SNDRV_PCM_RATE_705600|\
+					 SNDRV_PCM_RATE_768000)
 #define _SNDRV_PCM_FMTBIT(fmt)		(1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt)
 #define SNDRV_PCM_FMTBIT_S8		_SNDRV_PCM_FMTBIT(S8)
 #define SNDRV_PCM_FMTBIT_U8		_SNDRV_PCM_FMTBIT(U8)