• Sudeep Dutt's avatar
    misc: mic: SCIF DMA and CPU copy interface · 7cc31cd2
    Sudeep Dutt authored
    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: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
    Reviewed-by: default avatarNikhil Rao <nikhil.rao@intel.com>
    Signed-off-by: default avatarSudeep Dutt <sudeep.dutt@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7cc31cd2
scif_dma.c 53 KB