From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S947969AbdDTWZi (ORCPT ); Thu, 20 Apr 2017 18:25:38 -0400 Received: from mx0b-00010702.pphosted.com ([148.163.158.57]:34874 "EHLO mx0b-00010702.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S947940AbdDTWZe (ORCPT ); Thu, 20 Apr 2017 18:25:34 -0400 X-Greylist: delayed 896 seconds by postgrey-1.27 at vger.kernel.org; Thu, 20 Apr 2017 18:25:34 EDT Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=ni.com; Message-ID: <1492726231.2029.36.camel@ni.com> Subject: Generic DMA-capable streaming device driver looking for home From: Alex Williams To: linux-kernel@vger.kernel.org Cc: Moritz Fischer , alex.williams@ni.com Date: Thu, 20 Apr 2017 15:10:31 -0700 Organization: National Instruments Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Originating-IP: [207.114.172.147] X-ClientProxiedBy: MWHPR15CA0050.namprd15.prod.outlook.com (10.174.254.12) To DM2PR0401MB1423.namprd04.prod.outlook.com (10.160.222.13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3511e200-b70f-42bf-77aa-08d4883a11e9 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DM2PR0401MB1423; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1423;3:gf5H0NHHAKqpWuaZWIigCtvV0viUxebRoamjAV8yS2vcDBLnjDNbJXZCligBVm2596aw1tF0biY4ob7q833Im8ozJ0OK4ySikK+AnDo6Hvu54fRssIP63hEILNBFd7eaYjqmh59SuDHrlxg+6QQk7RPlNPB5F9Mvnshij4v33Uj25wjXX/71YO0yyG4yxjE3um1u3IsPiALgEEFwqJgSbss9aMGGYyv4qNFYrlgEhDciyGny6OsrKf+F+YhP4OoDDdkE3W2QkXRe1blebkjWBgEBOEf8p8l4hR2yFDBbqKstHtIp/Zdn4e4KIo1/fRkOs3unlVIZz0x2T/XrCbiHxQ==;25:yOGiOW+vmewXJ/Tdi9+jY7a1/wcWP1gy5t1gDILSWMSXrjaGR6xxbXmrDitWcPQAXOxyUg88qooDtOA1QMyFvSjJyL4WZ5DZgYD8kKiWHw+cv40U0Vs6rpw5grHDKmppyCX+LLLphnlvWsHzYOEGuJuO03dtUz0fwHOPZwrzqNqeWjDAQHHhP15aXM80iNKGrTsPfKqy5tyFy8TOe0dx/nuISkUe9Kvq+t0iEGdCd3XIh2lurhN1ZBZ1G6q6YASDbOpOgQDc6wAYQTiF4UCpf77VRK1eJEj30TirL+IxRDIPjzmu4t8SJPY/GN4dU5t/KfWLVSo42EYwEa6J8MMe1bqtJUFIWrpXethal7y7IW50BQyvCISPkgR6vguLg97T/rkk5T5rMVBJxuXGOsb/t48RUvhpg9CR9LQeVw+F6TRMg/m8pjkY9hBDOCwVoO3z1w+A2kWfvF6/a1aL9CpYjA== X-LD-Processed: 87ba1f9a-44cd-43a6-b008-6fdb45a5204e,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1423;31:CKrM5aooWqRD0BeRQEAgfTyTVJx3vJTewFQ44QJICi7PDWPcYbnMwFsgwd0ezMxCyFhLXkm0fJTT71mE1ai5gp4b6I2/RZypeLcZi1N1fZO+qNPxACSaWwmWeqGvVPjD2FVgcb/iuA3h/O8GiG78gL9BppuW4i+kHhFjRBK6T9Ef886BCZT733eROxSP54lq7LQqI/jiaDs5cHhWpiN23CcV/r18i5dDqqPobgN0jyg=;20:eFtI63akej+y3unKzs6zJKfI1oofpPZ1I9l1D8Yrbgg4MIyhLOeRu4R5pK329MJUko00UxFDV9ZFIKbCaLxFBHNv6dBnKgYrJawl/1Gh63EfZvKfeAIkXI+/d+NcwDJE6acZWM5N2mrnVWvvo8sKuxFpzB0yJUg46aZTtbZ1aX2hxu1ZZvlx3txj4cHhRQEBVr4Ha+I3wTCrcNj8Sc1dtK1hA0wcxKOX5l4FFdpIgqGUJ07nXTbY4m6oZyXFk7+kedPd0tXhluqC+kedPfn13sqOxVZ7rdephucwytfrsKgXVDz8Drcn5z71if7Q1Req4INiw05GTbwati0A2itU3pIsNbK19ebd3JLrmNn8oiQMC3T6JWpyUrJ4CYObkGgl2jyLzMqXWitATFEq9SizSkUelGO/0FIGR/iedG8ss8jDJWEUIzt52QLlV28mfAMIwznvQXF95S5KzV5IA+B/ilJ5d5Wb4jTfkYanS0PxFKvNbdf30dVKHucjMe+0xcPMTVxzTX+kpMGKQNZLdPevvVX8179lyd5fxniJMLFI8V/sYmVqzFa/mSN9rq7wJpmHxd6OaR48I+q1rr2UW1ja+bB4Yb13AIAp6IErqqWv/9I= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148);SRVR:DM2PR0401MB1423;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0401MB1423; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1423;4:mLKOQ04P2e/Ikti1pXInrMP9cHWVk2Ggl6v9iYNdlFRXybEdawxwUU5lyKjQTJkAZeiW4K1brl1B4s+4E8KPeKm1YZfZagMtu7jDlBp7EE1YTygfKxuQnJTxPFaW36SW01rMAnVFsTVQ8Em1yCyc4jVuWUK+FIjS4ICSSbEZs/vpFXK97vLQ82PiORy3gzksyhMJHoXcb+7/5dKj4oB5tVENRIzr9dydGAPKr+SfI2iS4C+kyrSs1nTUKPk5osc/6BG3uqhI9ZFvPkE9BJ5Tm4Q6DbVXsgJpFeyb2tLMZVYUtiuWZfTLuOfaZ/md961wRy5hHSttlk/4oj9ki4W3ldgXTNPdh+DuE1fXbO53ggdxcSTU475OmO7oMJ9BvfF2BFwxF3JqWrzBSU8Fvm4GmO+jpCGRr3m8F6DHXuJo5S28S5qyjuL2Z7bTq1yYqWcStfXKrayI39L14/NEHffCxvcDMRaUp2RmIE1uH+ZMV3LSYoHB8FBIXmGK1R8YoPMUmGVPOhTL5Xb1p8WYW3cgS/okoqYW5sFUpgM6biniqURz2FQVAKE2X59fFwv0NtaqFLuzVskEFSHCjpeeeG4YrMO9tMLvbeH0R8zOHpvwmf/+psQny+PQ3hilz56thts0Wj1O+rYWJHTPv/zx/hMIqQdgi1wdS2V52BkfmXjQt+rOxbPI9/U7R3RmZzznlxIb1gkLszaMKvP2Y3M0Lxpvsg== X-Forefront-PRVS: 02830F0362 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(979002)(6069001)(6009001)(39400400002)(39850400002)(39450400003)(39840400002)(39410400002)(53754006)(6506006)(6486002)(2870700001)(47776003)(66066001)(5820100001)(25786009)(189998001)(36756003)(2906002)(23676002)(6512007)(4326008)(53936002)(42186005)(6666003)(50986999)(103116003)(86362001)(5660300001)(33646002)(2351001)(6116002)(3846002)(38730400002)(110136004)(81166006)(305945005)(6916009)(2361001)(50226002)(7736002)(50466002)(8676002)(99106002)(41533002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0401MB1423;H:localhost.localdomain;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjA0MDFNQjE0MjM7MjM6azZwdE0xaVFlQU5PNXpMamFLS050T2NI?= =?utf-8?B?Zjg1Y0R6aTFsY1d4QWluWjUxa1Z6b3dnL0dqeDFzY29CUlNCZHF1d0k3Qk5J?= =?utf-8?B?MUYwSHhpZkNhODB4SHNLNGFkait5SEhibXo2bzNmLzFVeGxrOFpSQVF5RHNh?= =?utf-8?B?TXBadEdWcVZraDZsOUpJUVY0azRUaUhhRTFNMG41VWplSU9oY3I5Y3BLb3Fi?= =?utf-8?B?MS9vVzZwRFQ3ZWIyR2U5YnVnbCtSOGxCQlpsb2tzRytDTnltbzRwYUVtS0Zx?= =?utf-8?B?aXMvYnRvMFdoQjRGZzhvd0I5MEtpSVlQQ1RLeExGOENiUzlSQ0xhaCtSYVNH?= =?utf-8?B?and4VVl4MFVwOUxoUHBTL2FIaE5MZmovYmFKNFByNzRWaVVoRHIyd3dqVmQ1?= =?utf-8?B?U1BLenNQYW1ZV2NlcnZKWEdzUklaaEtrUGlJM1ozUnVjTVNOd0oraUlZMlY1?= =?utf-8?B?YkpnM0ViZ1pZVTJQMjFaZjhhVGtuSWlBc3JLOVQwK05SclBlMmVhd3pXNXJ6?= =?utf-8?B?bk5taVB5ZG5FQTdqN0NzZTVHWW1lSmI3NktHbFlUZHhxa3VrbUVoRWhWd2hY?= =?utf-8?B?NVcwYU1WM3M2dU5yUXl2OEpLQ0JldmorYnNzeGNEL0xrWEdqQkNudjk2RnNn?= =?utf-8?B?VmIxUXliWVFmb3d0cXZoWjJqY3ZNcXFHenhqS1hRbWNNd2NTdW5CMThISHdi?= =?utf-8?B?c3g1eHhNOTZWTGpCQXRocFZ0dTg1Y0dnZ0NKemIxV1RFRFVhQUhQem9RRmRD?= =?utf-8?B?N3FKRUFkYWhPRGZNK2JDVU9iYTExWHJmTFZtZ1FOSmxFaXpOSjhwUmNhekc5?= =?utf-8?B?NERPMzE1c0cyTzI3Wmx4cmVRS1JPQjB4VmVEdHd0Uy8ybmI4czZ1MUJpTS9z?= =?utf-8?B?Skh2Zm9PdkU5Nm9NR3lzREw3elVkWmxGSnJPbU9rUDdTK2xwL001cmVVcWlM?= =?utf-8?B?d2Nmb2QyNFlSaThuTmJHMTE5cm1ZcUJ0K0dtSEhqeDYrM0xxM01mcExLeHNK?= =?utf-8?B?WmJhUk50Q0xvcFdsYkJTSHMvank4MmxLVzhrbVhPYkZUcU82WWpWaVhlQU9p?= =?utf-8?B?eHYwL3NnNzl0OWVCYTNESTY4WW1kMDZkemdHekx6ZFBUVC9vRUpmRHpqZDdQ?= =?utf-8?B?VDRGODBEYXMvcDFtcVp0bzQ4VSttZi9PQnJpSUNvdmRNYlpIb2dwU0J6OWpV?= =?utf-8?B?RE5xbDVoWHh3RGRGQzF6eXFLRURFeXV0QnZ3bkdVc0dZWlAxYUU3WkU2REcr?= =?utf-8?B?YWY2eThHamlZaUVNOGpoeFg2dGNQKzZwSng3QkJpT2VQbUhrdDhjRmRCZENZ?= =?utf-8?B?UVVyanJxTGdhTldQVVBHRXZ2ZlFRUStYekYwcEMvVTdEMDBpZCsxaHNBWjB0?= =?utf-8?B?TTd4eW1LYy8veFM4dXpCcDc5cGUyVHljL29qRWZrcXB2aHY4elpEeWRPNmE4?= =?utf-8?B?RVB4aVJDbmtEcHRPdHQ2Z2djaDdPVk1JQXdic3FJQmxHZjBHZFM3UC9xd2ZZ?= =?utf-8?B?aVY3OENSdFd3WHNrNjVUR1VHNFBLcjJBVlR3QzZqdS92ajRQdnljS1JvRG9Y?= =?utf-8?B?RVRQK2h5SEREd3J2bWJwRElCMzFzWGFkSVpDZkdMOUhXM3BIenRHb05oZXNE?= =?utf-8?Q?ppv3Vf/IBzCbsSP7Ke/Rsu?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1423;6:sJFKJcaGdtLIiD9tPhzTVVFeabZsVr3BVSZjUy3UlAMro4Kggl+nFwRrB8u91EPVnhx6djQOdW6wkl9DVwV1X9JaJ7bgEiWOVrAjkQdopYU85fQL51bmaGq2utErTLbIJ4dY1mRfPpr/nei2YNVb6++K7ZorJu/ad9jH3XZpFZLKN8HiD5Z02rm7w+iSYb5jqRHpxQAW2fZ81sGMix5pPBl2EJQwfhGgdMeFiVdqlfgG0HU3LG+9uuxA/AmqC6E0nUEuGqTWMrX4CR6RN1TE3K+g2/lzOfJGiQuwryYBbYUihqY8Rock8Da7sZTVl7pBIjMoYtSw95sdxNqvaPI1fiV5xjm9YSPFzBRoaobva0lrJE7GQ+sPTLNI6ILVBQpbNJ6nlR1YA70J03Wyv0Y0ySY5RgR+eLPMTaoB9CADqCtPim8Y/NQsQpR91yp/5NLpR937ihzoPZgIPHqPFXmI8da5NAxzRjHJ3dkx+pc6pcZA3EINClODZnHbOjTB3TcmC7aKp5PSlHn1HP5swgWPcQ==;5:dPhB56FO9gUajYqOzLTSrz1lbQwcLHIaMoMFmJK9XArh1vKy8ndwkwN72a1iKVaGpXSJ5+HuskoXZboIXg1zZj06PsK80GHsqIL5jzhzd6kbP7+AA7jMGghhLSGkH0SveLBPIAAjVtAfqXRc5HSTfg==;24:xCnRD4sgwtr1t4A0+AxvLTzvfpL8RSEZaKn78mLjkVZ6dUXmTOP6g1xQG6UlEfrgK3BKxvY/4Oj3GHN7eBKjtG6xou6miRU9XgGgYBolexE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1423;7:406UJCawjnJOXtcS+7nUF/gR0skbwPQ3qd8YIfhKLnnJcUhy6E2R6wuiua3Jp+HLva9eW4jGyK2ZZiuSQgVfsO/zLHxBpc+eWUZJDUeGeP1pDcoQYp1+xUwgIImfcZ7pZKbGH62EuGiogUhCkOQaP6e8w6IW+cM34ObOQ9OFu3FfozIfapQ3YC62bkcUCR7yARNuGoc2HQQOdUF+yuryHYC+I2nHJBKqDJkaFSPWHFBgJXL3yBm1fYGW9Af4f5pJf1kqFKST5XKUFO2X1gNFz7YOmZuvcXFrIDY7e4aCRu7kcR4a+u7M3kepQo+xpeqLdg+EeeOUPs9ReufAtSe3VQ== X-OriginatorOrg: ni.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2017 22:10:35.2383 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0401MB1423 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-20_20:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=30 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=30 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704200221 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, We're writing a device driver and having some difficulty matching a subsystem to the driver/device properties. Can anyone help with direction? These are some basic properties: 1) Device is used to carry generic data to/from userspace. It's a pair    of dumb streams with one sink and one source for each direction (no    addressable endpoints for the other side). 2) Data goes to/from a DMA engine in an FPGA at high throughput. 3) The driver enables userspace to queue multiple DMA-able buffers for    asynchronous, pipelined data transfer. We currently use the    videobuf2 API to provide the feature. We're not carrying video data    in general, though. It's a piece of a software-defined radio system, and while it can carry data from DACs/ADCs, the device is only a generic transport. It doesn't know what data it's carrying, so neither would the driver. Some guidance would be greatly appreciated. Thanks! --Alex