]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'fix/hda' into topic/hda
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 Jan 2012 16:48:39 +0000 (17:48 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Jan 2012 16:48:39 +0000 (17:48 +0100)
The fix for buffer-alignment is required for further works.

1  2 
sound/pci/hda/hda_intel.c

index 9cbde2fc7b173d2018af0d68177fdca06c6b2671,95dfb687494144e54b191e3f7f4dbe7179bcf37d..fa4442e8e1a42f8c3318274a5367a0c6bf6c6107
@@@ -94,7 -94,7 +94,7 @@@ MODULE_PARM_DESC(probe_only, "Only prob
  module_param(single_cmd, bool, 0444);
  MODULE_PARM_DESC(single_cmd, "Use single command to communicate with codecs "
                 "(for debugging only).");
 -module_param(enable_msi, int, 0444);
 +module_param(enable_msi, bint, 0444);
  MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)");
  #ifdef CONFIG_SND_HDA_PATCH_LOADER
  module_param_array(patch, charp, NULL, 0444);
@@@ -469,6 -469,7 +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 +1691,7 @@@ static int azx_pcm_open(struct snd_pcm_
        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 +2774,9 @@@ static int __devinit azx_create(struct 
        }
  
        /* 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)))