On Mon, 2016-10-24 at 14:34 +0200, Stefan Roese wrote: > Hi! > > I'm currently trying to xfer data from system memory to a PCI > device (FPGA) via DMA MEMCPY on a BayTrail based platform similar > to the MinnowboardMax. For this I thought that I could use the > integrated Synopsis DW DMA controller(s). My first tests show > that the memory behind the PCI device is not updated with the > DMA data though (no error message from the DMA driver though). > I'm wondering now, if those 2 DMA controllers can be used for > such generic PCI transfers. Or if they can only be used to > transfer to the I2C / SPI / UART devices instead. > > Any infos / links on this would be very helpful. You can do memory-to-memory transfers, but not device-to-memory or memory-to-device except mentioned ones because they are using request lines wired inside SoC. Be careful BayTrail and Braswell has auto power gating for DMA and you _have_to_ be sure that it's powered on before doing any access to it, otherwise the bus and therefore OS will hang. It means any of the (ACPI) device using those DMA shall be part of LPSS power domain. More information is available in drivers/acpi_lpss.c. For PCI devices I have no idea how you can power DMA on except explicit call of power_set_power_state() on certain struct pci_dev which you get by BDF for the system. Hope this helps. -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html