From 2a9de2027efd1f96b140337747e93d9111c17a2e Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Sat, 23 Apr 1994 04:16:53 +0000 Subject: [PATCH] Additional changes for 2.5 --- sys/i386/isa/sound/local.h | 8 ++++---- sys/i386/isa/sound/soundcard.c | 32 ++++---------------------------- 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/sys/i386/isa/sound/local.h b/sys/i386/isa/sound/local.h index fd44f85a405a..a44c9897ac9e 100644 --- a/sys/i386/isa/sound/local.h +++ b/sys/i386/isa/sound/local.h @@ -7,8 +7,8 @@ #define DSP_BUFFSIZE 65536 #define SELECTED_SOUND_OPTIONS 0xffffffff -#define SOUND_VERSION_STRING "2.4" -#define SOUND_CONFIG_DATE "Mon Mar 7 23:54:09 PST 1994" -#define SOUND_CONFIG_BY "swallace" -#define SOUND_CONFIG_HOST "freefall.cdrom.com" +#define SOUND_VERSION_STRING "2.5" +#define SOUND_CONFIG_DATE "Sat Apr 23 07:45:17 MSD 1994" +#define SOUND_CONFIG_BY "ache" +#define SOUND_CONFIG_HOST "dream.demos.su" #define SOUND_CONFIG_DOMAIN "" diff --git a/sys/i386/isa/sound/soundcard.c b/sys/i386/isa/sound/soundcard.c index 60b4ff3b2823..d69e8e0a4065 100644 --- a/sys/i386/isa/sound/soundcard.c +++ b/sys/i386/isa/sound/soundcard.c @@ -69,7 +69,7 @@ static void sound_mem_init(void); unsigned long -get_time() +get_time(void) { extern struct timeval time; struct timeval timecopy; @@ -324,27 +324,14 @@ sound_mem_init (void) { dsp_init_mask |= (1 << dev); -#if 1 /* 0 */ if (sound_dma_automode[dev]) - { - sound_dma_automode[dev] = 0; /* Not possible with FreeBSD */ - } - - if (sound_buffcounts[dev] == 1) - { - sound_buffcounts[dev] = 2; - sound_buffsizes[dev] /= 2; - } - - if (sound_buffsizes[dev] > 65536) /* Larger is not possible (yet) */ - sound_buffsizes[dev] = 65536; + sound_buffcounts[dev] = 1; if (sound_dsp_dmachan[dev] > 3 && sound_buffsizes[dev] > 65536) dma_pagesize = 131072; /* 128k */ else dma_pagesize = 65536; - /* More sanity checks */ if (sound_buffsizes[dev] > dma_pagesize) @@ -352,24 +339,13 @@ sound_mem_init (void) sound_buffsizes[dev] &= ~0xfff; /* Truncate to n*4k */ if (sound_buffsizes[dev] < 4096) sound_buffsizes[dev] = 4096; -#else - dma_pagesize = 4096; - sound_buffsizes[dev] = 4096; - sound_buffcounts[dev] = 16; /* -> 64k */ -#endif /* Now allocate the buffers */ for (snd_raw_count[dev] = 0; snd_raw_count[dev] < sound_buffcounts[dev]; snd_raw_count[dev]++) { - /* - * The DMA buffer allocation algorithm hogs memory. We allocate - * a memory area which is two times the requires size. This - * guarantees that it contains at least one valid DMA buffer. - * - * This really needs some kind of finetuning. - */ - char *tmpbuf = contigmalloc (sound_buffsizes[dev], M_DEVBUF, M_NOWAIT, 0xFFFFFFul, 0ul, 0xFFFFul); + char *tmpbuf = contigmalloc (sound_buffsizes[dev], M_DEVBUF, M_NOWAIT, + 0xFFFFFFul, 0ul, dma_pagesize <= 65536 ? 0xFFFFul : 0x1FFFFul); if (tmpbuf == NULL) {