diff options
author | ache <ache@FreeBSD.org> | 1994-04-23 04:16:53 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-04-23 04:16:53 +0000 |
commit | 585b12b56db21a0364907372f5eb2480f9151ca8 (patch) | |
tree | 2c6423c667ea4d42203e765863644b5bd6370021 /sys/i386/isa/sound | |
parent | 3c6dc6acdee9b5fde3d4f9d9f8fd514f407f1657 (diff) | |
download | FreeBSD-src-585b12b56db21a0364907372f5eb2480f9151ca8.zip FreeBSD-src-585b12b56db21a0364907372f5eb2480f9151ca8.tar.gz |
Additional changes for 2.5
Diffstat (limited to 'sys/i386/isa/sound')
-rw-r--r-- | sys/i386/isa/sound/local.h | 8 | ||||
-rw-r--r-- | 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 fd44f85..a44c989 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 60b4ff3..d69e8e0 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) { |