fpga: Add scatterlist based programming
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Wed, 1 Feb 2017 19:48:44 +0000 (12:48 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Feb 2017 14:20:44 +0000 (15:20 +0100)
commitbaa6d396635129d8a67793e884f3b2182c7354b3
treee836ac87b5a67011ef9f1c14d0443b4de8f9c309
parentb496df86ac1bbe393a55ddbfed35d46e74ef9767
fpga: Add scatterlist based programming

Requiring contiguous kernel memory is not a good idea, this is a limited
resource and allocation can fail under normal work loads.

This introduces a .write_sg op that supporting drivers can provide
to DMA directly from dis-contiguous memory and a new entry point
fpga_mgr_buf_load_sg that users can call to directly provide page
lists.

The full matrix of compatibility is provided, either the linear or sg
interface can be used by the user with a driver supporting either
interface.

A notable change for drivers is that the .write op can now be called
multiple times.

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Acked-by: Alan Tull <atull@opensource.altera.com>
Acked-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/fpga/fpga-mgr.txt
drivers/fpga/fpga-mgr.c
include/linux/fpga/fpga-mgr.h