12345678910111213141516171819202122232425262728293031323334353637 |
- diff -Nur linux-3.18.6.orig/sound/soc/bcm/bcm2708-i2s.c linux-3.18.6/sound/soc/bcm/bcm2708-i2s.c
- --- linux-3.18.6.orig/sound/soc/bcm/bcm2708-i2s.c 2015-02-12 12:00:42.809186343 +0100
- +++ linux-3.18.6/sound/soc/bcm/bcm2708-i2s.c 2015-02-12 13:35:35.929213859 +0100
- @@ -171,6 +171,11 @@
- /* I2S pin configuration */
- static int bcm2708_i2s_gpio=BCM2708_I2S_GPIO_AUTO;
-
- +static bool use_mmap = 1;
- +module_param(use_mmap, bool, S_IRUGO);
- +MODULE_PARM_DESC(use_mmap, "Use MMAP");
- +
- +
- /* General device struct */
- struct bcm2708_i2s_dev {
- struct device *dev;
- @@ -874,7 +879,7 @@
- .name = "bcm2708-i2s-comp",
- };
-
- -static const struct snd_pcm_hardware bcm2708_pcm_hardware = {
- +static struct snd_pcm_hardware bcm2708_pcm_hardware = {
- .info = SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_JOINT_DUPLEX,
- .formats = SNDRV_PCM_FMTBIT_S16_LE |
- @@ -966,6 +971,12 @@
- return ret;
- }
-
- + if (use_mmap) {
- + printk("Enable ALSA MMAP support for I2S\n");
- + bcm2708_pcm_hardware.info |= SNDRV_PCM_INFO_MMAP;
- + bcm2708_pcm_hardware.info |= SNDRV_PCM_INFO_MMAP_VALID;
- + }
- +
- ret = snd_dmaengine_pcm_register(&pdev->dev,
- &bcm2708_dmaengine_pcm_config,
- SND_DMAENGINE_PCM_FLAG_COMPAT);
|