Re: ioat: is DMA to MMIO supported?

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

 



On Fri, 2014-04-11 at 14:15 -0700, Simon Ustimenko wrote:
> Hello,
> 
> we've been playing around with the I/OAT DMA, trying to make it copy 
> from main memory to the MMIO, and we're facing troubles (incomplete 
> transfers, kernel oops).
> 
> Surprisingly, we have no problems with the DMA in the opposite direction.

On the Xeon platform memory -> MMIO is supported, MMIO to memory and
between MMIO is not. Not that you want to read from PCIe anyhow as the
performance is bad. PCIe Writes are posted and reads are not. You can
take a look at the NTB driver drivers/ntb/ in its usage of the IOATDMA
transfer from mem -> mmio as an example. What kind of kernel oops are
you hitting? And you have no issues using the CPU to copy the data to
those regions?

> The spec says memory->MMIO is supported, whereas MMIO->memory is not 
> (http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-c5500-c3500-datasheet-vol-1.pdf):
> 
>  > 4.2.1.6.1 Supported Features
>  > The following features are supported by the DMA engine:
>  > * Data transfer between two system memory locations, or from system 
> memory to MMIO.
>  >
>  > 4.2.1.6.2 Unsupported Features
>  > The following features are not supported by the DMA controller:
>  > * DMA data transfer from I/O subsystem to local system memory, and 
> I/O to I/O subsystems are not supported.
> 
> Can it be that the spec has it reversed? Could anyone confirm it is 
> working? Any projects are known to use it?
> Or is it just us, doing it wrong?
> 
> Regards,
> Simon
> --
> 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
��.n��������+%������w��{.n��������)�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux