RE: [PATCH] fsldma: use PCI Read Multiple command



You are assuming the PCI memory space is prefetchable( no
side effect) for DMA.
Is it possible that DMA is from non-prefetchable memory space?

This should be a safe assumption for this driver. Remember, this
driver just does offload memcpy, from one region to another. So the
PCI memory that you are reading from should be just a buffer of data,
and there should be side-effect of reading it.

However, I would like to see a comment at the top of the file warning
people that copying from PCI memory will result in prefetched reads.

How about FIFO RAM case?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: driver: ddi_dma_alloc_handle issue
    ... and lock down in memory. ... >scatter-gather DMA but needs buffers a lot larger than a single ... >Or, if it's random kernel virtual memory (i.e., memory your driver didn't ... It is a user level process that directly controls the hardware. ...
    (comp.unix.solaris)
  • Re: How to get a 32-bit buffer-pointer in the driver and how to pass this to the PCI-board (no dma)
    ... Memory which needs to be exported from kernel to user-space, ... There's no VDMA or DMA initiated from the driver side. ...
    (comp.unix.solaris)
  • Re: DMA operation to 64-bits PC platform
    ... implemented a DMA unit which uses the PCIe endpoint block plus v1.14. ... application allocates virtual memory and passes the memory block to ... The driver locks the memory and converts the virtual ... an application requests a buffer using malloc ...
    (comp.arch.fpga)
  • Re: Blocked kernel thread misses wakeup on SMP - Tru64 5.1A
    ... >> The driver is for a PCI network memory board that has a DMA controller ... >> for moving data from the PCI contained memory to main system memory. ... You manually unlock the simple lock before calling ... In my driver code, I am doing precisely what you have ...
    (comp.unix.tru64)
  • Re: Blocked kernel thread misses wakeup on SMP - Tru64 5.1A
    ... >> The driver is for a PCI network memory board that has a DMA controller ... >> for moving data from the PCI contained memory to main system memory. ... You manually unlock the simple lock before calling ... In my driver code, I am doing precisely what you have ...
    (comp.unix.tru64)