From patchwork Thu Feb 4 22:48:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 8228581 Return-Path: X-Original-To: patchwork-linux-rdma@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id E44BEBEEE5 for ; Thu, 4 Feb 2016 22:48:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id F1A862038E for ; Thu, 4 Feb 2016 22:48:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DAFFC2039C for ; Thu, 4 Feb 2016 22:48:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934365AbcBDWsh (ORCPT ); Thu, 4 Feb 2016 17:48:37 -0500 Received: from mail-by2on0084.outbound.protection.outlook.com ([207.46.100.84]:29792 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934324AbcBDWsc (ORCPT ); Thu, 4 Feb 2016 17:48:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OdgvfSQhOAVCF+19EcOWktbUr7LMIsh5W+oHnTuhiz0=; b=r33Cj/IygENA0R8DSs8U/x3Rjg3O8DblJs+oZVjn4jC12cRbtpgo5Km9zE1VazbTmTiIzhstVmTJU45pm5hBkBK5Q1v/7Nd/QJ/8kd+tXu4y1DkGFCmVpYefnrluNLp+mD0uE+XeQKLO8RAfiL9fKy7UdCTdzrXtP/3lkV6Mfbs= Received: from BY2PR02CA0043.namprd02.prod.outlook.com (10.141.216.33) by BL2PR02MB292.namprd02.prod.outlook.com (10.141.90.149) with Microsoft SMTP Server (TLS) id 15.1.396.15; Thu, 4 Feb 2016 22:48:30 +0000 Received: from BL2FFO11FD046.protection.gbl (2a01:111:f400:7c09::154) by BY2PR02CA0043.outlook.office365.com (2a01:111:e400:2c40::33) with Microsoft SMTP Server (TLS) id 15.1.403.16 via Frontend Transport; Thu, 4 Feb 2016 22:48:29 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.174) 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; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.174 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.174; helo=milsmgep12.sandisk.com; Received: from milsmgep12.sandisk.com (63.163.107.174) by BL2FFO11FD046.mail.protection.outlook.com (10.173.161.208) with Microsoft SMTP Server id 15.1.409.7 via Frontend Transport; Thu, 4 Feb 2016 22:48:28 +0000 Received: from MILHUBIP04.sdcorp.global.sandisk.com ( [172.22.12.162]) by (Symantec Messaging Gateway) with SMTP id BE.D7.03533.B35D3B65; Thu, 4 Feb 2016 14:48:27 -0800 (PST) Received: from milsmgip12.sandisk.com (10.177.8.100) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.248.2; Thu, 4 Feb 2016 14:48:06 -0800 X-AuditID: ac160a69-f920598000000dcd-cb-56b3d53b85ed Received: from [10.60.52.49] ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 97.2E.03361.625D3B65; Thu, 4 Feb 2016 14:48:06 -0800 (PST) Subject: [PATCH v3 06/21] IB/srpt: Introduce target_reverse_dma_direction() To: Doug Ledford References: <56B3D453.7030409@sandisk.com> CC: Christoph Hellwig , Sagi Grimberg , "Alex Estrin" , "linux-rdma@vger.kernel.org" From: Bart Van Assche Message-ID: <56B3D526.9000103@sandisk.com> Date: Thu, 4 Feb 2016 14:48:06 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B3D453.7030409@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBLMWRmVeSWpSXmKPExsWyRoxnka711c1hBucXsFlcePqdyeLl+Q+s FitXH2WyeHaol8XiRtsDNgdWj8V7XjJ57L7ZwObxbPphJo/3+66yeXzeJBfAGsVlk5Kak1mW WqRvl8CVcXHTS6aC33wVP85uZG9gPM/TxcjJISFgInH44XHmLkYuDiGBTYwSB598ZIFwtjNK 3Hv4hRWm6suzy6wQiTmMEme/XGABSQgLeEtcbvgEZosIqElserWIHcQWEtCSmLpuJjtIA7PA KkaJTVevgyXYBIwkvr2fCdbAC1S0d9JPsDiLgIpE9+QdbCC2qECExOHOLnaIGkGJkzOfgNVz CmhLrLy1CMjmABqqKbF+lz5ImFlAXmL72zlgL0gIbGKV+DjlChPEEeoSJ5fMZ5rAKDwLyahZ CO2zkLQvYGRexSiWm5lTnJueWmBopFecmJeSWZytl5yfu4kRHB9cmTsYV0wyP8QowMGoxMOb sXpzmBBrYllxZe4hRgkOZiUR3o4LQCHelMTKqtSi/Pii0pzU4kOM0hwsSuK81i1qYUIC6Ykl qdmpqQWpRTBZJg5OqQZG04+qC5/K/k4+Occ8wL1tR+0twxl7xe7uncG8MkBOUOXKRnkPnw+V 7ksEBD7Kq3pvMC2aWsa9TuRR3z/xAGfFHZM3Jqz47/kqU/W3wLZJ1o+ZLFne6MTvPMiTyyj0 /ZWNfPwCWzbjXS6nkzgfP2hh/pUj8ELRYGNi9M1jOkJPHx6VsE53WWOhxFKckWioxVxUnAgA ZFat4osCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHJMWRmVeSWpSXmKPExsXCtZEjRVft6uYwg5WNhhYXnn5nsnh5/gOr xcrVR5ksnh3qZbG40faAzYHVY/Gel0weu282sHk8m36YyeP9vqtsHp83yQWwRnHZpKTmZJal FunbJXBlXNz0kqngN1/Fj7Mb2RsYz/N0MXJySAiYSHx5dpkVxBYSmMUo8fKeCIgtLOAtcbnh EwuILSKgJrHp1SJ2iBotianrZgLZXBzMAqsYJX6v/MAGkmATMJL49n4mWAMvUNHeST/BGlgE VCS6J+8AqxEViJA43NnFDlEjKHFy5hOwek4BbYmVtxaB2cwC6hJ/5l1ihrDlJba/ncM8gZFv FpKWWUjKZiEpW8DIvIpRLDczpzg3PbPA0EivODEvJbM4Wy85P3cTIzhEOaN2MF6faH6IkYmD U6qBccv9zv0lWzrUPq9z22fV3MJz680/NzlZVstllQUimytY8/WONUj+jA4QFH3QJhERa6S7 6+3GK/euRoot3qn4e3pdqq/C0oQfZ58f+XK189Dt2MJH67kStG6/VMhep8Okvu3cghL3N5r3 OdzXf3/yKEOiL2Fr0TLWLZw8XAJz2O0XrZ3U9nlnpRJLcUaioRZzUXEiAOrZRy8BAgAA X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD046; 1:23J6wdDfHSl6mLSnzBKE2OxnXzpCzd0+hFdzDx2AxjnjgsMHTmtE5+So8WW2OGIvBUSWYAwDMP5pr77AtV4/tASnHZNlfD2GK+XJWiHtHp9//ysw/xfcvvKBXYIC+QKIGfL4zkFNR4fIi5Jp2Nf+4wvXPDsMvMp6S7Z2NqFZwnbuyxkj9bGUiPhO1O9eGpT7le7GSSTorTXYVMjNLF/bqP+5yaA3dPLYJJzLQXYxfPwPJzM13o6d1XNN7TCNss1xDmNIfnSWf8cSD9vPl8vTeS+D/f4qQNGXn+m/z3xoWkKGYKgSJIMkiBqjYApf4PlcdJXA8o3xF5/bl+/O4bPiCF+Uug7tI82Zsued6TdjSKflbfctimqNH4yZG5xd29u3ZJPS4FaWDJSvI5PM7AP0vPfhsiDPYZR+SJMETLWxGfzRtSg2APz2c5XXKw0Rz5JT X-Forefront-Antispam-Report: CIP:63.163.107.174; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(438002)(199003)(189002)(4001350100001)(1096002)(83506001)(50466002)(92566002)(229853001)(2950100001)(106466001)(2906002)(1220700001)(86362001)(230700001)(54356999)(586003)(77096005)(5008740100001)(5001960100002)(110136002)(47776003)(189998001)(33656002)(4326007)(76176999)(36756003)(87266999)(19580405001)(19580395003)(23676002)(80316001)(87936001)(50986999)(59896002)(64126003)(65806001)(65816999); DIR:OUT; SFP:1101; SCL:1; SRVR:BL2PR02MB292; H:milsmgep12.sandisk.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB292; 2:uQoC3l5hKDvjp5JYQVavufME+M67AKgjcrWz3zORUTDwmJczI/f1IDdJDNFtmeO/DJhedE55w7gmu4oYqLm7QsG7u4RDBAos+WB5QVvmM+wLyngnqgUV+lkhHBk8ZvUIwXEotxtO4Ya85scIJtsc0w==; 3:FkoDtSFsegz0qG53FUbC1szxyc5vow4mKwEHDBfDmf42JJsl+sGnanKIILuMsgYqCAV4Z3DP+AETp4BEd/ft8KUoYEYKCSK2ef0sCLVRNMSHDlqcuYBLUxLjrQxp5ImRCGGTsXwEuwTEGWa+bXdvZ/V7Al4VN71fgQ/K+MItRfA4LLkMZywqzMFElSsbMKrpdKYYNV2k2dUcv3RzFZXg4Fs0dPT0X1ngpWJjZGRO2kBqkmnEC3VBNB1oTBr/436zc7c0qfgYRUDNnv5dii3yMg==; 25:hyXz5ADGt1/3T/HQcr4OpvyDSyKNI9EgNBbOR99rrDifbvs0vpgaUooJetDjxDZzbhHR7nQ1kLNtBcnsE/A7gZXp3sKYp9bAiyItZCb20Z665k758BpzBFmQzQweg24OW+4TcqCJPAv++POtiFU0CJsu5qV2ybC8iR0nYJiLjZFWI1xBuErudrS7ADZus336B079+ZgJd4WDEk3mKZawOlNXTXJ8J2KfdK5x4XcKE6fQ8UWlP9ou8VW8LVgcXf8E6s5SLXX/5OwB6rGWgNaW4VOpxAbH5r03J+VSTN6L29bYDpUuNJhrOSOeutE8cfD4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501001); SRVR:BL2PR02MB292; X-MS-Office365-Filtering-Correlation-Id: 250c8eca-4a07-4f8e-b394-08d32db54cf5 X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB292; 20:RwTYikcr/R1dIq6+sIzsn0+0eVLicgrQ0yNOqYmfoa/gHUwgop9VlJLXLfOjseUagI5fZ4qZl/WES/BQd2r2SUcTWL3gF1RurdTGccdMutdPaalD6w0LP/tcFd9iKVnR4pKv48eq5UE6FZMthgIz/TI5ffVFeSSBQxVh4e+wzWMSG5w+XnICtfMuAccF5fDDLL2ufzTkdf6N+HDqVKHO/8WsgGpkTS5Er5UqqTiZy5tO0xY5gKd/OvHgJBJimssTgpuLqmPTOT4r6WHuNutJbnV1YjehiKO57sKeaIhRF3xrrPRk9nFUXvnifzHaMxdsGCRxWm+9mVspiSvzF/xQVZdaoWjViN4vy68J5Ii39cc6+iRWboe50bIW83CvgDr0QXAl6org9MOGfDXAiqt0wFMq70BUS8oDij2En0ZpKr5QSzv/gKdH9iPliZ26RrzcEOB8DnOkoVqGexUzhgwGNfTB2ABg3l7CFf08Og5DEx0VKGiYxLu56WKSUezImHJ+ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(34787635062028)(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13024025)(5005006)(8121501046)(13015025)(13017025)(13018025)(10201501046)(3002001); SRVR:BL2PR02MB292; BCL:0; PCL:0; RULEID:; SRVR:BL2PR02MB292; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB292; 4:TN1X9RFe0kLi/R+rcxaN/S+wMlNUJ5JS4Pqb3Ooey80lv2n48fvbR9KVPSP74tDhKH2KiQ8uOVeyFjNOEgbYCUxm7JfcE5ME87d/X5ULY3y28grLLuHEblfgH5ykVETYe07Qe5qEUtRBUEIUUdIAZPGuk+IFUlk4HIzVSnnKy29aauUVUF30RA6+DEO4b2JhHuCTDoppoYPW+3eJFwYOK8RYV/PqDj8+Ls8ITjCBKUJ+g2E4R3SS23+rWyookVg/7Y++IY+GJw8BxLpwF/snWgu/lmvb0ZoBUsPAJ/UxkxSOcVh91kuZ2y0hgtd7SdlNDXpAZyRtDSsd7l5MQ2GslEFnXExaV2pXbkMd47VEGeqCAkP/YT/fxklkANA5Y05u6/pM9ngqIbt74OvuD97gT3NpjtGtAN0e+cFeUNDnre8jcgGv+TROZzMrnUeDPFfw2Zgi8eRHh9p1t6yvzGlwqnyD533Tg6rLc0cATEgtaSz4g6hvyBVBEXDqNxWNUQCMVvIf7V5uswsvOVywE1I7uAtJNA56bJ/2JINZ6/JYTc0= X-Forefront-PRVS: 084285FC5C X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTDJQUjAyTUIyOTI7MjM6UmhQSlE2OG1kZ1Fpc1RQTEZlQ2tsUStXdzhT?= =?utf-8?B?bExVTExiTmhNSzErUXZoaDhjL1FwTHJiaTZVWW5FTFdrNHNRWUhzSzUxckox?= =?utf-8?B?YXJod2FiWk1NclFBaU1pNjVWYWdGbG9ZUXo0dzhjcEdRYXFKV1Z4NWh5TlR3?= =?utf-8?B?OWYvb0k1dDFZUFVJbTBMbSt3MjBzK1cyWW91b0N5N3NHdmYrbk9Jc3RQcmVj?= =?utf-8?B?bWtvVUdpYm1xN0IyY1RERGV6WjREOEFlZlNHZkxLcGUvQXlVbjIwaC93djIx?= =?utf-8?B?VWNMMVJlRDlEeGlJSjc4Zm13R21HTDhUSkhuZEtoWUo0N1I5bENicFV2NG1H?= =?utf-8?B?RnJrMnNGMEZZQWdWUTJGL2RaN2NjbjE4MmhWTGErL0lTOGFyWGE0L2tEUkRI?= =?utf-8?B?LytUNitSQWdLUVdiQXJXc2FWMlRLSWVBaTRSUkRLeDRKSmM1RU1SeDNkNG9a?= =?utf-8?B?eE5JRW1TODN2ZmZsbSs0bzNvRTNYam5LNC9icnh4aldMV3FxRGFyUkQwWU9T?= =?utf-8?B?S2RHZWVBR25zOXkvMndxZUxwM2xVTENqb2NIb29PQzNpTlA1bnJxRFRtUS80?= =?utf-8?B?L3k1S1dYdzE2UE1WaXlidGFLYjNaTDlvL2FZQ1R0NzVHbEhHSmlPMVpYNzNa?= =?utf-8?B?Tk1venVsTmVUY0l6UnZ3clUyYlVDVGxTRk9uMndaaVFENElURTVqSktTeXIx?= =?utf-8?B?WVJuL0hyUnJwRXJBY1hzbkQvY3R5eE9xTWIwaURMR2JUOUg3Nk1zaXZsNmVK?= =?utf-8?B?Y0I2L0JXSjhQOEprZ3pWSTRXYWZWbHl0NlgxOUxZY2tzeEkraE10UXdVYUtr?= =?utf-8?B?cXBseWQxMmdhVmI1Q3lUaXFPUmRHMzZwY2krNGFtRnF4SFpwSFpVdzlPTmln?= =?utf-8?B?NExvL3ZiOU03eDB3Y2FWTDh0QjVHVm53OUprQ3hWams3dnY2eU4xNG9aSTJt?= =?utf-8?B?bmlaeDh2VGpaa3JuaUdTUWpiOFlzWXRoZTBzOHozUUpZK09iK2t6Y1dnZTRL?= =?utf-8?B?dHFRYW9LREd3UkgraWVDVFZ5djJWOVFFdFVhL0pVVU93OENXd1daaXR4aFFG?= =?utf-8?B?cy8zelJPeXFsb1plY2RqaVFHenZQS3ZXUi91MHExWHFsRjV4Mk9RaitETklt?= =?utf-8?B?cFUvYVFWdTQ3RE1wd2lxMFRMYjFMYnhubGdqVmRoRWt6MDB0VVdkVzMzZnZz?= =?utf-8?B?RWhmV1NRT1hTSDNrUUY5M0lrM0diNUswVkJVQ2xJYkEzRnNKR0o0Uk9BL01I?= =?utf-8?B?ZlpnUU90OUtFWnp0Ullsa2lydEl0Um93NGVzcDY1OTdhWmRSckVNa0o4T3JX?= =?utf-8?B?OE5USU1qSjRDaC9mRDIvMXhDRkpnenNSUWc3VVdJU25XU2tqRGNOeU5RRitR?= =?utf-8?B?MllacDVJNEhGakVhOFM0WlNjY0gvaWQ1L0tPZnhCd0FsZGhkQjJScVFaaThh?= =?utf-8?Q?V8sOk=3D?= X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB292; 5:KH2PTP/77T7nfAYVCNZFOn0ft94cuqTmnJYvqJ30ZJkFYkzUCK5XZF1LAePoUXkzVlRdRGtRB+clyhkJHhqtlEn0e/zpfCIqZ+RctnPvFm65tcfvgFNrzap127WgGOxKmP+/mM1/SOQhwykHxPF2aQ==; 24:SXufXYSnjLj5DanoaMfhGEtc1BnBvMOgnPSmTP8wuISkHDeEp7xV6gSI/w3B0bS8/JV7OsZIUDnKAvBuSCmzdI02tOlUmHumE9yvRk3fU9s=; 20:kyf8EldSWVfLA7OT/aSoZgJaRmGqOBV5s7or5KkSz+Bbunv3TWYJQha1YFAn4CGj0W4SOlD7gusQKkQAfM+HP3WRvKLWwUQYPZR5A3VNlr2ukmSXiuUSHQX0AMkEE25FJD6CbuGsOnuRx7tQjvOEuR4wIy1KUWnJRZZ5EOEWmq6tklBAzzs2LTJ9IgSsAOKltzKxYnsfTmQ04NIzu2arZOrBDYsXNWf0LOowRHRDnk/I8DA62jaTSLLX1fwPEanU SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2016 22:48:28.7725 (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.174]; Helo=[milsmgep12.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR02MB292 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the function target_reverse_dma_direction() instead of reimplementing it. Signed-off-by: Bart Van Assche Reviewed-by: Christoph Hellwig Reviewed-by: Sagi Grimberg Cc: Alex Estrin --- drivers/infiniband/ulp/srpt/ib_srpt.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c index bd98efc..c50f05c 100644 --- a/drivers/infiniband/ulp/srpt/ib_srpt.c +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -96,19 +96,6 @@ static int srpt_queue_status(struct se_cmd *cmd); static void srpt_recv_done(struct ib_cq *cq, struct ib_wc *wc); static void srpt_send_done(struct ib_cq *cq, struct ib_wc *wc); -/** - * opposite_dma_dir() - Swap DMA_TO_DEVICE and DMA_FROM_DEVICE. - */ -static inline -enum dma_data_direction opposite_dma_dir(enum dma_data_direction dir) -{ - switch (dir) { - case DMA_TO_DEVICE: return DMA_FROM_DEVICE; - case DMA_FROM_DEVICE: return DMA_TO_DEVICE; - default: return dir; - } -} - static enum rdma_ch_state srpt_set_ch_state(struct srpt_rdma_ch *ch, enum rdma_ch_state new_state) { @@ -1049,7 +1036,7 @@ static void srpt_unmap_sg_to_ib_sge(struct srpt_rdma_ch *ch, dir = ioctx->cmd.data_direction; BUG_ON(dir == DMA_NONE); ib_dma_unmap_sg(ch->sport->sdev->device, sg, ioctx->sg_cnt, - opposite_dma_dir(dir)); + target_reverse_dma_direction(&ioctx->cmd)); ioctx->mapped_sg_count = 0; } } @@ -1086,7 +1073,7 @@ static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch, ioctx->sg_cnt = sg_cnt = cmd->t_data_nents; count = ib_dma_map_sg(ch->sport->sdev->device, sg, sg_cnt, - opposite_dma_dir(dir)); + target_reverse_dma_direction(cmd)); if (unlikely(!count)) return -EAGAIN;