]> git.baikalelectronics.ru Git - kernel.git/commit
misc: mic: SCIF DMA and CPU copy interface
authorSudeep Dutt <sudeep.dutt@intel.com>
Wed, 30 Sep 2015 01:16:04 +0000 (18:16 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 11:54:54 +0000 (12:54 +0100)
commit6ed4633cf3ec0e3f8943c5483ddbb11eb13f8a00
tree3663ec9ef05fc10ec4920f4b431a9fc184d9fd21
parent95ffca438db3a5e0107d2b983db66681b1a9ab72
misc: mic: SCIF DMA and CPU copy interface

SCIF allows users to read from or write to registered remote memory
via CPU copies or DMA. The API verifies that both local and remote
windows are valid before initiating the CPU or DMA transfers. SCIF has
optimized algorithms for handling byte aligned as well as cache line
aligned DMA engines. A registration cache is maintained to avoid the
overhead of pinning pages repeatedly if buffers are reused. The
registration cache is invalidated upon receipt of MMU notifier
callbacks.  SCIF windows are destroyed and the pages are unpinned only
once all prior DMAs initiated using that window are drained. Users can
request synchronous DMA operations as well as tail byte ordering if
required. CPU copies are always performed synchronously.

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mic/scif/scif_dma.c [new file with mode: 0644]