From: Adrian M. <zx8...@us...> - 2002-10-18 22:19:31
|
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; |