Additional changes for 2.5
This commit is contained in:
parent
f66fdd6803
commit
2a9de2027e
@ -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 ""
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user