Loading sound/pci/hda/Kconfig +13 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,19 @@ menuconfig SND_HDA_INTEL if SND_HDA_INTEL config SND_HDA_PREALLOC_SIZE int "Pre-allocated buffer size for HD-audio driver" range 0 32768 default 64 help Speficies the default pre-allocated buffer-size in kB for HD-audio driver. A larger buffer (e.g. 2048) is preferred for systems with PulseAudio. The default 64 is chosen just from the compatibility reason. Note that the pre-allocation size can be changed dynamically via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. config SND_HDA_HWDEP bool "Build hwdep interface for HD-audio driver" select SND_HWDEP Loading sound/pci/hda/hda_intel.c +7 −1 Original line number Diff line number Diff line Loading @@ -2075,6 +2075,8 @@ static void azx_pcm_free(struct snd_pcm *pcm) } } #define MAX_PREALLOC_SIZE (32 * 1024 * 1024) static int azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, struct hda_pcm *cpcm) Loading @@ -2083,6 +2085,7 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, struct snd_pcm *pcm; struct azx_pcm *apcm; int pcm_dev = cpcm->device; unsigned int size; int s, err; if (pcm_dev >= HDA_MAX_PCMS) { Loading Loading @@ -2118,9 +2121,12 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, snd_pcm_set_ops(pcm, s, &azx_pcm_ops); } /* buffer pre-allocation */ size = CONFIG_SND_HDA_PREALLOC_SIZE * 1024; if (size > MAX_PREALLOC_SIZE) size = MAX_PREALLOC_SIZE; snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_dma_pci_data(chip->pci), 1024 * 64, 32 * 1024 * 1024); size, MAX_PREALLOC_SIZE); return 0; } Loading Loading
sound/pci/hda/Kconfig +13 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,19 @@ menuconfig SND_HDA_INTEL if SND_HDA_INTEL config SND_HDA_PREALLOC_SIZE int "Pre-allocated buffer size for HD-audio driver" range 0 32768 default 64 help Speficies the default pre-allocated buffer-size in kB for HD-audio driver. A larger buffer (e.g. 2048) is preferred for systems with PulseAudio. The default 64 is chosen just from the compatibility reason. Note that the pre-allocation size can be changed dynamically via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. config SND_HDA_HWDEP bool "Build hwdep interface for HD-audio driver" select SND_HWDEP Loading
sound/pci/hda/hda_intel.c +7 −1 Original line number Diff line number Diff line Loading @@ -2075,6 +2075,8 @@ static void azx_pcm_free(struct snd_pcm *pcm) } } #define MAX_PREALLOC_SIZE (32 * 1024 * 1024) static int azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, struct hda_pcm *cpcm) Loading @@ -2083,6 +2085,7 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, struct snd_pcm *pcm; struct azx_pcm *apcm; int pcm_dev = cpcm->device; unsigned int size; int s, err; if (pcm_dev >= HDA_MAX_PCMS) { Loading Loading @@ -2118,9 +2121,12 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, snd_pcm_set_ops(pcm, s, &azx_pcm_ops); } /* buffer pre-allocation */ size = CONFIG_SND_HDA_PREALLOC_SIZE * 1024; if (size > MAX_PREALLOC_SIZE) size = MAX_PREALLOC_SIZE; snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_dma_pci_data(chip->pci), 1024 * 64, 32 * 1024 * 1024); size, MAX_PREALLOC_SIZE); return 0; } Loading