At Wed, 23 Dec 2009 18:02:41 +0100, Krzysztof Helt wrote: > > From: Krzysztof Helt <krzysztof.h1@xxxxx> > > Narrow the dma and irq selection after the DOS driver. > > Add ALSA configuration description as well. > > Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx> Applied now. > --- > The dma8 must be 8-bit otherwise the 8-bit sound played > through 16-bit dma has metalic noise. The 8-bit DMA cannot > play 16-bit sound. Hm, is it a SRC issue? thanks, Takashi > > Documentation/sound/alsa/ALSA-Configuration.txt | 15 +++++++++++++++ > sound/isa/sb/jazz16.c | 21 ++++++++++++++++++++- > sound/isa/sb/sb8_main.c | 3 ++- > 3 files changed, 37 insertions(+), 2 deletions(-) > > diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt > index 8923597..92b0975 100644 > --- a/Documentation/sound/alsa/ALSA-Configuration.txt > +++ b/Documentation/sound/alsa/ALSA-Configuration.txt > @@ -1123,6 +1123,21 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. > > This module supports multiple cards, autoprobe and ISA PnP. > > + Module snd-jazz16 > + ------------------- > + > + Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips: > + MVD1216 + MVA416 + MVA514. > + > + port - port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260) > + irq - IRQ # for SB DSP chip (3,5,7,9,10,15) > + dma8 - DMA # for SB DSP chip (1,3) > + dma16 - DMA # for SB DSP chip (5,7) > + mpu_port - MPU-401 port # (0x300,0x310,0x320,0x330) > + mpu_irq - MPU-401 irq # (2,3,5,7) > + > + This module supports multiple cards. > + > Module snd-korg1212 > ------------------- > > diff --git a/sound/isa/sb/jazz16.c b/sound/isa/sb/jazz16.c > index d52966b..8d21a3f 100644 > --- a/sound/isa/sb/jazz16.c > +++ b/sound/isa/sb/jazz16.c > @@ -189,10 +189,29 @@ static int __devinit snd_jazz16_match(struct device *devptr, unsigned int dev) > if (port[dev] == SNDRV_AUTO_PORT) { > snd_printk(KERN_ERR "please specify port\n"); > return 0; > + } else if (port[dev] == 0x200 || (port[dev] & ~0x270)) { > + snd_printk(KERN_ERR "incorrect port specified\n"); > + return 0; > + } > + if (dma8[dev] != SNDRV_AUTO_DMA && > + dma8[dev] != 1 && dma8[dev] != 3) { > + snd_printk(KERN_ERR "dma8 must be 1 or 3\n"); > + return 0; > } > if (dma16[dev] != SNDRV_AUTO_DMA && > dma16[dev] != 5 && dma16[dev] != 7) { > - snd_printk(KERN_ERR "dma16 must be 5 or 7"); > + snd_printk(KERN_ERR "dma16 must be 5 or 7\n"); > + return 0; > + } > + if (mpu_port[dev] != SNDRV_AUTO_PORT && > + (mpu_port[dev] & ~0x030) != 0x300) { > + snd_printk(KERN_ERR "incorrect mpu_port specified\n"); > + return 0; > + } > + if (mpu_irq[dev] != SNDRV_AUTO_DMA && > + mpu_irq[dev] != 2 && mpu_irq[dev] != 3 && > + mpu_irq[dev] != 5 && mpu_irq[dev] != 7) { > + snd_printk(KERN_ERR "mpu_irq must be 2, 3, 5 or 7\n"); > return 0; > } > return 1; > diff --git a/sound/isa/sb/sb8_main.c b/sound/isa/sb/sb8_main.c > index 3222aed..7d84c9f 100644 > --- a/sound/isa/sb/sb8_main.c > +++ b/sound/isa/sb/sb8_main.c > @@ -510,7 +510,8 @@ static int snd_sb8_open(struct snd_pcm_substream *substream) > } > switch (chip->hardware) { > case SB_HW_JAZZ16: > - runtime->hw.formats |= SNDRV_PCM_FMTBIT_S16_LE; > + if (chip->dma16 == 5 || chip->dma16 == 7) > + runtime->hw.formats |= SNDRV_PCM_FMTBIT_S16_LE; > runtime->hw.rates |= SNDRV_PCM_RATE_8000_48000; > runtime->hw.rate_min = 4000; > runtime->hw.rate_max = 50000; > -- > 1.6.4 > > > ---------------------------------------------------------------------- > Sprawdz sekrety swojego biorytmu. > Kliknij >> http://link.interia.pl/f2534 > > > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@xxxxxxxxxxxxxxxx > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel