The NetBSD Project

CVS log for src/sys/dev/usb/uaudio.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / usb

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: itohy-usb1


Revision 1.109.8.4 / (download) - annotate - [select for diffs], Sun May 18 14:13:16 2008 UTC (15 years, 11 months ago) by itohy
Branch: itohy-usb1
Changes since 1.109.8.3: +3 -3 lines
Diff to previous 1.109.8.3 (colored) to branchpoint 1.109 (colored) next main 1.110 (colored)

Fix typo, which caused panic at the end of recording.

Revision 1.109.8.3 / (download) - annotate - [select for diffs], Mon Jun 18 13:45:13 2007 UTC (16 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.109.8.2: +19 -3 lines
Diff to previous 1.109.8.2 (colored) to branchpoint 1.109 (colored)

Pullup 1.110 (attach driver per interface) with #ifdef USB_USE_IFATTACH.

Revision 1.109.8.2 / (download) - annotate - [select for diffs], Sat Jun 16 04:11:35 2007 UTC (16 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.109.8.1: +86 -46 lines
Diff to previous 1.109.8.1 (colored) to branchpoint 1.109 (colored)

- Map audio buffer directly and eliminate memory to memory copy
  by (ab)using mbuf(9).
- Change order to fit current API: usbd_open_pipe() -> usbd_alloc_xfer;
  usbd_abort_pipe() -> usbd_free_xfer() -> usbd_close_pipe().

XXX Untested

Revision 1.109.8.1 / (download) - annotate - [select for diffs], Tue May 22 14:57:39 2007 UTC (16 years, 11 months ago) by itohy
Branch: itohy-usb1
Changes since 1.109: +3 -3 lines
Diff to previous 1.109 (colored)

Overhaul of USB stack, mostly DMA related

This applies to NetBSD 4.99.13 (March 1, 2007)

usbdi(9) interface is based on FreeBSD version, excluding
 - removal of portability code

Patch most NetBSD changes, excluding
 - DMA memory "reserve", since we don't need contiguous buffers any longer
 - volatiles in DMA structure, since it should not be needed
   with proper bus_dmamap_sync(9)s

DMA/non-DMA memory management overhaul
 - Move all DMA related code to usb_mem.[ch]
   (add usb_alloc_buffer_dma(), usb_free_buffer_dma(), etc.).
   XXX Should usb_mem.[ch] be renamed as usb_mem_dma.[ch] ?
 - Add corresponding non-DMA code to usb_mem_nodma.[ch] .
   Currently just use malloc(9).
 - Above files are conditionally used by config framework (added
   attributes to conf/files and dev/usb/files.usb).
 - Add diagnostic panics when resource allocation is requested
   on interrupt context.
 - Change memory allocations (that require context) from NOWAIT to WAITOK.

Allocate DMA/non-DMA buffer per host interface, not globally.
 advantage:	Buffers can be freed on detaching host interface.
		Activity of a host interface does not affect others.
 disadvantages:	It possibly consumes more memory.

API changes
 - usbd_alloc_xfer() is changed:
    old: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev);
    new: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev,
		usbd_pipe_handle pipe);
 - pipe argument of usbd_setup_*xfer() are now unused
   XXX the pipe argument should be removed?
 - add mapping APIs
 - async request will be processed as a task (kernel thread context),
   and delayed to some extent
 - usbdivar.h: struct usbd_xfer: renamed a member "allocbuf" to "hcbuffer"
   (mapped/allocated/refered buffer for HCI driver)
 - usb_port.h: change usb_proc_ptr from  struct ptoc *  to struct lwp *
 - usb_port.h: add usb_sigproc_ptr for psignal(9) (struct proc *)
 - usb.h: add UE_MAXPKTSZ(ep) and UE_MAXPKTSZ_MASK macros for USB 2.0

changes to USB device drivers
 - atu, aue, axe, cdce, cue, kue, rum, udav, upl, ural, url,
   uaudio, ubt, ucom, ugen, uhidev, uirda, ulpt, umidi, urio,
   uscanner, ustir, utoppy:
    * catch up API change of usbd_alloc_xfer()
 - umass, usscanner:
    * catch up API change of usbd_alloc_xfer()
    * eliminate memory copy for large transfer

ohci
 - free resources on detach
 - add lots of bus_dmamap_sync() operations
 - simplify the code of loading std chain
 - rewrite code of looking up TD/ITD from DMA addr by using allocation chunk
 - add workaround for CMD Tech 670 and 673 chipsets
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf

slhci
 - allocate xfer and slhci_xfer at once, and simplify relevant code
 - add slhci_detach()
 - remove second arg of slhci_attach() since it is the same as the first arg.
 - add support for "mapping" (no, it doesn't map since it doesn't do DMA)
   buffer and mbuf
 - add pcmcia frontend
 - NOT TESTED, missing hardware

ehci
 - add lots of bus_dmamap_sync() operations, possibly too many
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf
 - done only simple test

uhci
 - add lots of bus_dmamap_sync() operations, possibly too many
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf

To do
 - review, test, debug
 - rewrite network drivers to utilize usbd_map_buffer_mbuf()
 - rewrite uaudio(4) to eliminate memcpy
 - "pipe" argument of usbd_setup_*xfer() should eventually be removed

Revision 1.109 / (download) - annotate - [select for diffs], Mon Feb 26 13:15:32 2007 UTC (17 years, 1 month ago) by drochner
Branch: MAIN
CVS Tags: itohy-usb1-base, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans, itohy-usb1
Changes since 1.108: +7 -7 lines
Diff to previous 1.108 (colored)

Don't assume that usb_descriptor_t contains a bDescriptorSubtype field.
This is class specific and shouldn't be in a generic definition.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>