From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751230AbdALTNQ (ORCPT ); Thu, 12 Jan 2017 14:13:16 -0500 Received: from mail-sn1nam02on0056.outbound.protection.outlook.com ([104.47.36.56]:7354 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750796AbdALTIJ (ORCPT ); Thu, 12 Jan 2017 14:08:09 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: 0ac94371-7ee9b9800001058c-c9-5877d1f4eb5c From: Bart Van Assche To: Doug Ledford CC: , , "Greg Kroah-Hartman" , Bart Van Assche , Dennis Dalessandro , Dean Luick Subject: [PATCH v2 08/26] IB/hf1: Remove DMA mapping code Date: Thu, 12 Jan 2017 11:07:00 -0800 Message-ID: <20170112190718.6728-9-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170112190718.6728-1-bart.vanassche@sandisk.com> References: <20170112190718.6728-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLLMWRmVeSWpSXmKPExsXCddJ5ke6Xi+URBk+Xq1hsfpZr8XzvazaL l+c/sFo0L17PZnF51xw2i2eHelkc2DwW73nJ5LF/7hp2j/f7rrJ5fN4kF8ASxWWTkpqTWZZa pG+XwJXxdGcbY8FU44oTJwMaGOdqdjFycEgImEhsXGzdxcjJISSwlElizifbLkYuIHsHo8Ts BSuZQBIgNQ3f1jFDFG1klPjf6Q5iswkYSXx7P5MFxBYRUJPY9GoRO0gzs8BvRonpZ+aCJYQF LCWmPbrOCGKzCKhKfLi2nhXE5hWwk9iw7igrxAJ5iV1tF8FsTgF7iW//LzFCLLOT2HXgPwvI UAmBSawSy769ZYZoFpQ4OfMJ2AJmAQmJgy9eQF2nLnFyyXymCYxCs5CUzUJStoCRaRWjWG5m TnFuemqBoYlecWJeSmZxtl5yfu4mRkigF+5gfH3b+xCjAAejEg/vDpuyCCHWxLLiytxDjBIc zEoivLPOl0cI8aYkVlalFuXHF5XmpBYfYpTmYFES570Y/TFMSCA9sSQ1OzW1ILUIJsvEwSnV wCheNM1w0ln3qUeat/dWbroVOu2AfPDav2dNwj0UHAzCi7ZtYV1et/b/B8bnpzjZ37NN3y1g v3PFicyO9Aunf0qaBU5qDJHatVvrnp7C9oYNlwPXurZa6TrcY1J8U37rboSotmqpgvdhxdAd 33N7o+wcDs7K5vaxPyCj/Nkos31Jveei/3NKHJVYijMSDbWYi4oTAY0013NwAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPJMWRmVeSWpSXmKPExsXCtZGTTZfvSnmEwYEmCYuDP9sYLTY/y7V4 vvc1m8XL8x9YLZoXr2ezuLxrDpvFs0O9LA7sHov3vGTy2D93DbvH+31X2TymrTnP5PF5k1wA axSXTUpqTmZZapG+XQJXxtOdbYwFU40rTpwMaGCcq9nFyMkhIWAi0fBtHXMXIxeHkMB6Rok/ O78wgSTYBIwkvr2fyQJiiwioSWx6tYgdpIhZ4DejxOoTS8ESwgKWEtMeXWcEsVkEVCU+XFvP CmLzCthJfN+znBFig7zErraLYHFOAXuJb/8vgcWFgGp2HfjPMoGRewEjwypGsdzMnOLc9MwC QyO94sS8lMzibL3k/NxNjJAgidrBeH2i+SFGJg5OqQZGsfiFP2YyaZ76vWLO5ql9X1rdFaap z7Bb8VdgxuF620cqYuecOpKEveYZrjVxYJulbJ9kcW9b6gLp79wiW+e1J8RJNiWsfDHFUMZ2 0tc7s1fcOP7A/uEcszjhJ957dGa/XSoZcO0Z1yrL+xk6lrlPa6/996k94LTYwkZv6bn7nTdW p5cdXVV3R4mlOCPRUIu5qDgRAMyuWsbCAQAA 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.225;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39410400002)(39840400002)(39860400002)(39850400002)(39450400003)(2980300002)(438002)(3190300001)(199003)(189002)(48376002)(1076002)(8676002)(8936002)(106466001)(33646002)(5003940100001)(6666003)(356003)(305945005)(47776003)(189998001)(54906002)(4326007)(97736004)(2906002)(50466002)(68736007)(50226002)(81166006)(86362001)(81156014)(36756003)(110136003)(2270400002)(38730400001)(76176999)(50986999)(92566002)(2950100002)(6916009)(626004)(77096006)(69596002)(5660300001)(2004002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR02MB042;H:milsmgep14.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD005;1:p8fP0cohGH+aGS2S16jrGiiUV2ylOaCq7DSXLa30rAcB/Akt/o1xrNsStgu5z36HBgYs5VnS8kbcOueHT5vVTs5Ro3dvg83+WWk3xQAJ4/xmqPNzlEtR8XwVWRdyG8SqARg41i6shF0xqrj33sI0joDZR6w9LM6QQxlIhsAm1X60x490MVXWvSk7VEEuYQG5FKngUQSSJJUt+6gGD/As9JvKST8Q2LNNa2+LHW+ptxlObqCc5SWPfzIrpeVRFtpzm041o5CUKO/PbdZ2cHkq+7QLR4w8l1ovIknepwNDlTh1jyedis9DCu507TMzZbjDQfvVGAB/wvMPwzjhv9pUwmqWKe4bes4DvaTn86YytSMK/NlRCwBy+FBRQ1UyKSyDeT9+/HwsDogvZrtlVMmMUKDh1RmvOBJPlZNX5a5hhfSZvH2mwuVh/mtO+Pft7Pr5FONqC28Rtoa5aZHQk/DOzPhkLq94CnEsvXMyddVbcMrjYC14JcrHgBitDpAThQaLTaouEk9ggCSrEbpVAUkPHkmzZlJKS8eBXLKGc1oVuczjnRyf9A0F1D/ICAzDZt1+ X-MS-Office365-Filtering-Correlation-Id: 671b9f52-e2f1-4902-f0d8-08d43b1e565a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:BY2PR02MB042; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB042;3:Ovlfn9KQlgefCWceUrsa7XPkGBoZr1AFaDjaSYlLe25OIl1e6ur9UVEvuA6jLtVWJdfQNpkR4KzO7gfK2d/XqjtMcRKDuMJ7DzaswYcmy8ARsgAdMLZjI5SdznmaTtS+jYLegHaIpwVpOOcVoS8EL9fd4yIg5s3A6wrLWTBWjSxoWmi+c6hR0K+5NFlDEq3AYT1voCCdg7I+Yo0/hQnnys1cfTC2VaUXmSgd140VJ6CFyAke7ycjo3awJaI70upzyEzuZqL1zeyoPwpCMgurfp2kPZH/pqAe7Q/QgkKEnta3OYEcsV6O5hxkSO00FJVfLcKdivgiKROaB7Dm1+/GcZzhQ13VjWrPiPAB00xTJ9JfISVzQF5IBhqSN+gFwC1RQHjopIBayLFMrxnC399A4A==;25:baiBjdxzdb+lT83C5ClDOUkCptEdyJ3oqLeHGtMY1970MCiSCs/EpNqniDx54bNmdgaAEu7Vdvam95No5BLT7H9830n+UsB0a0My3WqaubuFhm7qNYkZiQ+uh+llthdR6jaJU292r2yOjfGPznjOeFkJ83sCDePTAjkaChqHpfc16FX/Qk75UV2RWb04fE/Gw7G0y/qgor2MNXElf4BgBgLtC4DRkP5aXGD2no//Z5Tso25ppYx9rB/Vq68FuPk546KfSDOuNUhOw44iHDF13r7itasNBqo7eJBDrX2lr5W3f6eT10v9v95VfSAb1Sy6MHpMtFwVdSMHjX+EdYL4A+Y+IMRRYlww/zyiTalNhBQ9Bx2tSvW4lyDCbhIfb6QzA6JMhhnZVfM7P/qdgLAE1AuPOML+47ZNyd9pLlusdui0SZNeMg70tsW4zOrP1HgyEHxDfTkJezAQgC6oZV9bfw== X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB042;31:9Vvk3VNDZ5RqLSdvAf/+1E6DPXdSrfECZ61LLckzVEBvvDPKciWHAfHPloLGNmOdv6kqWSDc3j45MyCRKLeWEGyFlLgmDjOIsIObFInCunq97zzHVBLvFOcEWKLi2rZZOw9S9Hxb/geVLHff+fLjU5GRpi7mEjfQICoU8/ybSlCDpuTobSisfgG7aDf48kXphekD8W4HxBoDa9y02T7J4201Okd9EMVqVEl3f6jNc5OGXXnLSKFUgSGQaEWxIYy39xwCWtbACpbgJjEuauRY2Q==;20:62uVd0G82LJ2ZuTtjV/JbkQrPJ/dbeV/w3QJyZM0VYvOSPfoolNscPIDuQ6YOcderny1IRvjYVMhvTsb+uKDS5E+a8t0uT4cFBLFFoSJLqmO9YQRkJKzCG3hoUW17W4uPu+g9ddijLu+oDqKlTQl1/TXpiNZGVSAlNP5mYzgbrjiuNDAW0D3DZivzfS5J0s/sE0nfrZ4NXOwcvjw9u4bn5crzVorrMRxB2LYYKkxm7Dt6NUeTJuQvIa6AYtQDGSH8MnS4LEXCpBPjDZ9GH6S4/2Y+QHWxBsCsQ6GPVW4wRDfcF5mrUb+hdDRCuRfO/Hr0nIcyLJ+PDzJWFJSQaLq5nMErDkOkSoDne1sp31jpwW/YzbqRGofR2TNgtTEL6ijU/YmdbxjqwGg0qmobZsraHe5Sar5aOLTgKOl6FjETFnkvefmcD/GcKxJP8HrLR5eAQ/ozKFC7gTx5DgqhWO/+6pY9Ov448ldzmmHbTE2zYIawLXCMbxpkSJzaIlu+YRQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(13016025)(13018025)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:BY2PR02MB042;BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB042; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB042;4:2577UFvhc6FamsW76XqrzbZPhCBiJh9XVBRsdZx9mrr/5QcRVi9IlNmp+ZsjrzjaXsqSlIXjCc9G68pmATsZGjWRRHiHNkgettcrgoU/xoPG5FMPX0KrX+y+SLi/9/DKKvQHKpc3bqiTgnvV2X9bANUYi0NP71fdvaD/OcOk6idpB+cwJ6nLIeVrnHnONGV3gQf/beW7ZkQAkn+YevxfGLL3bbq55GMFag9umqUoV3c0lRKnHYJkIlDCHL1A/cFahOzFQVLdDZaLnsM6mHYUsZ5vEHdfKqP3I2uK4+H1WtRJPg57xs+91zdfEdlm6cNm885mh7sqtdoR6VSsH56axBt6r2AsrQgPNWnWtDO3uJpyDUdhr2ltR+MHDTjqHQy9M1tQW2c84LWQYIRZyPj1jhoyjQQDDK5RCOxQEq8Z+plGJ9ZcFfdcdC83xoGBWJ7gidO09E9pnn8a3wmckHtbkVtGuHJlw6O+TFgCIWzsILHASpq5lDm0lT48dGpztmx0Nyr6rqJ+unX9DtYdBKUoRTetN1ceO3Ww1WIuleN2FZNigMClvIvFAVgHQyGGt3ne61ZYWQGP0cygyt9QWLW8V6qc/a2h1nMI+uH4968GM6nKajz1g8Ah8EOpB9R2JGH0JRTdri41oOjSxhjtCjI4KIU7xJ7Oi/fFzLDn0mQiFzaXWK4irj4Zg6qa0JBmT3ZT4sjSSK64gCAZzNSoWFlbZg== X-Forefront-PRVS: 018577E36E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR02MB042;23:+wItqq0Yq6TjGH7elzRVRt9+h05a2HP+tVyCdrvrio?= =?us-ascii?Q?OY8H7t0NeAIP6SwenP2C/I87+meJVze6QefzcZSCL6oC9igHvPumNZ+YAzQz?= =?us-ascii?Q?O6Qx1gj1MUjJYH/pEiO0xoj+F7uJZv9XElgnIhzeBMCuo2xGQ9Wt3AExSOWj?= =?us-ascii?Q?nHsR5m2WlDvnku910JHvRnqo4dMzzQ6RVTmLW9j8F934MfOBihv9GLSghKes?= =?us-ascii?Q?DwXKWq0SeSUxb1DuPFPloJYy3Wqv+phAd1pNcXIwjsb8rOuSDFiXVfbyLPN+?= =?us-ascii?Q?4kHi4ApKglVCjoOgWz+SD1B/+E79m2AdYOeJkCQQ58EMPr7JGLez1YT3R1Tx?= =?us-ascii?Q?04v74PU7EIBWXeFC1/Acq6DTBmr+eEXgUdRQUWw3C+nZCCDvZj9K10QNFr+u?= =?us-ascii?Q?UYho0zIjUP2hUp8qok6IY+lY4J1/qR89xs2phKPZ8DiB6i+gpBkUrvVQe9zX?= =?us-ascii?Q?fbR/r/Lh0ucyfLinZe7qXZVA0W68l/fHg7cn+YFmLU0w1ecpxMh/+NBUiT12?= =?us-ascii?Q?l0q+lw1Ws6o+DCkPHmLzcFQoeBn3SRkM3kZx/u8qy0d+rnliegW5oB9Kkh4h?= =?us-ascii?Q?KPWU6o8berxTqYvXMdbHa2AMXSFlMq6w8DDNLWJHTa9fSL2u6lBCo1ZTaLVz?= =?us-ascii?Q?G6dh+x8AnbcZcvyY47qTvY0xCX1lylxhYozf37WkyXfrRaIj5YYLn3mpOsXp?= =?us-ascii?Q?dtwWzGhDLi9seq80qnJzWPUrGMV0B+E9X699E6Be3o2geTDgULt9XdUTd2u9?= =?us-ascii?Q?zHcK4mTUY/Om2QPEjGVtNnmsXQNSE/07pnQqo8gucNSDyxg1HxVS1D2ufdEI?= =?us-ascii?Q?3MSMh6k9Pv6NYNQenPW+/MgDXzAHNo9+1YF3TVGAYTMpGHw/AY5LAywA1mPn?= =?us-ascii?Q?jggBGxNnsQSBYNU95hiPa+mP7mfLS9OyBsgzWRMP1/aCJraq73uj0MrJnCeN?= =?us-ascii?Q?D1HjoykIjFv/zeFg8UUBwb7Vx8uBO39Lb0J1wxXhjJenJ2Gijps7ZHX4a9Il?= =?us-ascii?Q?Uw1O4np+NolSdbJmxFoiQSND3jQz/acGwjmucDZgo09f0ukXdKkzZFuXaMLy?= =?us-ascii?Q?iMO6Umio27mB04jaFnxrB7yAk8xbL2PSZPNi2mlM+3Uv6QWR9Oewqn8QOwZI?= =?us-ascii?Q?zA5cbOFYLpMcnp8PDjIfSgUnTVzp2xVpBpm+0wfXJPv1640Io+zBRGtO+vED?= =?us-ascii?Q?wPf7ySD5DrbBo=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB042;6:KuOUCPC3WWbte8mAtOvKplgirtxfynCe6kRyKD8mCXpn0ZtqVpMu/AFTNxSZQq/JaeS1bAhfVPrDXom0gEqa5Gr21Ff1wF1Zhw/f2tEV135jVND+qPcNVUftNJq69f9KoNZuACQ585T7awqJChEvMS2EtPkDgWCNn0bQBiqvvQs25aWvAcbp9lxthPd+Ivg7YAVHGjnafbPSd0SULzZxiQbP4lXK0/R284+lkJUtkXs04/3/tyKpD4gcQpTLz+l3Mk2WCgPbKSxWi/O1AULDZioyrHJfjkO1+GL7jeULIrEw93uVAkw8oBoU8Dk1hDi4UG8/WTPrVJNNBoH4Nv8FNDLbwZC3ka9b300k7A5urUACwqFpgNAT3Am+2z8j7QYVfX7OhlroLOJ3YxyAeeON+Ru8QoSnKoqUQKimP0C4zrpmt8BRKzTwYwe4TMPvSpBDJjSXvQ3vM6rIcBZAnGENdQ==;5:F6O0cL2geTCCJ3VQtgVb9RlUn7o9mf0pzWl6ZOTCp0JjluQchad7T0t0JnjEZgbvJUNbhDjSqvZvysE2Q5LhtTjPpXu+/7ot2E+c+Eb5hEtjaAPQR1lgPbmodaNnLZ6ttm5YXPYt4lORufbmu5vzOA==;24:9MH7qLeGOE7NUKd+VP+7WasifKCKEMislPOZcIt70BdAcT9lAgsIJxzg0onbv/FpOT00mQC3pJ3L91t5O2bF+X0Kzv2hcP42t2oiX5768zA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB042;7:PlQybiBb1JEx3wOHXESqqFBCV26uyEsKsdBe63ucHnOu6vGEDfq0HE5wdKNy4MQhRXAQlcNZ+oOSY794nc+PsqxmoDGpPrhw0Y0bcdbginY/+w8mqPAkDnrtb4UUfojq3Wr6K7BX9xwxqKTTkJkR6kPdQYeGwcXKVuVPRjRKrkB+NPGSnZNewVm27U/TKFcRGkCExL/CiDhv2QxrzHoqp10dj2aoYceiAioR1/z3kUXXUCKOs9Fer1YVkAyCT9naMdZ+Wt6O0WGwgMNBpI0FemAo0ZDZWhxrUEzw2cAf8v/QZ5W8pbiLqx09UU0t9/puY0HXXZ2NWACoG5EJoLqwQOnJ8ewGrcrXSHoWYIxlJepcHPAnSRwSxqy5ujf0bzfFdad6y+8ax6rES/13Rg8bdF8f4cSp6nZvsH1yTMvHSbKxQnfwEObzqtbe+HM3ESQXuYarEIN8bcevVjGC9tKDwA== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2017 19:08:03.9332 (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.225];Helo=[milsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR02MB042 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The hfi1 DMA mapping code has never been built in any upstream kernel. Hence remove it. Signed-off-by: Bart Van Assche Cc: Dennis Dalessandro Cc: Dean Luick --- drivers/infiniband/hw/hfi1/dma.c | 183 --------------------------------------- 1 file changed, 183 deletions(-) delete mode 100644 drivers/infiniband/hw/hfi1/dma.c diff --git a/drivers/infiniband/hw/hfi1/dma.c b/drivers/infiniband/hw/hfi1/dma.c deleted file mode 100644 index 7e8dab892848..000000000000 --- a/drivers/infiniband/hw/hfi1/dma.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright(c) 2015, 2016 Intel Corporation. - * - * This file is provided under a dual BSD/GPLv2 license. When using or - * redistributing this file, you may do so under either license. - * - * GPL LICENSE SUMMARY - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * BSD LICENSE - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -#include -#include - -#include "verbs.h" - -#define BAD_DMA_ADDRESS ((u64)0) - -/* - * The following functions implement driver specific replacements - * for the ib_dma_*() functions. - * - * These functions return kernel virtual addresses instead of - * device bus addresses since the driver uses the CPU to copy - * data instead of using hardware DMA. - */ - -static int hfi1_mapping_error(struct ib_device *dev, u64 dma_addr) -{ - return dma_addr == BAD_DMA_ADDRESS; -} - -static u64 hfi1_dma_map_single(struct ib_device *dev, void *cpu_addr, - size_t size, enum dma_data_direction direction) -{ - if (WARN_ON(!valid_dma_direction(direction))) - return BAD_DMA_ADDRESS; - - return (u64)cpu_addr; -} - -static void hfi1_dma_unmap_single(struct ib_device *dev, u64 addr, size_t size, - enum dma_data_direction direction) -{ - /* This is a stub, nothing to be done here */ -} - -static u64 hfi1_dma_map_page(struct ib_device *dev, struct page *page, - unsigned long offset, size_t size, - enum dma_data_direction direction) -{ - u64 addr; - - if (WARN_ON(!valid_dma_direction(direction))) - return BAD_DMA_ADDRESS; - - if (offset + size > PAGE_SIZE) - return BAD_DMA_ADDRESS; - - addr = (u64)page_address(page); - if (addr) - addr += offset; - - return addr; -} - -static void hfi1_dma_unmap_page(struct ib_device *dev, u64 addr, size_t size, - enum dma_data_direction direction) -{ - /* This is a stub, nothing to be done here */ -} - -static int hfi1_map_sg(struct ib_device *dev, struct scatterlist *sgl, - int nents, enum dma_data_direction direction) -{ - struct scatterlist *sg; - u64 addr; - int i; - int ret = nents; - - if (WARN_ON(!valid_dma_direction(direction))) - return BAD_DMA_ADDRESS; - - for_each_sg(sgl, sg, nents, i) { - addr = (u64)page_address(sg_page(sg)); - if (!addr) { - ret = 0; - break; - } - sg->dma_address = addr + sg->offset; -#ifdef CONFIG_NEED_SG_DMA_LENGTH - sg->dma_length = sg->length; -#endif - } - return ret; -} - -static void hfi1_unmap_sg(struct ib_device *dev, - struct scatterlist *sg, int nents, - enum dma_data_direction direction) -{ - /* This is a stub, nothing to be done here */ -} - -static void hfi1_sync_single_for_cpu(struct ib_device *dev, u64 addr, - size_t size, enum dma_data_direction dir) -{ -} - -static void hfi1_sync_single_for_device(struct ib_device *dev, u64 addr, - size_t size, - enum dma_data_direction dir) -{ -} - -static void *hfi1_dma_alloc_coherent(struct ib_device *dev, size_t size, - u64 *dma_handle, gfp_t flag) -{ - struct page *p; - void *addr = NULL; - - p = alloc_pages(flag, get_order(size)); - if (p) - addr = page_address(p); - if (dma_handle) - *dma_handle = (u64)addr; - return addr; -} - -static void hfi1_dma_free_coherent(struct ib_device *dev, size_t size, - void *cpu_addr, u64 dma_handle) -{ - free_pages((unsigned long)cpu_addr, get_order(size)); -} - -struct ib_dma_mapping_ops hfi1_dma_mapping_ops = { - .mapping_error = hfi1_mapping_error, - .map_single = hfi1_dma_map_single, - .unmap_single = hfi1_dma_unmap_single, - .map_page = hfi1_dma_map_page, - .unmap_page = hfi1_dma_unmap_page, - .map_sg = hfi1_map_sg, - .unmap_sg = hfi1_unmap_sg, - .sync_single_for_cpu = hfi1_sync_single_for_cpu, - .sync_single_for_device = hfi1_sync_single_for_device, - .alloc_coherent = hfi1_dma_alloc_coherent, - .free_coherent = hfi1_dma_free_coherent -}; -- 2.11.0