Update of /cvsroot/alsa/alsa-driver/usb/usx2y In directory sc8-pr-cvs1:/tmp/cvs-serv13868/usx2y
Modified Files: usbusx2y.c usbusx2yaudio.c Log Message: Karsten Wiese <[EMAIL PROTECTED]>: - Start devices audio-engine on driver startup. - Prepare for us224 - Tests. additional fixes by tiwai: - use non-atomic prepare callback. - fixed wrong use of GFP_ flags Index: usbusx2y.c =================================================================== RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- usbusx2y.c 26 Nov 2003 10:01:28 -0000 1.2 +++ usbusx2y.c 27 Nov 2003 14:57:51 -0000 1.3 @@ -1,6 +1,11 @@ /* * usbus428.c - ALSA USB US-428 Driver * +2003-11-27 Karsten Wiese, Martin Langer + Version 0.4: + us122 support. + us224 could be tested by uncommenting the sections containing USB_ID_US224 + 2003-11-03 Karsten Wiese Version 0.3: 24Bit support. @@ -173,7 +178,7 @@ if (usX2Y->US04) { if (0 == usX2Y->US04->submitted) do - err = usb_submit_urb(usX2Y->US04->urb[usX2Y->US04->submitted++], GFP_KERNEL); + err = usb_submit_urb(usX2Y->US04->urb[usX2Y->US04->submitted++], GFP_ATOMIC); while (!err && usX2Y->US04->submitted < usX2Y->US04->len); } else if (us428ctls && us428ctls->p4outLast >= 0 && us428ctls->p4outLast < N_us428_p4out_BUFS) { @@ -191,7 +196,7 @@ #ifdef OLD_USB usX2Y->AS04.urb[j]->transfer_flags = USB_QUEUE_BULK; #endif - usb_submit_urb(usX2Y->AS04.urb[j], GFP_KERNEL); + usb_submit_urb(usX2Y->AS04.urb[j], GFP_ATOMIC); us428ctls->p4outSent = send; break; } @@ -229,6 +234,11 @@ .idVendor = 0x1604, .idProduct = USB_ID_US122 }, +/* { FIXME: uncomment to test us224 support*/ +/* .match_flags = USB_DEVICE_ID_MATCH_DEVICE, */ +/* .idVendor = 0x1604, */ +/* .idProduct = USB_ID_US224 */ +/* }, */ { /* terminator */ } }; @@ -268,7 +278,7 @@ int err; snd_card_t* card; if (device->descriptor.idVendor != 0x1604 || - (device->descriptor.idProduct != USB_ID_US122 && device->descriptor.idProduct != USB_ID_US428) || + (device->descriptor.idProduct != USB_ID_US122 && /* device->descriptor.idProduct != USB_ID_US224 && */ device->descriptor.idProduct != USB_ID_US428) || !(card = snd_usX2Y_create_card(device))) return 0; if ((err = snd_usX2Y_hwdep_new(card, device)) < 0 || Index: usbusx2yaudio.c =================================================================== RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- usbusx2yaudio.c 25 Nov 2003 11:21:49 -0000 1.1 +++ usbusx2yaudio.c 27 Nov 2003 14:57:51 -0000 1.2 @@ -474,7 +474,7 @@ subs->dataurb[ep][i]->transfer_flags = 0; subs->dataurb[ep][i]->start_frame = subs->dataurb[0][i]->start_frame; } - if ((err = usb_submit_urb(subs->dataurb[ep][i], GFP_KERNEL)) < 0) { + if ((err = usb_submit_urb(subs->dataurb[ep][i], GFP_ATOMIC)) < 0) { snd_printk (KERN_ERR "cannot submit datapipe for urb %d %d, err = %d\n", ep, i, err); return -EPIPE; } @@ -1220,12 +1220,13 @@ pcm->private_data = usX2Y_stream; pcm->private_free = snd_usX2Y_audio_pcm_free; - pcm->info_flags = 0; + pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; sprintf(pcm->name, NAME_ALLCAPS" Audio #%d", usX2Y(card)->chip.pcm_devs); - if (0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream, 64*1024, 128*1024, GFP_ATOMIC)) - || 0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream , usX2Y_capt_substream->endpoints * 64*1024, usX2Y_capt_substream->endpoints * 128*1024, GFP_ATOMIC))) { + if (0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream, 64*1024, 128*1024, GFP_KERNEL)) + || 0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream , usX2Y_capt_substream->endpoints * 64*1024, usX2Y_capt_substream->endpoints * 128*1024, GFP_KERNEL)) + || 0 > (err = usX2Y_rate_set(usX2Y_stream, 44100))) { // needed to make us428 recognize output-volume settings for direct-monitoring and master-pcm. shouldn't disturb other usx2y. snd_usX2Y_audio_stream_free(usX2Y_stream); return err; } ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog