patch-2.4.2 linux/drivers/sound/ymfpci.c
Next file: linux/drivers/telephony/ixj.c
Previous file: linux/drivers/sound/ymf_sb.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Fri Feb 16 16:02:37 2001
- Orig file:
v2.4.1/linux/drivers/sound/ymfpci.c
- Orig date:
Sat Feb 3 19:51:29 2001
diff -u --recursive --new-file v2.4.1/linux/drivers/sound/ymfpci.c linux/drivers/sound/ymfpci.c
@@ -50,8 +50,9 @@
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/pci.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>
#include <linux/poll.h>
+#include <linux/soundcard.h>
#include <linux/ac97_codec.h>
#include <linux/sound.h>
@@ -1718,21 +1719,15 @@
case SNDCTL_DSP_SETFRAGMENT:
if (get_user(val, (int *)arg))
return -EFAULT;
- /* P3: these frags are for Doom. Amasingly, it sets [2,2**11]. */
- /* P3 */ // printk("ymfpci: ioctl SNDCTL_DSP_SETFRAGMENT 0x%x\n", val);
-
dmabuf = &state->wpcm.dmabuf;
dmabuf->ossfragshift = val & 0xffff;
dmabuf->ossmaxfrags = (val >> 16) & 0xffff;
- switch (dmabuf->ossmaxfrags) {
- case 1:
- dmabuf->ossfragshift = 12;
- return 0;
- default:
- /* Fragments must be 2K long */
- dmabuf->ossfragshift = 11;
- dmabuf->ossmaxfrags = 2;
- }
+ if (dmabuf->ossfragshift < 4)
+ dmabuf->ossfragshift = 4;
+ if (dmabuf->ossfragshift > 15)
+ dmabuf->ossfragshift = 15;
+ if (dmabuf->ossmaxfrags < 4)
+ dmabuf->ossmaxfrags = 4;
return 0;
case SNDCTL_DSP_GETOSPACE:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)