From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760173AbdAKA6K (ORCPT ); Tue, 10 Jan 2017 19:58:10 -0500 Received: from mail-cys01nam02on0087.outbound.protection.outlook.com ([104.47.37.87]:48146 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759629AbdAKA44 (ORCPT ); Tue, 10 Jan 2017 19:56:56 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: 0ac94369-7f3ff7000001ff92-ab-5875802f7972 From: Bart Van Assche To: Doug Ledford CC: , Subject: [PATCH 0/9] IB: Optimize DMA mapping Date: Tue, 10 Jan 2017 16:56:39 -0800 Message-ID: <20170111005648.14988-1-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.11.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPLMWRmVeSWpSXmKPExsXCddJ5ka5BQ2mEwYfJJhYvz39gtbi8aw6b xbNDvSwOzB7v911l8/i8SS6AKYrLJiU1J7MstUjfLoErY86P/IJ5iRVrD3czNzB2WnUxcnJI CJhIXDt4iKmLkYtDSGApk8TVlmesEM42RolXb34zwVSdu78Wqmozo8S0hVNYQBJsAkYS397P BLNFBNQkNr1axA5iMws4SOx4+AQsLiygK3GqcR4riM0ioCqxbt1zsKG8AvYSh57dgFogL7Gr 7SLYZgmB4ywSK480sUEUCUqcnAkxiFlAQuLgixfMILaQgLrEySXzmSYwCsxCUjYLSdkCRqZV jGK5mTnFuempBYamesWJeSmZxdl6yfm5mxghwZi5g/HuE+9DjAIcjEo8vA9elEQIsSaWFVfm HmKU4GBWEuGNriuNEOJNSaysSi3Kjy8qzUktPsQozcGiJM7rdu9LmJBAemJJanZqakFqEUyW iYNTqoGRo3RJxb1HTTEtMwQS9zrFbFh9WlGoesl91ZgrVRN7lz5a6SP2etbRzYtltV1nTWSv Zr93tD7VT8x+Tfi50AKH1Pn2HvzNiUvMbldLvGaSkFo1J29W9vurjTHeSfJTJv6XefbVsm+K HptABGupjaCOyJ83aqy+MxdwnJ5bkDGpwN//f0REi5gSS3FGoqEWc1FxIgD+x+7jQgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCKMWRmVeSWpSXmKPExsXCtZEjRfdyU2mEwb8TshYvz39gtbi8aw6b xbNDvSwOzB7v911l8/i8SS6AKYrLJiU1J7MstUjfLoErY86P/IJ5iRVrD3czNzB2WnUxcnJI CJhInLu/lqmLkYtDSGAjo0R7425GkASbgJHEt/czWUBsEQE1iU2vFrGD2MwCdhJnFh1lBrGF BXQlTjXOYwWxWQRUJdate84EYvMK2Etc+fGeDWKBvMSutousExg5FzAyrGIUy83MKc5Nzyww NNIrTsxLySzO1kvOz93ECPYXZ9QOxusTzQ8xMnFwSjUwSt8x3m/6X2rLX8Vc3aN/w0IXF62X /v5O4sT9Jv53yx7HMdosO3xL3+G99Tp7q2TBgx+lrmj0bPu0mOfOzKiLm4/mqkZf+s6t1PrC hU3qs/G5aBH/g5vNLvJxTAzhFp/8kIHxu0H09M01VSZn24582KisMbUs1z+8s3VBkhKX2r28 W3MKjdyclViKMxINtZiLihMBSkdrMIcBAAA= MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39850400002)(39840400002)(39860400002)(39410400002)(39450400003)(2980300002)(438002)(199003)(189002)(6916009)(47776003)(6666003)(33646002)(92566002)(8936002)(68736007)(8676002)(81156014)(81166006)(50226002)(110136003)(54906002)(2270400002)(38730400001)(2906002)(1076002)(86362001)(36756003)(77096006)(5660300001)(356003)(97736004)(50986999)(50466002)(106466001)(4326007)(69596002)(626004)(5003940100001)(189998001)(305945005)(48376002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR02MB1283;H:milsmgep15.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD009;1:9bok3BGfINMyU+EIZNhPUnxrxFhiLoC2LROQe6odh5dm131KvFyzmAvrHZkcisi0oZocRN5vDYfXUgfoWeoMBqHd9aC9IvHUlDGdb6kLLYzz3cOW+Fz+VYEx/Yz6mhnqkyg+rDQ7CPGJ7jDG8Q3JXUhxAT/4PIrsUUdPu0h7BEfRXt0/rA/q/72jWvtiVerxmwnZ6/bVk/eY9n1A9xUy2lCn8VTtuwK3ndGwgh0qDp36X50w74vHzHLUKb6Mt11FpeHoQVGOPBkLwAvmTzltMYhWdUEVP/JoL80fO/w3XDEVzS1eWxhVUp8pnxmcLp1OjwZT1ieAe3x26a42fNDfzkfqcFM4u7RHo6yNFRxLM0Ik454uqJ2biDfroU8RvY92SVKhrqEnMMEfhb9bfxLaNF9+xtZMs1r2Jz+0nES4sVeOKoFXD2WOG3UFQwLq5sXNZV0lm2+9EdqkDNe5F9UH18nIugx+/gbUDvNX+hSIhd019fwRcA/CQ9vooPEIqpuc X-MS-Office365-Filtering-Correlation-Id: bce2cead-b62f-42ac-4316-08d439bcbb87 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:BY2PR02MB1283; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;3:f2dDgCGr/h8TmiMjCRtPXuC38MAExxdeF7hVtz8Jn8/GQqIfbagpYEaEtpfBVQPqFL1go2t3mVoEJKuNlVat2MMglQkuXUJVzdARigCrUzY++t8Jaj3fgPoHErLn4Q1Wayp5kZre+7fVdmT6xUR2FY+W01vheb5x8rYOYUgWHbHujWd4TQe4vFYCy6j3rtOAj4O/i1DatmnBC5f4DhctjncahBUuE9KDSS4mwmG3MSJ0tsd2Moj7tG/h6coTOVqTX3mUkO8MMFlMl2z90Xqkxli1gwU3KqgMffYwleQUNwhy3cZpeKd1zO5MHfK15NbuxhuJrCz179HjT8T9SWVOgDZTzNRe8IVY6U7o8fyB4VoUgH/xKiiBftRWM/WQvIhEGtz2PBLSsiuTKZZnvcau2A== X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;25:JcYucNDAJabFZt2Vlr/N23W8qs/wg+/Dwx39yIDWG7Ff4NKChcBkQ2CLnS9JIpsb6Mxx+pw2pG6nETSKxmvae/gBPqblWGYgV+vFNHnr+0KZhK3qjX3MMLD/c9WhAwzqty9LsYdUQ9aOWw5f4My0erbUMZwp3CQr2YvVkzcbftP12o+AAXWn1N6//qJ9n3KIa4jhqnck3P9nkvUX0Sam3Fc4DRGcY8mhBUjQzaIr3N0qFT6xBFgSxx53OF2agROD8HskhLV8uz5tZnqmsGcfEgZptaOMkhiLeD7iGf7kn5aIkOMLs1GH0HmgcLP9K2gVqyNytYS9U0y/xoUyLgTCg+1ih0KzDeGDJbM+p+768zogOhaO8kZT92oK9QFu9Q/1W/Lq8gqkPVK1n9IWA1a0PXfwsb3UtytXXuTIXy1mRlkNzJ4r+ocjL2BtbszCfYIZGoumKnVJVaME52WSbP3MuZhKMzPAZ96oWTt+qHlcXeRgvISnDQPMPHmzJUjiYtZTD923GlTTz/7YeMu4ThTPmnhW6TkPEGplI+L82862v6MQ5n2JSlrBuJvqkL1jYEXlJQWm4JABzltOVKXM9ptwKbdWg+Uewibbf3qpVglA0mjAJbtBuIdXslUHO6xPOsY1B6zBE8HCPsm0usQgQEdBmCmstN9C5QsvedduMm/XkTq7snfkPQLLsft8/HmW8WMyUChFLU9HHBBysNI/FXtnGQrmIujanwivO/2wKQweJji+8OLy+vhTlzVigekeK20X9E1vjhJCKhVWxu0aLGHyq20q9Nj/x10utTcRdXWVC2XNbotiavdXzRlio6U8N5C2 X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;31:9Fge4OxsFgX+UIwuNkREdLbkmg8kWD6LbkJNX1wHG3j+ysA66qJfNiAH9GRQMQjWHylr6rr1M52aG3RaKp5zrvKsPUAYivSEUm7yMHGyS3SSU905z5OPXcfbDB/0Q9g3msokx6aldwmIzPb4FXNxYr6sWQW2b1NHfAJYmq1xy+iT9Ub9KiFF3/Ne24Xx2fZEF6Sbm3uYVtCauEjKVbfJuN+83Ncu7j39rHVDzk4Y0HFIiUlWV2M8FqCLvUHl3mPj4ATWWlwO8dwi11OqmooXxw==;20:cpN1OgSBoiJr9fkAtFhaozUaGHLUlPh8wSEFxzzcq3xfTB/O0oQxCdg8xTLcmIpBl5psQi7H3rqdtttxHC9wLNK3wwN8b4k3XUPN/mGqYr7ePrCI5a/XSg5Xl49V7bNnIyu3UPA6FLjB/0dA7aT7McWQYsUlsH+GsorXsRf7VqEELAWU5JA6jrKGm6n20qILHaForahdgcNSiGSAcL3k+nYYJRPAMQ6692jw8UP34MG5D5faTqIIBqLw3cd40lqZAk9xTQVLh17Hde6J1XTPxsPINTGZx1pa6fpl/jySuhmjDdqaPgl+7s1256g5u1DcIRcI7cWCba5EWAL1Au8+6dAcyXm0ZyvQ4lSayjcpCw26hobW7bCz7GGInCrVd0wlpDVbfofx/v9i7Z1unqPdZOqGOgwoLKq0fXGrWToyR5zdN7rfdt75k5U04h//Gf0KGH3QsXcaEJ5tYLeSxQWEQM3dAxrSZZ1BDkUx2vL67W80K8EmrTWXrS+7qLe4u6oe X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13018025)(13016025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148);SRVR:BY2PR02MB1283;BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB1283; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;4:65zU4dPEggSg+drQyAqIp2dxLej5z+DJwPLtrRkbZDTjW2tEosghG0HzpxHnH3TDnD3eQmUseseUkG4ESDIUAIU6HYh68UoDEjxyEnia7OgkVFj4S5icJG5C6XKDsyBtLmQunOWV0nzt6ShTyIGaZWWCc1ZLHdxZFPuH48PcjtX8Z6xl7FN+Gk85t7KR3/eJ7Blguk242g0UH8IMTwbZUFnuUnEjtIpr3G/qr0Cdn8EqzHI1Lc2nNMIfCxixL5qtb0b5nc4kf1Ol5t5qzavljL+6eY5vbtzaVXndph29bP/IhAB2ZFls6Hhw3NcCpcho2G5JxnoXgJYcKEHP7hPTQH7FpxsEzt2pcVL1i5CKv83ErPOybQ2ICff7Z3e1610kF0BGnhFxvj+rx/hzl4wXl8YuyJUuVqPtZS35T5AHoxt/6zHyshi1Fy6c33ckbEueEqJIf4X580Iv6UZ3WfC/BYnvGH5QwRdsqFZPxLBHXk48dGJOPNz5W68wNCheHvdJciPC1C2tt+fd423eRCLZBs+TEXmkvtGPPXLoQ/8ncNRsobUg4TCBGa99Z03X0mO6/WFIuQ5SeMIcZDLicrnjjeqNVWeRcOaSdXLQiKpL98v/xXl4j+EK20fpcQjo+7uf7IijYLe8FGs2EXUkxaucPc4aePjM0eP2whJlFKjDPao= X-Forefront-PRVS: 01842C458A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR02MB1283;23:VzIKlMTovPRhlFM4+JK8nF6pbAtb5GGal/7M/ANQd?= =?us-ascii?Q?HlvJQf3B4tHgdFrPzJM0n9xm1QQWCiuNb5LAe7Idim/MZ2Is9W1qeq6P1OEz?= =?us-ascii?Q?Lk7FPZpYWanpT80e1fqm6MpqOXcuhosMfO18ABvXShJu3tuFlSKhbmjtdNMW?= =?us-ascii?Q?TwE5cXOm++t/ruyRKLRsZlki8r1Nr/Fdcz2NBB0bCTmZ2BiqsYXNoZvH7eQo?= =?us-ascii?Q?mVtFrxJ7FpD5/MYaib2SpBXAsJvX8fDYewnl6EaAxp6pLEbFUyYxTPTOZ1TD?= =?us-ascii?Q?iiGuRgsL09wqAPNNxbfRGGPryDAYRlBzZ644Ocjc6VwB7KrdnotfwewzUxjv?= =?us-ascii?Q?RgjBYD47Oc3IQb8ViuNwGHsqv1F5hQVnuk03fRFfOb5rHaeLqooti0CFbm8t?= =?us-ascii?Q?AaMneWFiA4NKwb23yKAHj10ajHgLZbhEJRQBEVHrNtbSoSI9pD+1wPA7lmB9?= =?us-ascii?Q?KLgy6nUAdipHAWqq1eLnmZfmtuCOGp+Yd1GY5TyRKVwByd2JqqS0SfIkkMke?= =?us-ascii?Q?CwgXE/c5GwYU2Ru/dZOW9s624tEDCkOZnui6QDejWAR1RrDqwEMssaNSu8PV?= =?us-ascii?Q?m6BnEkoTEYRD7uDRat5k+ypjxkMXQTJismvg46roMFKBSx9gikHdTfgW5Z8Q?= =?us-ascii?Q?o2WcZzS1SiCAMNZ8PpUohJtYUDhUjYYZorh8zYKcgU/9frVFbMXFWonbwO67?= =?us-ascii?Q?DHYFpI43GOO7Yw+7NmOsmIupBpD+kJ4v09swTQVeOAfHB08upTgOAplwcjw9?= =?us-ascii?Q?WMr3OU0wkETBQjS6/cpUhQhE7TavmqGQkJGO637RoJFtxtNteah9k5yBtwvF?= =?us-ascii?Q?yG8HYaJ200VnWtcEKqNK91PYha9R01PFZ/7Cj/rFsN/ETcp9asbYidRP5szu?= =?us-ascii?Q?QllwdTNC07/Zikn+0wrHmzxaw/vebrtk4DuFQP3F4M2P7qSz6s0opdjXkN0F?= =?us-ascii?Q?PkCt4h7Esx9LDyqG7ux7keDbSL2FdeWD4mZsoqGR6ioJrF+gM6Ul9Bcs1kAg?= =?us-ascii?Q?RoGSD/gYgYdx6UIBwx45xy314PnmuVMJXsjxxNNy5hXLNI8Z58qh0LptTViK?= =?us-ascii?Q?5UuAo/iGPfxruRGKlkTNwtT+UAqfuF8qx9sF1qw+prWDt8HVA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;6:nAEXklDr7FZvUIvWwvEYfGMSB+qlsmxJdzQzLWDgSQJjKiZ76VN7sxdH8rM7bgo9Zs2vOqLAt4niypvIJ5lQu18KcMO1m4Dc50EdzZKJ1bRxVtRdsa3oV1czhUfXLTX9Bs0jEKE32nLXJcWgALR4Z178HI2mG4yw3/z4MmaJKlmQgeeVJKJF+cagj6O2jaIGTBspGO2fII+op8Iq0Lm0qn9hy9zk3cUYb8YNM4mL2BZGXI/kPrJA5BvrnAWQR1MAUQmkRVpP7Zttkj0O8G++dInt2gM6/4Jx40jVplPtD6LL2lUNr3xHj+xnNr3g9tiybin70/7rh9n5n4QCZzoQ7ognQ5Lf23GAsNjHd627flCdBE+CkwTtNHaaisgRL4cGWccij9NHaCKu+7PFOhT8KUSvYw+f6rVHAm6nGlymg50XQtcndmf565yJuOHnIY7Nvx0sJGWapgJ20tQiu1jvpQ==;5:+BGYPzb2ibdOdS+qTiEMwEZEWhh3QTW9drr2jUhM3xuhxvt1p9gnE49N3tZ4YSc9jDA9Q4lQr8prV5DUJboyBmUuJXhnPwYdU3q3CS2QuQJWtpdbsbGWXsJEOmhjsDy3J0qxbDmwTD0NSBTWytxx3g==;24:frigFNxQvOr73Gi0qV9nyuYxF9WV7ULdql2qDuv/UaazcTMDabPz7yS6wuVSca/WGtMGRgLs9jrN2StYF/6hRA3K0X0sUWtloFu9yW2Gv1s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1283;7:UiJUQQpnBwMsKWT3CPCi3O0k383EMcKcMWS4Q1M1P2iGYyRZ1Q9O5mQVRCfNeGrZaRaaPcnzq/sx/w+mnYmMc+he59lKqZMQf6r0g3XefLHX2D2Lryc7/ieeZKh0FYC7i/wC9bdPNqJAneV5yYVYy/rTWbPhT1YSTVTTaOM16itwM+beLXOCk+Ia3mvwTMcBOkO8vispt0DPex0GID3owZK1I5DRP1PFFz/X8v+1cTbGiexeD+cCr0E+MtHrpiiZ/bqVsFvKwHZ63rISFphQHVN1LBDYvIu2Ikk+ezTfTWuQIrjcJaMVCwapyUgoNVcQI7VjotUtCndBGJRj5UFD20uDExZYhPcjMry9IZCUq+QDSwFvno3xe46Iv9pHY0w645fW813Iu1vUc/ZrhYkqEI1582pe9vIBmXaSRupsq6tVNsi0cT23+bwedyKMBpjokpnMs7+aTgg6yar1ve0XYg== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2017 00:56:52.8609 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.21];Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR02MB1283 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Doug, As you know there are two sets of DMA mapping operations in the Linux kernel: - One set of DMA mapping operations that is used by most drivers. - Another set of DMA mapping operations that is only used by the RDMA drivers. Having two sets of DMA mapping operations is not only a source of confusion but also a source of unnecessary overhead. The DMA mapping operations are in the hot path so it is important that the overhead of these operations is as low as possible. Hence this patch series that converts the RDMA code to the standard DMA mapping API and thereby eliminates the if (dev->dma_ops) test from the hot path. An additional benefit is that the size of HW and SW drivers that do not use DMA is reduced by switching to dma_virt_ops. Bart Van Assche (9): treewide: Constify most dma_map_ops structures Move dma_ops from archdata into struct device dma: Add dma_virt_ops IB/hf1: Remove DMA mapping code IB/qib: Remove DMA mapping code IB: Use dma_virt_ops instead of duplicating it RDS: IB: Remove an unused structure member IB: Convert ib_dma_*_coherent() argument type from u64 into dma_addr_t treewide: Inline ib_dma_map_*() functions arch/alpha/include/asm/dma-mapping.h | 4 +- arch/alpha/kernel/pci-noop.c | 4 +- arch/alpha/kernel/pci_iommu.c | 4 +- arch/arc/include/asm/dma-mapping.h | 4 +- arch/arc/mm/dma.c | 2 +- arch/arm/common/dmabounce.c | 2 +- arch/arm/include/asm/device.h | 1 - arch/arm/include/asm/dma-mapping.h | 23 +- arch/arm/mm/dma-mapping.c | 22 +- arch/arm/xen/mm.c | 4 +- arch/arm64/include/asm/device.h | 1 - arch/arm64/include/asm/dma-mapping.h | 12 +- arch/arm64/mm/dma-mapping.c | 14 +- arch/avr32/include/asm/dma-mapping.h | 4 +- arch/avr32/mm/dma-coherent.c | 2 +- arch/blackfin/include/asm/dma-mapping.h | 4 +- arch/blackfin/kernel/dma-mapping.c | 2 +- arch/c6x/include/asm/dma-mapping.h | 4 +- arch/c6x/kernel/dma.c | 2 +- arch/cris/arch-v32/drivers/pci/dma.c | 2 +- arch/cris/include/asm/dma-mapping.h | 6 +- arch/frv/include/asm/dma-mapping.h | 4 +- arch/frv/mb93090-mb00/pci-dma-nommu.c | 2 +- arch/frv/mb93090-mb00/pci-dma.c | 2 +- arch/h8300/include/asm/dma-mapping.h | 4 +- arch/h8300/kernel/dma.c | 2 +- arch/hexagon/include/asm/dma-mapping.h | 7 +- arch/hexagon/kernel/dma.c | 4 +- arch/ia64/hp/common/hwsw_iommu.c | 4 +- arch/ia64/hp/common/sba_iommu.c | 4 +- arch/ia64/include/asm/dma-mapping.h | 7 +- arch/ia64/include/asm/machvec.h | 4 +- arch/ia64/kernel/dma-mapping.c | 4 +- arch/ia64/kernel/pci-dma.c | 10 +- arch/ia64/kernel/pci-swiotlb.c | 2 +- arch/m32r/include/asm/device.h | 2 +- arch/m32r/include/asm/dma-mapping.h | 4 +- arch/m68k/include/asm/dma-mapping.h | 4 +- arch/m68k/kernel/dma.c | 2 +- arch/metag/include/asm/dma-mapping.h | 4 +- arch/metag/kernel/dma.c | 2 +- arch/microblaze/include/asm/dma-mapping.h | 4 +- arch/microblaze/kernel/dma.c | 2 +- arch/mips/cavium-octeon/dma-octeon.c | 4 +- arch/mips/include/asm/device.h | 5 - arch/mips/include/asm/dma-mapping.h | 9 +- .../include/asm/mach-cavium-octeon/dma-coherence.h | 2 +- arch/mips/include/asm/netlogic/common.h | 2 +- arch/mips/loongson64/common/dma-swiotlb.c | 2 +- arch/mips/mm/dma-default.c | 4 +- arch/mips/netlogic/common/nlm-dma.c | 2 +- arch/mips/pci/pci-octeon.c | 2 +- arch/mn10300/include/asm/dma-mapping.h | 4 +- arch/mn10300/mm/dma-alloc.c | 2 +- arch/nios2/include/asm/dma-mapping.h | 4 +- arch/nios2/mm/dma-mapping.c | 2 +- arch/openrisc/include/asm/dma-mapping.h | 4 +- arch/openrisc/kernel/dma.c | 2 +- arch/parisc/include/asm/dma-mapping.h | 8 +- arch/parisc/kernel/drivers.c | 2 +- arch/parisc/kernel/pci-dma.c | 4 +- arch/powerpc/include/asm/device.h | 4 - arch/powerpc/include/asm/dma-mapping.h | 19 +- arch/powerpc/include/asm/pci.h | 4 +- arch/powerpc/include/asm/ps3.h | 2 +- arch/powerpc/include/asm/swiotlb.h | 2 +- arch/powerpc/kernel/dma-swiotlb.c | 2 +- arch/powerpc/kernel/dma.c | 8 +- arch/powerpc/kernel/pci-common.c | 6 +- arch/powerpc/platforms/cell/iommu.c | 6 +- arch/powerpc/platforms/pasemi/iommu.c | 2 +- arch/powerpc/platforms/pasemi/setup.c | 2 +- arch/powerpc/platforms/powernv/npu-dma.c | 2 +- arch/powerpc/platforms/ps3/system-bus.c | 8 +- arch/powerpc/platforms/pseries/ibmebus.c | 4 +- arch/powerpc/platforms/pseries/vio.c | 2 +- arch/s390/include/asm/device.h | 1 - arch/s390/include/asm/dma-mapping.h | 6 +- arch/s390/pci/pci.c | 2 +- arch/s390/pci/pci_dma.c | 2 +- arch/sh/include/asm/dma-mapping.h | 4 +- arch/sh/kernel/dma-nommu.c | 2 +- arch/sh/mm/consistent.c | 2 +- arch/sparc/include/asm/dma-mapping.h | 10 +- arch/sparc/kernel/iommu.c | 4 +- arch/sparc/kernel/ioport.c | 8 +- arch/sparc/kernel/pci_sun4v.c | 2 +- arch/tile/include/asm/device.h | 3 - arch/tile/include/asm/dma-mapping.h | 20 +- arch/tile/kernel/pci-dma.c | 24 +- arch/unicore32/include/asm/dma-mapping.h | 4 +- arch/unicore32/mm/dma-swiotlb.c | 2 +- arch/x86/include/asm/device.h | 5 +- arch/x86/include/asm/dma-mapping.h | 11 +- arch/x86/include/asm/iommu.h | 2 +- arch/x86/kernel/amd_gart_64.c | 2 +- arch/x86/kernel/pci-calgary_64.c | 6 +- arch/x86/kernel/pci-dma.c | 4 +- arch/x86/kernel/pci-nommu.c | 2 +- arch/x86/kernel/pci-swiotlb.c | 2 +- arch/x86/pci/common.c | 2 +- arch/x86/pci/sta2x11-fixup.c | 10 +- arch/x86/xen/pci-swiotlb-xen.c | 2 +- arch/xtensa/include/asm/device.h | 4 - arch/xtensa/include/asm/dma-mapping.h | 9 +- arch/xtensa/kernel/pci-dma.c | 2 +- drivers/infiniband/core/mad.c | 28 +- drivers/infiniband/core/rw.c | 30 +- drivers/infiniband/core/umem.c | 4 +- drivers/infiniband/core/umem_odp.c | 6 +- drivers/infiniband/hw/hfi1/dma.c | 183 ------------ drivers/infiniband/hw/mlx4/cq.c | 2 +- drivers/infiniband/hw/mlx4/mad.c | 28 +- drivers/infiniband/hw/mlx4/mr.c | 4 +- drivers/infiniband/hw/mlx4/qp.c | 10 +- drivers/infiniband/hw/mlx5/mr.c | 4 +- drivers/infiniband/hw/qib/qib_dma.c | 169 ----------- drivers/infiniband/hw/qib/qib_keys.c | 5 +- drivers/infiniband/sw/rdmavt/Makefile | 2 +- drivers/infiniband/sw/rdmavt/dma.c | 198 ------------- drivers/infiniband/sw/rdmavt/dma.h | 53 ---- drivers/infiniband/sw/rdmavt/mr.c | 8 +- drivers/infiniband/sw/rdmavt/vt.c | 5 +- drivers/infiniband/sw/rdmavt/vt.h | 1 - drivers/infiniband/sw/rxe/Makefile | 1 - drivers/infiniband/sw/rxe/rxe_dma.c | 183 ------------ drivers/infiniband/sw/rxe/rxe_loc.h | 2 - drivers/infiniband/sw/rxe/rxe_verbs.c | 3 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 20 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 22 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 6 +- drivers/infiniband/ulp/iser/iser_initiator.c | 38 +-- drivers/infiniband/ulp/iser/iser_memory.c | 12 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 60 ++-- drivers/infiniband/ulp/srp/ib_srp.c | 50 ++-- drivers/infiniband/ulp/srpt/ib_srpt.c | 12 +- drivers/iommu/amd_iommu.c | 10 +- drivers/misc/mic/bus/mic_bus.c | 4 +- drivers/misc/mic/bus/scif_bus.c | 4 +- drivers/misc/mic/bus/scif_bus.h | 2 +- drivers/misc/mic/bus/vop_bus.c | 2 +- drivers/misc/mic/host/mic_boot.c | 4 +- drivers/nvme/host/rdma.c | 22 +- drivers/nvme/target/rdma.c | 20 +- drivers/parisc/ccio-dma.c | 2 +- drivers/parisc/sba_iommu.c | 2 +- drivers/pci/host/vmd.c | 2 +- .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h | 14 +- include/linux/device.h | 2 + include/linux/dma-mapping.h | 55 ++-- include/linux/mic_bus.h | 2 +- include/rdma/ib_verbs.h | 310 --------------------- include/xen/arm/hypervisor.h | 2 +- lib/Makefile | 1 + lib/dma-noop.c | 4 +- lib/dma-virt.c | 73 +++++ net/9p/trans_rdma.c | 12 +- net/rds/ib.h | 45 +-- net/rds/ib_cm.c | 18 +- net/rds/ib_fmr.c | 10 +- net/rds/ib_frmr.c | 8 +- net/rds/ib_mr.h | 1 - net/rds/ib_rdma.c | 6 +- net/rds/ib_recv.c | 14 +- net/rds/ib_send.c | 28 +- net/sunrpc/xprtrdma/fmr_ops.c | 6 +- net/sunrpc/xprtrdma/frwr_ops.c | 6 +- net/sunrpc/xprtrdma/rpc_rdma.c | 14 +- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 4 +- net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 14 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 +- net/sunrpc/xprtrdma/verbs.c | 8 +- 174 files changed, 637 insertions(+), 1764 deletions(-) delete mode 100644 drivers/infiniband/hw/hfi1/dma.c delete mode 100644 drivers/infiniband/hw/qib/qib_dma.c delete mode 100644 drivers/infiniband/sw/rdmavt/dma.c delete mode 100644 drivers/infiniband/sw/rdmavt/dma.h delete mode 100644 drivers/infiniband/sw/rxe/rxe_dma.c create mode 100644 lib/dma-virt.c -- 2.11.0