forked from Minki/linux
ASoC: fsl: Don't set unused struct snd_pcm_hardware fields
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
ff1b15acb4
commit
b0a23b8b36
@ -55,10 +55,6 @@
|
|||||||
SNDRV_PCM_FMTBIT_S32_BE | \
|
SNDRV_PCM_FMTBIT_S32_BE | \
|
||||||
SNDRV_PCM_FMTBIT_U32_LE | \
|
SNDRV_PCM_FMTBIT_U32_LE | \
|
||||||
SNDRV_PCM_FMTBIT_U32_BE)
|
SNDRV_PCM_FMTBIT_U32_BE)
|
||||||
|
|
||||||
#define FSLDMA_PCM_RATES (SNDRV_PCM_RATE_5512 | SNDRV_PCM_RATE_8000_192000 | \
|
|
||||||
SNDRV_PCM_RATE_CONTINUOUS)
|
|
||||||
|
|
||||||
struct dma_object {
|
struct dma_object {
|
||||||
struct snd_soc_platform_driver dai;
|
struct snd_soc_platform_driver dai;
|
||||||
dma_addr_t ssi_stx_phys;
|
dma_addr_t ssi_stx_phys;
|
||||||
@ -140,9 +136,6 @@ static const struct snd_pcm_hardware fsl_dma_hardware = {
|
|||||||
SNDRV_PCM_INFO_JOINT_DUPLEX |
|
SNDRV_PCM_INFO_JOINT_DUPLEX |
|
||||||
SNDRV_PCM_INFO_PAUSE,
|
SNDRV_PCM_INFO_PAUSE,
|
||||||
.formats = FSLDMA_PCM_FORMATS,
|
.formats = FSLDMA_PCM_FORMATS,
|
||||||
.rates = FSLDMA_PCM_RATES,
|
|
||||||
.rate_min = 5512,
|
|
||||||
.rate_max = 192000,
|
|
||||||
.period_bytes_min = 512, /* A reasonable limit */
|
.period_bytes_min = 512, /* A reasonable limit */
|
||||||
.period_bytes_max = (u32) -1,
|
.period_bytes_max = (u32) -1,
|
||||||
.periods_min = NUM_DMA_LINKS,
|
.periods_min = NUM_DMA_LINKS,
|
||||||
|
@ -41,9 +41,6 @@ static const struct snd_pcm_hardware imx_pcm_hardware = {
|
|||||||
SNDRV_PCM_INFO_PAUSE |
|
SNDRV_PCM_INFO_PAUSE |
|
||||||
SNDRV_PCM_INFO_RESUME,
|
SNDRV_PCM_INFO_RESUME,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||||
.rate_min = 8000,
|
|
||||||
.channels_min = 2,
|
|
||||||
.channels_max = 2,
|
|
||||||
.buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
|
.buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
|
||||||
.period_bytes_min = 128,
|
.period_bytes_min = 128,
|
||||||
.period_bytes_max = 65535, /* Limited by SDMA engine */
|
.period_bytes_max = 65535, /* Limited by SDMA engine */
|
||||||
|
@ -162,9 +162,6 @@ static struct snd_pcm_hardware snd_imx_hardware = {
|
|||||||
SNDRV_PCM_INFO_PAUSE |
|
SNDRV_PCM_INFO_PAUSE |
|
||||||
SNDRV_PCM_INFO_RESUME,
|
SNDRV_PCM_INFO_RESUME,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||||
.rate_min = 8000,
|
|
||||||
.channels_min = 2,
|
|
||||||
.channels_max = 2,
|
|
||||||
.buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
|
.buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
|
||||||
.period_bytes_min = 128,
|
.period_bytes_min = 128,
|
||||||
.period_bytes_max = 16 * 1024,
|
.period_bytes_max = 16 * 1024,
|
||||||
|
@ -200,10 +200,6 @@ static const struct snd_pcm_hardware psc_dma_hardware = {
|
|||||||
SNDRV_PCM_INFO_BATCH,
|
SNDRV_PCM_INFO_BATCH,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE |
|
.formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE |
|
||||||
SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE,
|
SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE,
|
||||||
.rate_min = 8000,
|
|
||||||
.rate_max = 48000,
|
|
||||||
.channels_min = 1,
|
|
||||||
.channels_max = 2,
|
|
||||||
.period_bytes_max = 1024 * 1024,
|
.period_bytes_max = 1024 * 1024,
|
||||||
.period_bytes_min = 32,
|
.period_bytes_min = 32,
|
||||||
.periods_min = 2,
|
.periods_min = 2,
|
||||||
|
Loading…
Reference in New Issue
Block a user