tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Fwd: USB stack vs bus_dma_tag_t

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
Subject: USB stack vs bus_dma_tag_t


        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 -----

Home | Main Index | Thread Index | Old Index