Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound/aica
In directory usw-pr-cvs1:/tmp/cvs-serv9648/drivers/sound/aica
Modified Files:
main.c
Log Message:
Sound driver updated
Index: main.c
===================================================================
RCS file: /cvsroot/linuxdc/linux-sh-dc/drivers/sound/aica/main.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- main.c 30 Jan 2002 00:20:38 -0000 1.5
+++ main.c 18 Oct 2002 22:19:28 -0000 1.6
@@ -68,6 +68,10 @@
static int currentpoint;
static struct semaphore dsp_mutex;
+static int sleeps = 0; /* default is not to sleep for hi-sample rate sounds */
+
+MODULE_PARM(sleeps, "i");
+
typedef struct {
uint32_t cmd; /* Command ID */
uint32_t pos; /* Sample position */
@@ -320,7 +324,7 @@
aica_dev_t *devc = (aica_dev_t *) (file->private_data);
int playpoint, i;
if (chanh->freq < 23000) {
- interruptible_sleep_on_timeout(&(devc->open_wait), HZ/5);
+ interruptible_sleep_on_timeout(&(devc->open_wait), HZ / 5);
}
if (devc->last_write_length > 0) {
spu_write_wait();
@@ -341,7 +345,7 @@
for (i = 0; i < (HZ * 2); i++) {
- if (chanh->freq < 23000)
+ if ((chanh->freq < 23000) || (sleeps > 0))
interruptible_sleep_on_timeout(&
(devc->
open_wait),
@@ -432,7 +436,7 @@
if ((currentpoint + total_count) > 0x8000) {
currentpoint = 0;
do {
- if (chanh->freq < 23000)
+ if ((chanh->freq < 23000) || (sleeps > 0))
interruptible_sleep_on_timeout(&
(devc->
open_wait),
@@ -788,7 +792,7 @@
}
devc->next_dev = NULL;
- devc->channel = 0;
+ devc->channel = 0;
aica_dev_list = devc;
return 0;
|