Jason Gunthorpe
baa6d39663
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 >
2017-02-10 15:20:44 +01:00
..
2016-12-14 20:42:45 -08:00
2017-01-29 18:30:56 -05:00
2016-12-16 11:23:34 -08:00
2016-11-02 20:44:20 +01:00
2017-01-09 10:04:09 +09:00
2017-02-10 15:20:44 +01:00
2016-11-29 09:17:20 +01:00
2017-01-19 09:57:20 +01:00
2016-11-17 23:19:00 +01:00
2016-12-31 14:35:04 +00:00
2016-12-25 11:04:12 +01:00
2016-01-07 10:10:50 -05:00
2016-12-19 08:16:26 -08:00
2016-12-29 14:17:40 -05:00
2016-12-28 14:36:52 -05:00
2016-12-05 14:16:22 +01:00
2016-11-29 18:28:30 -08:00
2016-12-06 21:42:19 +01:00
2016-12-14 10:49:33 -08:00
2017-01-19 12:42:25 +01:00
2016-11-23 23:37:27 +01:00
2016-12-02 12:44:37 -05:00
2016-10-07 09:45:43 -07:00
2016-12-05 11:38:30 +00:00
2016-11-14 21:52:14 -08:00
2016-12-15 16:03:25 -08:00
2017-01-24 15:29:24 -05:00
2016-12-13 11:10:36 -08:00
2016-12-06 16:57:33 +01:00
2016-12-15 12:46:48 -08:00
2012-10-13 10:46:48 +01:00
2016-12-05 14:31:24 -05:00
2016-12-22 22:58:37 -05:00
2016-12-01 14:45:08 +01:00
2012-02-09 09:04:23 -08:00
2005-04-16 15:20:36 -07:00
2013-09-24 10:35:17 +01:00
2013-12-02 11:24:18 +00:00
2013-03-12 13:59:14 -07:00
2012-12-02 00:05:12 +00:00
2016-12-05 19:00:38 -05:00
2016-12-13 10:19:16 -08:00
2016-05-04 23:41:14 +02:00
2016-12-09 08:30:51 -07:00
2016-12-01 07:58:40 -07:00
2016-11-01 09:43:26 -06:00
2016-12-14 10:49:33 -08:00
2017-01-13 15:17:04 -07:00
2016-12-08 13:31:11 -05:00
2016-12-17 11:14:25 -05:00
2017-01-18 17:12:26 -05:00
2016-11-30 10:22:27 -05:00
2016-11-17 20:15:26 -05:00
2012-10-13 10:46:48 +01:00
2016-11-04 14:34:47 -06:00
2016-10-31 13:01:58 -07:00
2016-12-22 09:25:45 -08:00
2016-11-22 13:21:00 -06:00
2009-07-31 12:28:46 +02:00
2015-01-20 14:02:58 -07:00
2016-11-25 16:25:52 -05:00
2010-03-24 16:31:22 -07:00
2016-12-08 16:37:33 -08:00
2016-12-25 11:04:12 +01:00
2012-10-13 10:46:48 +01:00
2016-12-12 18:55:08 -08:00
2014-01-21 20:18:26 -08:00
2016-09-27 21:20:53 -04:00
2016-12-12 18:55:09 -08:00
2008-04-30 08:29:54 -07:00
2016-12-21 10:16:05 -08:00
2016-06-25 09:04:48 -07:00
2016-12-13 11:18:24 -08:00
2013-12-29 15:25:48 +01:00
2015-11-24 09:56:43 +01:00
2017-01-14 19:32:40 -05:00
2016-12-25 10:47:43 +01:00
2016-11-21 14:35:43 +01:00
2017-02-01 08:37:27 +01:00
2016-11-29 14:02:21 +01:00
2016-12-15 11:32:31 +01:00
2008-12-25 11:01:43 +11:00
2016-12-17 16:00:34 -08:00
2016-12-26 20:29:24 -08:00
2016-12-03 20:51:49 -05:00
2016-12-05 19:01:16 -05:00
2016-12-13 11:42:18 -08:00
2016-07-26 16:19:19 -07:00
2016-11-23 10:07:35 +08:00
2016-05-03 11:20:07 +09:00
2016-09-14 13:56:38 -04:00
2016-12-13 11:42:18 -08:00
2016-11-15 12:48:33 +01:00
2016-11-14 16:58:36 +01:00
2016-12-14 16:04:08 -08:00
2016-11-30 08:54:04 +05:30
2011-10-14 16:48:08 +02:00
2016-12-25 11:04:12 +01:00
2016-08-04 08:50:07 -04:00
2014-09-29 00:04:55 -04:00
2013-03-03 23:59:59 -08:00
2016-12-15 08:58:12 -02:00
2017-01-14 16:48:53 +01:00
2016-12-09 09:03:02 -07:00
2012-10-16 18:49:15 -07:00
2015-04-14 16:49:05 -07:00
2013-11-09 00:16:23 -05:00
2008-01-28 23:21:18 +01:00
2015-12-11 11:05:57 -08:00
2012-10-13 10:46:48 +01:00
2016-04-18 14:45:08 -04:00
2012-10-13 10:46:48 +01:00
2017-02-03 08:28:25 -08:00
2016-08-04 10:16:56 +09:30
2017-01-09 10:04:58 +09:00
2016-11-25 10:15:13 -08:00
2016-03-15 16:55:16 -07:00
2016-05-02 16:24:49 +02:00
2016-10-20 14:51:10 -04:00
2016-12-05 19:01:16 -05:00
2017-01-16 14:03:31 -05:00
2012-10-13 10:46:48 +01:00
2014-01-21 23:17:20 -08:00
2013-06-19 20:30:32 -07:00
2016-11-11 08:12:37 -08:00
2009-12-17 10:58:17 -05:00
2016-12-19 08:23:53 -08:00
2017-01-31 13:23:09 -05:00
2016-12-11 16:33:18 -05:00
2017-02-10 15:19:48 +01:00
2016-12-05 15:13:58 +01:00
2017-01-05 23:06:06 -08:00
2016-12-05 18:58:32 -05:00
2016-12-15 13:49:34 -08:00
2016-12-25 17:21:22 +01:00
2016-11-29 15:57:42 +00:00
2016-12-22 11:48:20 -07:00
2006-09-30 01:47:55 +02:00
2017-01-10 18:31:55 -08:00
2016-11-07 16:24:29 -08:00
2013-04-30 10:09:06 +02:00
2016-12-14 10:12:26 +01:00
2016-12-25 17:21:22 +01:00
2016-12-14 16:04:09 -08:00
2016-11-21 22:50:45 +08:00
2016-12-09 21:54:22 -08:00
2015-05-02 09:54:30 +03:00
2017-02-06 09:39:13 +01:00
2012-10-13 10:46:48 +01:00
2016-11-24 16:22:06 +01:00
2017-01-12 20:06:15 +01:00
2016-07-27 14:20:09 -07:00
2011-07-01 10:37:15 +02:00
2015-05-05 13:40:42 -06:00
2016-12-14 16:04:10 -08:00
2016-11-27 20:38:47 -05:00
2015-06-23 06:14:04 -07:00
2016-11-15 12:16:13 -05:00
2016-12-20 09:48:44 -08:00
2012-10-13 10:46:48 +01:00
2016-11-27 16:15:33 -08:00
2014-05-14 16:40:04 -07:00
2016-11-19 09:42:35 -08:00
2015-10-27 08:36:08 +09:00
2016-11-09 08:25:09 +01:00
2016-11-30 14:36:01 +11:00
2016-12-06 17:32:16 +01:00
2014-09-23 23:13:13 -07:00
2016-12-03 23:21:37 -05:00
2017-01-30 15:18:56 +01:00
2016-12-24 11:46:01 -08:00
2017-01-12 14:33:16 +01:00
2016-12-14 16:04:08 -08:00
2016-11-15 09:51:05 +01:00
2013-11-13 12:09:07 +09:00
2017-01-17 10:56:45 -08:00
2016-12-16 09:26:42 -08:00
2012-07-21 10:34:00 -07:00
2013-08-28 21:35:14 -07:00
2015-10-04 11:46:16 +01:00
2016-07-26 16:19:19 -07:00
2016-12-12 18:55:06 -08:00
2016-12-25 17:21:23 +01:00
2016-12-13 15:47:02 -08:00
2011-09-16 19:20:20 -04:00
2016-11-22 12:07:05 +01:00
2016-12-06 16:08:10 -08:00
2013-01-06 01:11:25 -08:00
2016-11-29 12:12:51 -07:00
2009-06-16 19:47:57 -07:00
2016-10-31 13:01:57 -07:00
2016-11-30 14:32:25 +11:00
2017-02-03 09:56:43 -08:00
2012-10-13 10:46:48 +01:00
2015-11-25 09:22:02 -07:00
2015-08-10 14:29:27 +05:30
2012-03-16 10:38:24 -04:00
2015-11-17 15:25:43 -05:00
2016-11-18 13:54:21 -05:00
2016-11-29 18:02:58 +01:00
2017-01-04 13:22:38 -07:00
2016-12-06 11:05:46 +01:00
2017-01-10 18:31:55 -08:00
2017-02-03 14:13:19 -08:00
2016-03-17 13:47:50 -07:00
2016-12-12 18:55:07 -08:00
2016-05-19 19:12:14 -07:00
2016-07-28 16:07:41 -07:00
2015-10-04 12:46:06 +01:00
2017-01-27 11:10:50 -05:00
2016-07-26 16:19:19 -07:00
2016-11-02 15:17:09 -04:00
2017-01-10 21:46:41 +01:00
2017-01-10 18:31:55 -08:00
2016-12-18 11:12:53 -08:00
2017-01-10 18:31:54 -08:00
2017-01-24 16:26:14 -08:00
2016-12-14 16:33:38 +01:00
2017-02-03 08:28:25 -08:00
2015-03-12 18:46:08 -07:00
2015-11-06 17:50:42 -08:00
2016-12-16 16:34:52 -05:00
2009-04-01 07:38:54 -04:00
2014-01-27 21:02:39 -08:00
2016-09-14 22:11:08 +02:00
2016-11-16 10:39:43 +01:00
2011-05-09 11:40:38 +10:00
2016-06-03 19:37:21 -04:00
2017-02-01 12:10:56 -05:00
2016-12-06 21:48:21 +01:00
2016-12-06 21:42:16 +01:00
2016-11-16 18:32:02 -05:00
2012-10-13 10:46:48 +01:00
2017-01-24 12:50:47 -05:00
2016-12-19 17:29:44 -05:00
2016-12-09 23:47:10 -05:00
2017-01-24 16:26:14 -08:00
2012-12-11 17:22:27 -08:00
2016-12-24 11:23:24 -08:00
2016-12-06 10:17:56 +02:00
2016-12-06 10:17:56 +02:00
2016-12-13 10:19:16 -08:00
2016-12-12 18:55:07 -08:00
2016-05-02 09:00:56 -05:00
2016-11-29 15:57:43 +00:00
2016-11-29 23:17:02 -05:00
2016-11-14 15:21:14 -06:00
2016-11-10 17:03:35 +01:00
2015-05-08 12:27:59 +02:00
2016-12-29 11:03:15 -08:00
2016-12-25 11:54:48 -08:00
2015-06-01 07:08:18 +09:00
2016-12-06 10:17:03 +02:00
2012-10-13 10:46:48 +01:00
2016-11-17 18:47:58 -06:00
2016-12-15 12:46:48 -08:00
2016-12-06 13:45:48 -06:00
2016-12-06 13:45:50 -06:00
2016-12-15 12:46:48 -08:00
2011-08-19 21:03:22 +04:00
2015-05-29 07:39:34 +10:00
2017-01-28 07:49:42 -05:00
2017-01-14 11:06:49 +01:00
2016-02-11 18:35:48 -08:00
2017-01-25 14:40:19 -05:00
2017-01-25 14:40:19 -05:00
2016-10-31 16:18:30 -04:00
2016-12-06 02:27:59 +01:00
2016-12-13 11:42:18 -08:00
2016-11-29 18:02:58 +01:00
2016-12-13 11:42:18 -08:00
2016-12-24 11:46:01 -08:00
2016-03-02 17:13:02 -08:00
2016-12-06 10:32:40 +01:00
2016-12-12 18:55:09 -08:00
2016-12-13 16:07:55 -08:00
2014-05-18 19:01:33 -07:00
2016-11-15 16:34:26 -08:00
2016-11-15 16:34:27 -08:00
2016-12-12 19:56:15 -08:00
2016-11-22 12:57:38 -06:00
2016-12-19 08:23:53 -08:00
2016-12-05 19:03:06 -05:00
2017-01-07 18:22:40 -08:00
2016-10-15 10:03:15 -07:00
2010-02-10 17:47:17 -08:00
2016-12-20 09:48:47 -08:00
2016-10-31 13:01:57 -07:00
2017-01-14 21:23:48 -08:00
2016-07-15 10:41:44 +02:00
2015-04-15 16:35:23 -07:00
2012-03-24 10:08:39 -07:00
2016-12-30 03:26:31 -08:00
2016-11-15 08:30:02 +01:00
2016-11-11 18:24:16 +00:00
2011-04-19 15:38:02 -04:00
2016-12-02 00:52:34 +01:00
2016-12-12 18:55:08 -08:00
2016-12-12 11:26:47 -08:00
2006-07-13 13:21:35 -07:00
2016-10-31 15:45:18 -07:00
2007-05-02 11:56:33 +01:00
2016-03-14 17:08:15 +01:00
2010-03-13 01:21:21 +01:00
2016-06-08 15:16:42 +02:00
2016-09-17 08:39:12 -06:00
2017-01-10 18:31:55 -08:00
2015-10-04 12:54:54 +01:00
2016-08-08 12:51:58 -07:00
2012-10-13 10:46:48 +01:00
2016-09-19 12:27:10 +10:00
2016-11-09 20:40:06 -05:00
2016-11-09 20:40:06 -05:00
2016-11-09 20:40:06 -05:00
2016-11-09 20:40:06 -05:00
2016-04-30 09:26:55 -07:00
2016-10-11 15:06:33 -07:00
2016-06-03 08:37:25 +02:00
2016-11-16 10:59:38 +01:00
2016-12-16 00:13:41 +02:00
2012-10-13 10:46:48 +01:00
2016-12-14 16:04:07 -08:00
2012-06-28 17:14:34 +01:00
2016-07-01 05:32:17 -04:00
2017-01-10 18:31:55 -08:00
2017-01-10 18:31:54 -08:00
2012-12-07 12:48:00 -05:00
2017-01-25 11:48:03 +01:00
2008-05-26 16:15:32 +02:00
2015-04-14 09:50:27 -07:00
2006-12-07 02:14:08 +01:00
2012-10-13 10:46:48 +01:00
2016-11-22 17:48:04 -05:00
2016-12-08 13:07:10 -05:00
2016-04-21 10:47:26 +10:00
2016-05-19 19:12:14 -07:00
2016-06-11 14:57:56 -07:00
2013-04-30 15:50:12 +05:30
2017-01-20 03:33:57 +01:00
2017-01-10 18:31:55 -08:00
2017-01-06 13:00:01 -05:00
2016-10-25 14:40:39 +02:00
2016-11-10 10:10:37 +01:00
2005-04-16 15:20:36 -07:00
2011-03-15 00:43:46 +01:00
2013-10-16 13:01:44 -07:00
2012-09-13 16:47:34 +02:00
2017-01-13 12:31:24 -05:00
2016-11-23 10:06:12 +08:00
2016-11-11 18:25:08 +00:00
2010-05-27 09:12:51 -07:00
2016-12-25 17:21:22 +01:00
2016-11-16 09:26:34 +01:00
2016-12-25 11:04:12 +01:00
2016-12-25 11:04:12 +01:00
2016-12-25 11:04:12 +01:00
2016-07-15 10:41:42 +02:00
2017-01-10 18:31:55 -08:00
2015-04-22 17:06:49 +02:00
2015-10-01 09:57:59 -07:00
2013-03-15 00:36:09 -04:00
2016-11-22 17:40:00 -05:00
2015-11-05 19:34:48 -08:00
2016-12-09 09:13:30 -05:00
2016-12-09 09:13:30 -05:00
2016-04-26 15:47:32 -07:00
2016-01-28 11:58:02 -08:00
2016-12-25 11:04:12 +01:00
2016-02-10 13:19:03 +00:00
2016-12-09 22:12:21 -05:00
2016-06-30 18:04:36 -05:00
2016-12-16 10:24:44 -08:00
2016-12-11 18:01:51 -08:00
2016-09-13 08:08:24 +02:00
2016-09-22 20:00:36 -05:00
2016-12-14 16:04:09 -08:00
2016-04-06 16:14:24 +01:00
2016-12-01 10:40:05 -07:00
2010-11-10 12:04:41 +09:00
2015-12-04 10:38:59 -02:00
2013-03-20 14:06:06 +10:30
2017-01-20 11:01:17 -05:00
2016-12-12 18:55:08 -08:00
2017-01-11 09:21:41 +01:00
2017-02-03 11:49:06 +01:00
2016-12-25 17:21:22 +01:00
2016-12-13 12:59:57 -08:00
2016-12-25 11:54:48 -08:00
2016-12-06 10:42:03 +01:00
2015-11-06 17:50:42 -08:00