Hello Can you tell me please where i can read about DMA and IOMMU realisation in Fiasco/l4?
2011/11/23 Sartakov A. Vasily sartakov@ksyslabs.org:
Hi folks I am looked into sd/mmc card driver, which use only dma, and it doesn't work. i have a problem with omap_request_dma (plat-omap): before call omap_request_dma i should make init platform's dma, and i don't think what its good idea.
2011/11/18 Sartakov A. Vasily sartakov@ksyslabs.org:
Thanks, its right Anyway, ehci doesn't work. usb driver hasn't any changes, and i think problem somewhere in dma. for example - when i use musb host with dma it not works, i have a messages like reset high speed USB device number 3 using musb-hdrc reset high speed USB device number 3 using musb-hdrc scsi 0:0:0:0: Device offlined - not ready after error recovery and i cant mount or get device via udevd. when i use it in pio mode - all ok. unfortunately ehci hasnt pio mode, so, i should find solution with dma.
boot log for ehci: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-omap ehci-omap.0: OMAP-EHCI Host Controller ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 ------ here call dmapool and it done ok --------- ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: OMAP-EHCI Host Controller usb usb2: Manufacturer: Linux 3.0.0-l4-svn23 ehci_hcd usb usb2: SerialNumber: ehci-omap.0 hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected usbcore: registered new interface driver uas Initializing USB Mass Storage driver...
vanila linux: ehci-omap ehci-omap.0: reset hcs_params 0x1313 dbg=0 cc=1 pcc=3 ordered ports=3 ehci-omap ehci-omap.0: reset hcc_params 0016 thresh 1 uframes 256/512/1024 park ehci-omap ehci-omap.0: OMAP-EHCI Host Controller drivers/usb/core/inode.c: creating file '002' ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 ehci-omap ehci-omap.0: park 0 ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 ehci-omap ehci-omap.0: reset command 0080b02 park=3 ithresh=8 period=1024 Reset HALT ehci-omap ehci-omap.0: init command 0010005 (park)=0 ithresh=1 period=512 RUN ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 usb usb2: default language 0x0409 usb usb2: udev 1, busnum 2, minor = 128 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: OMAP-EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.39 ehci_hcd usb usb2: SerialNumber: ehci-omap.0 usb usb2: usb_probe_device usb usb2: configuration #1 chosen from 1 choice usb usb2: adding 2-0:1.0 (config #1, interface 0) hub 2-0:1.0: usb_probe_interface hub 2-0:1.0: usb_probe_interface - got id hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected hub 2-0:1.0: standalone hub hub 2-0:1.0: individual port power switching hub 2-0:1.0: individual port over-current protection hub 2-0:1.0: power on to power good time: 20ms hub 2-0:1.0: local power source is good hub 2-0:1.0: enabling power on all ports
2011/11/18 Adam Lackorzynski adam@os.inf.tu-dresden.de:
On Thu Nov 17, 2011 at 12:49:31 +0400, Sartakov A. Vasily wrote:
So.. usb host via ehci uses dma and i have problem in pool_alloc_page(mm/dmapool.c): dma_alloc_coherent (arhc/l4/mm/) returns 0, cos l4x_dma_mem_alloc returns 0 too.
I guess you need to put some 'dmamem' onto your vbus:
DMAMEM => new Device() { .hid = "dmamem"; new-res Mmio_ram(<size-in-bytes>, 0); }
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Sartakov A. Vasily
-- Sartakov A. Vasily