summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/sound/sb_dsp.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1996-01-18 20:54:15 +0000
committerache <ache@FreeBSD.org>1996-01-18 20:54:15 +0000
commitb1f0e8424fc7dbf58a79806f0e985c5c534cb699 (patch)
treed85cf71194afce0bf6ed603c1bcf9b90d4055776 /sys/i386/isa/sound/sb_dsp.c
parent97c5aa5ded8e51ef9a1c48d81b32358216191d3a (diff)
downloadFreeBSD-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.c4
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
OpenPOWER on IntegriCloud