mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
ALSA: jazz16: refine dma and irq selection
Narrow the dma and irq selection after the DOS driver. Add ALSA configuration description as well. Signed-off-by: Krzysztof Helt <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
This commit is contained in:
parent
52e04ea89d
commit
44eba3e82b
3 changed files with 37 additions and 2 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue