I already posted following message to port-amiga, but comment on this matter from USB wizard would be appreciated. I'm mostly interested in how complete bus_dma implementation must be for USB stack to work (provided I'm not doing any real DMA transfers).
----- Forwarded message from Radek Kujawa ----- Date: Sun, 10 Oct 2010 08:30:56 +0200 To: [email protected] Subject: USB stack vs bus_dma_tag_t Hello. Yesterday evening I tried to compile kernel for Amiga with USB stack included. I stumbed upon following error: # compile A1200DEV/uhub.o (...) In file included from /Users/rkujawa/NetBSD-src/src/sys/dev/usb/uhub.c:53: /Users/rkujawa/NetBSD-src/src/sys/dev/usb/usbdivar.h:123: error: expected specifier-qualifier-list before 'bus_dma_tag_t' Brief look at the source gave me impression that: - Amiga port of NetBSD does not support MI DMA machinery - There's bus_dma_tag_t in arch/m68k but not in arch/amiga - USB stack thinks that every port is capable of MI DMA - USB stack thinks that every driver does DMA transfers I don't need real implementation of bus_dma, as SUBWAY is not a DMA controller anyway. I just need the data structures for USB stack. DMA transfers can be faked by driver, it was already done in SL811HS driver. Albeit this looks ugly and proper solution would be introduction of non-DMA Host Controller concept to USB stack. Requirement of bus_dma structures must stay in USB stack anyway, because there are DMA controllers that need it. How does bus_dma implementation of arch/m68k relate to arch/amiga? Can it be easily glued together to provide what I need? Ofcourse that would not bring proper DMA handling to amiga port, because it needs far more MD code. Best regards, Radoslaw Kujawa ----- End forwarded message -----
