diff options
author | ache <ache@FreeBSD.org> | 1996-01-18 20:54:15 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1996-01-18 20:54:15 +0000 |
commit | b1f0e8424fc7dbf58a79806f0e985c5c534cb699 (patch) | |
tree | d85cf71194afce0bf6ed603c1bcf9b90d4055776 /sys/i386/isa/sound/sb_dsp.c | |
parent | 97c5aa5ded8e51ef9a1c48d81b32358216191d3a (diff) | |
download | FreeBSD-src-b1f0e8424fc7dbf58a79806f0e985c5c534cb699.zip FreeBSD-src-b1f0e8424fc7dbf58a79806f0e985c5c534cb699.tar.gz |
Fix buffer sizes calculation looking into new Linux driver.
Save 112K for SB, 64K for PAS and 64K for MSS.
Since PAS use SB emulation, 176K normally saved for it.
Few minor optimizations added like in Linux driver.
Diffstat (limited to 'sys/i386/isa/sound/sb_dsp.c')
-rw-r--r-- | sys/i386/isa/sound/sb_dsp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/i386/isa/sound/sb_dsp.c b/sys/i386/isa/sound/sb_dsp.c index 8bffc59..f5507e9 100644 --- a/sys/i386/isa/sound/sb_dsp.c +++ b/sys/i386/isa/sound/sb_dsp.c @@ -1191,7 +1191,9 @@ sb_dsp_init (long mem_start, struct address_info *hw_config) { audio_devs[my_dev = num_audiodevs++] = &sb_dsp_operations; audio_devs[my_dev]->buffcount = DSP_BUFFCOUNT; - audio_devs[my_dev]->buffsize = DSP_BUFFSIZE; + audio_devs[my_dev]->buffsize = ( + (sbc_major > 2 || sbc_major == 2 && sbc_minor > 0) ? + 16 : 8) * 1024; audio_devs[my_dev]->dmachan = hw_config->dma; } else |