summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-04-23 04:16:53 +0000
committerache <ache@FreeBSD.org>1994-04-23 04:16:53 +0000
commit585b12b56db21a0364907372f5eb2480f9151ca8 (patch)
tree2c6423c667ea4d42203e765863644b5bd6370021
parent3c6dc6acdee9b5fde3d4f9d9f8fd514f407f1657 (diff)
downloadFreeBSD-src-585b12b56db21a0364907372f5eb2480f9151ca8.zip
FreeBSD-src-585b12b56db21a0364907372f5eb2480f9151ca8.tar.gz
Additional changes for 2.5
-rw-r--r--sys/i386/isa/sound/local.h8
-rw-r--r--sys/i386/isa/sound/soundcard.c32
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)
{
OpenPOWER on IntegriCloud