At Thu, 03 Jan 2008 15:34:05 -0800, Tobin Davis wrote: > > Summary: hda_intel.c use gcap register to determine number of streams > supported by southbridge. > > This patch removes hardcoded values for the number of streams supported > by the southbridge in most chipsets, and reads these values from the > chipset directly. Most systems are hardwired for 4 streams in each > direction, but newer chipsets change that capability. > > > Signed off by Tobin Davis <tdavis@xxxxxxxxxxxx> > [2 hda-gcap.patch <text/x-patch; UTF-8 (7bit)>] > diff -r 1227a1c12325 pci/hda/hda_intel.c > --- a/pci/hda/hda_intel.c Mon Dec 24 14:40:56 2007 +0100 > +++ b/pci/hda/hda_intel.c Thu Jan 03 15:27:10 2008 -0800 > @@ -1709,12 +1709,13 @@ static int __devinit azx_create(struct s > { > struct azx *chip; > int err; > + unsigned short gcap; > static struct snd_device_ops ops = { > .dev_free = azx_dev_free, > }; > > *rchip = NULL; > - > + > err = pci_enable_device(pci); > if (err < 0) > return err; > @@ -1790,10 +1791,19 @@ static int __devinit azx_create(struct s > chip->capture_index_offset = ATIHDMI_CAPTURE_INDEX; > break; > default: > - chip->playback_streams = ICH6_NUM_PLAYBACK; > - chip->capture_streams = ICH6_NUM_CAPTURE; > - chip->playback_index_offset = ICH6_PLAYBACK_INDEX; > - chip->capture_index_offset = ICH6_CAPTURE_INDEX; > + /* read number of streams from GCAP register instead of using > + * hardcoded value > + */ > + gcap = azx_readw(chip, GCAP); > + if(!gcap) { > + snd_printk(KERN_ERR "Device has no streams \n"); > + goto errout; > + }; I think it's safer to assign old ICH6_* values in this case (just to be sure) after a warning message. > + chip->playback_streams = (gcap&(0xF<<12))>>12; > + chip->capture_streams = (gcap&(0xF<<8))>>8; > + chip->playback_index_offset = (gcap&(0xF<<12))>>12; > + chip->capture_index_offset = 0; > + > break; > } > chip->num_streams = chip->playback_streams + chip->capture_streams; The patch has some coding style issues, for example, no space around operators, etc. Try to run $LINUX/scripts/checkpatch.pl, fix the errors and the issue above, and please repost the patch again. Thanks! Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel