diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-01-23 17:48:39 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-01-23 17:48:39 +0100 |
commit | 633544a8e28f0aa36706f72759dc6ce06ccd1419 (patch) | |
tree | 8d6c7c5ebe1982d1ff83f0eb7fc45ad4053f2a69 /sound/pci/hda/hda_intel.c | |
parent | eefad7fd53eae2eb8d1e205b1d3a18f67e4e6b46 (diff) | |
parent | 29c5fbbcfefba5225a6783683c46c39e10877703 (diff) |
Merge branch 'fix/hda' into topic/hda
The fix for buffer-alignment is required for further works.
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 9cbde2fc7b17..fa4442e8e1a4 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -469,6 +469,7 @@ struct azx { unsigned int irq_pending_warned :1; unsigned int probing :1; /* codec probing phase */ unsigned int snoop:1; + unsigned int align_buffer_size:1; /* for debugging */ unsigned int last_cmd[AZX_MAX_CODECS]; @@ -1690,7 +1691,7 @@ static int azx_pcm_open(struct snd_pcm_substream *substream) runtime->hw.rates = hinfo->rates; snd_pcm_limit_hw_rates(runtime); snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); - if (align_buffer_size) + if (chip->align_buffer_size) /* constrain buffer sizes to be multiple of 128 bytes. This is more efficient in terms of memory access but isn't required by the HDA spec and @@ -2773,8 +2774,9 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, } /* disable buffer size rounding to 128-byte multiples if supported */ + chip->align_buffer_size = align_buffer_size; if (chip->driver_caps & AZX_DCAPS_BUFSIZE) - align_buffer_size = 0; + chip->align_buffer_size = 0; /* allow 64bit DMA address if supported by H/W */ if ((gcap & ICH6_GCAP_64OK) && !pci_set_dma_mask(pci, DMA_BIT_MASK(64))) |