From patchwork Sun Jul 2 09:09:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Amrani, Ram" X-Patchwork-Id: 9821095 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6B1F460224 for ; Sun, 2 Jul 2017 09:09:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4D25428456 for ; Sun, 2 Jul 2017 09:09:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2F88628459; Sun, 2 Jul 2017 09:09:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CF84928456 for ; Sun, 2 Jul 2017 09:09:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751857AbdGBJJr (ORCPT ); Sun, 2 Jul 2017 05:09:47 -0400 Received: from mail-cys01nam02on0042.outbound.protection.outlook.com ([104.47.37.42]:61371 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751759AbdGBJJp (ORCPT ); Sun, 2 Jul 2017 05:09:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=A1mMS7tLLdZM3rIOdyp1BPXZy8+T7CSUMCFmFkV2TiY=; b=mqiMOEOF+OiAkrrBnWwCXTBFVq1jSUTcfUvsmsXWaNX2qS16y6YPZKDyRp8xO8vU9zPehkn6VBBVPf1S4qq9TRa25Ot5/z7sd1Ft2385j3Ev47+fSdxyx8BFF1jThDE7nFspXYQFNwWK0LK3nx0kNvPekAGY0T2DbP1M5bnoMXg= Received: from MWHPR07CA0047.namprd07.prod.outlook.com (2603:10b6:300:1c::33) by DM2PR07MB1532.namprd07.prod.outlook.com (2a01:111:e400:50c5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Sun, 2 Jul 2017 09:09:37 +0000 Received: from BL2FFO11FD027.protection.gbl (2a01:111:f400:7c09::137) by MWHPR07CA0047.outlook.office365.com (2603:10b6:300:1c::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11 via Frontend Transport; Sun, 2 Jul 2017 09:09:36 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; obsidianresearch.com; dkim=none (message not signed) header.d=none;obsidianresearch.com; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11FD027.mail.protection.outlook.com (10.173.161.106) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1199.9 via Frontend Transport; Sun, 2 Jul 2017 09:09:36 +0000 Received: from lb-tlvb-ramrani.il.qlogic.org (10.185.6.119) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Sun, 2 Jul 2017 02:09:32 -0700 From: Ram Amrani To: , , CC: , , , Ram Amrani Subject: [PATCH rdma-core] libqedr: Sort out dpm/edpm naming Date: Sun, 2 Jul 2017 12:09:25 +0300 Message-ID: <1498986565-2756-1-git-send-email-Ram.Amrani@cavium.com> X-Mailer: git-send-email 2.1.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39830400002)(39450400003)(39400400002)(39410400002)(2980300002)(428002)(189002)(199003)(9170700003)(478600001)(72206003)(105586002)(5003940100001)(5660300001)(106466001)(36756003)(107886003)(38730400002)(77096006)(6666003)(86362001)(305945005)(8936002)(189998001)(81166006)(47776003)(8676002)(2201001)(101416001)(104016004)(50226002)(2906002)(356003)(50466002)(4326008)(626005)(54906002)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR07MB1532; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD027; 1:pUF/AdgspA//3vjm1PPpCpyBpjNXY/KPyheb+a1ok4n320BThBHrE9pbj4SuIgDUGapKpUFzF/XQxnX6aHBDiIlfNNstenySymFdYLAp2szA3kGn8qDJ/XVtCaFqIlON4I/ChgfYVsGh13gEMulzH9bbdEtbRno0nK47SijNVaoVvoODOGu/lGrKH28yvOAx89p+W2hAZ9vbFigmnfG6DzynKTPjNYzTbtEs2iIiXOmb1QnThZ/7xKIVtJx9DyREG4GquVFyaQTK6xKQ3Ll3ujhLD2KDrI0mT7o8+vk6EFK/qcZkA39QYV8vKDqZ/nX72SpoYNfYL/wSGTm9RCL7xESzv35I+Ma/YEAsg4sg2i8umYzWK6nd9ut9+b6sKTAW8YBJlJdQl/klMFAlk4hOJmKuSEC0tXP5bYIRlvaLlpI1e+G2Fyw2TlljzxJqh3qCqKr+/9DDNN0F4VogDjKm75plL+VvBfyxn/pD3ororkBju1YZwvLOJH5NQjCyez/xX66z7zJUAqdc8y0+FFmX/OQeJbh6oqxJzN7EZgbM8FgD4Wf0TDqKYyHkc19yLOaLtnuCgrfb1vvR1vle0KPBS0wY0gdQdrbVxAIRA5Ey8RmnO1ZDVVX2Kfgi9UCkD95tQHtjj4ct6Z0IvNaGdfG++ISEIXS2o6ol2dmNFCGAQR1/gfD38uOiA8FUuiCP4HB5UNCQpytIEyoNXrexvKLtbc9bb7dschUKgzA9w7IWBRmBS87DYhgqSb3Z9Ttnpc9uTTQWf7z0M6w0UZt65dZh0H+f4jFqipT6bubXIUbsl0omwCGkJUT2DF+FPmFmyWTKNB2hSo00bRpIuHbjtEtsii8smumH7xSO0L1ZflRXzqs= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f59e5f54-352d-42fb-388f-08d4c12a0fd7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM2PR07MB1532; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 3:fpj8+LwhCO+C3POPyFFJ1EqQyvQ/veawXezXCRNGCgzwILtUsfAOUeQEtb3HKE16QtNmTwKHub6VRSExHLrmVTEMCiVocJL6YwwxsRKR0tWtq9hAHWQQeNqRmRS4OSHJ31pQLDm3g1O9jnqosFBdkqo+NAjI+XpI5iTuEVigR6tHQR50uHmVgCUIJIoe4QaLLaVB5HmaA76h7hBsTtRghTTqi8Ap0VNnbWOdu4CFL+CVXS2Ej5Y0Str2J5iRZyH65EnAD2nnBlmzzUXzm4GPOVHHXbzQ8LvtxSJmYWTANijEpJOLjKdlTTkMNS1l9dQq5fy3EEwsfcH9U64pwvpx+zBjclVaA/04XkMiXej29i9nWgvJWpmkLsBTQpr+RgzWCh8FzyUdVqBY2nO3FCbXsjV3qAAqEhMKJDkUDgF3V14hDhd90y3gXsNNhW3wGxV/pZJMjL1KsdVnJwseSNDM78jBbXNAlY/b+PEYQXlGUMHOg8FbPMLqM0vs8StMfjG5LlUsCQ2endcqAIbHoM15MW9C/i5Nv8v8ox4fZsNVDOWDB88F0i4HaM55kcRaDe2yMyh41s0PPa4ywmJ8jv2Vn3GOBNSdQkpWrVcwCaiaBe6sJthTa9Igx3G2qnnfknbgsXwyixRAlQdvkWDO9kh0v95nYIZ5JWRHR4yHIQHdXtCVf6AIegM+BQNL1A65Trok+ocoBRsAJuDZnoT27DlKS7nAWpVrciaSgFQkMX36AGY5GXk/MeXIvT+rdcQorFcCKiJJR/EHiebjex9FyDkN/+xzueAEpfQsWc8FCe/Cry/GSS3xVq0PXqSWPGmeuliArB9D5zd0y3di9+JKzlHLGy59kFH/UobOw+M4mISepnZG4amBPpxB7PkJkYKRlw/imijODfuaTqNE2Exnwfn0+A== X-MS-TrafficTypeDiagnostic: DM2PR07MB1532: X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 25:vIhlQoFtHFFyvxqb9d2wqekGSS+Qx2zUOmxee+yIgDbJ14A2I1rga6sTyy3xQhsm5VNE1/SApFC7q7d3XWYh4/pgwurQZmJDBJMavHImuGVrgddgELINvzi6L93l7K/Mls+xwiRfpuUqk20iuYBcMHdJ4OtpALG74nhSk1H/omzpLFPmQIeXpOWjnDt8ryWwp1SJVpZ2DdVIpWUjZQmSbBxZbFPi6vzcOWRrfnqCwz6+6QYYKIc0nDO6Ey0ncXJ08nECP7DEBJrOtnAHTo7Uokieg3Va5M17vBEbvmC3AomGGDPd57FzElbVIsecFrAKEQ71bUhxPblO3beVV6/eUxID5UYz6638fY5QADV+GuTbYq2qbElNry16+sWhk4MKNWjhZA//ROU4lkFFRDoEAqX8rHH8rB2crCMfpoAjj7dJzkGIv6x6HMgcPtx2tqbEyULH9A4hSSxA2q8l8We6oHBPPu4uVY8QMCrUVp6H/EoqarqRhmB1NE0vRbtBT1F3AhxAzTLwa7hlY0zH47Jqu9DiL6M+sHE8qB2/RfvjsQSvtAcZSuEzIKBx5pbkNd1Vu/dDsSDOpi0EFw4HBCU+aiQFzfY0hovyVsHuenYyIdK2MePM6Wos3BVekXyDknao1XEEVQy0YAoHUIJGVC7T8qH5NmDyHbaSWJmavzjYKNrkS+QkOvjCPnlr54ggiodLIOvS75f6WeBLpI9rXBliq3NGiM30V25safK4Ja//QwxDyBl73P4ISAHvJObWYBfaH0ZNa8xVa4NrbCA0MRJHiIWIiYLrxc35u5KGFh8Lo7dbTGf04dzTzLIpZFhfv+7PlRF7Nx1t+uS6am/oryndlSAv0Klr7QyCXe8Pce3PatrJwzNBoyHK0uz4t1XqqR8gNOp0q0Gu5jGYAsKYy8q6hv1kjZ3v1gqwYu1AmBrkQ YY= X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 31:giNVYyXAwYx9iQ8jCXAVSPK0rGzgtpuG6pCW0tyRfowIRuR5l+kicXLjpZ+RHEbeuqXclelT39aU7aiHAmDJz4KRepYYy2w6regMMT1hwMe+Xx+OHRTYO+YnZPSHYXsf0Frc4ZTziAh2rPZDayPFATfdAs9Z1UXnPZ3bK1RicYTN7V81p8MxWs81MLAPxEgHJCCk+tzrvPY/s1TFDpoqQn551TfofAdrkHtd3FVfje3BHQ9isjE2rlrvSw9XK2CDzYwbUq5W5ucGrtzgD6aXnpFh6P3rNpSF+GCgr8pxp1bfeg6r5WswCCd6s/K4EJZW8Q/Kcfh6aaqMwSIdUxQ73xiQPJl6BOJS4QWADLn58yd2Phg+nWPHIVMgOoZ4YbRKtwcAnv5k+ep44Omz0yDIwUS6tiu4gbjwjRcQJo4ib3uJGCqyPD/LB0hsDV3sv7lSaNXRh5JaYRU5xtG2tuX1GisHcIK7TGhwN2tfwBh0ZfNPbc+0euC9okKuHu/Y4YzZbRBbSWJhta9QOmSiJISpZBBYkCPra+atXqvLTJD5b0HmwBWSY9mJnTDsonwfbvCY1rhgHl1hRJtn1OBucIC2t3OA8/4qh8DOBghk/G5OZpzTjQRF04n9bwzkeoCYMNyiwtE6LpWLe+OOeX1GT5jOi9lR+iuPINpIy3135JMZt6uaIXM1VxHiZGFUR0PJVB5P X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 20:daXADWydqg0Sdux793WB54JbCimtzIwL4Gfygy2tBd0HbsBWV+wJUusGrtiPeYI8qJG5iqe8UEZsPb6I59Pq+KFy26wfjOB8OauaC3gusvr8Ksxp68gD2iZmxr+idPUoh88DxZcvBaAKcETZKQxrdnYFxme+f4wPshqrZrwAlGhOiRN6+jvL/rWra78nOdtRSTibi0vTJnr1dMCEw/tRkhZ1ziXLGJIS+rhIxZiT/3RoUcvV6phiP4lylUhN9lfCJXXnQajWyWH6yuCKpWOBEe+GY0B2rTSjXwj4LmFtjfE8B3RxwUeIwvZMkUufgYBuifQq/DVCucf4M/p+Ac9XbK2kaNifk2RwH7yLd7ONmAz3ZfVTgM+v9i8iDcwgHnwwa0umZz2R5h1gqaVPi6mVnjSQJzJ1VBqcKLtey2xQCR37+1RW4yYCTply3q5ksCb1Wv+f9aAtCbw5bDErjyWKS1GafLP3xLnhamG6cuzM0YyAg5O1w3RJH4Kw3eI9gT+E X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(13016025)(8121501046)(13018025)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR07MB1532; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR07MB1532; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB1532; 4:odP5GdKb3Fg/dvfCPpwZCd6xRkDE32lT5D/KabeAHm?= =?us-ascii?Q?nAdK10QFBgIkoJko0PrPdZlMB9JOO77pdB8QH7UoNXjm7206v7CqoAMEpeCb?= =?us-ascii?Q?IhRG1eRVPs36d3aJANNl2OuR9hqHacZxbEDm95SFJqaSmQXLDT0I8OP3gVfu?= =?us-ascii?Q?fcd3QrW4L9B50jHj+Mxm6hY3iFczVV550OFxvtIDnKzy2LRXls9b4tJrGiXR?= =?us-ascii?Q?ml1l2AsasmBDk5VpOI01UmbREfjEpEFen1zdab8BaWXKOG5v7+Z4Zv6jZ4B/?= =?us-ascii?Q?QhfECuaVbEACMfiDFK0PBYeP/u/b3Hmu110TdhydwaNveGqnGT3VIsSH34+0?= =?us-ascii?Q?J21W1kwi5+/uZHeDMVTiZ3x1DE+wljE8wZzOnJ0z8KUzIyeGV3wm4wHlDcAw?= =?us-ascii?Q?VSsT2X3MbsCxx6o5fK8MX7rAv3I2EHxRC4D6tAM1HLBvuN2aDwDZy85ljEFT?= =?us-ascii?Q?A4CMpkJOCXrdhc35nrvlN8MX9INVP2ZVLy0a25j6CI9tuQt6tidm58B5EbaW?= =?us-ascii?Q?aVkznyyUaGolM6d0JziQgW+HaXQEvnbt/B8a2+FGe20RyOZiSgoWtTNdQd+V?= =?us-ascii?Q?wcUgzhDZsdlIgRyq5uMHU19duCycNzSRWenmtAa0ogGME+4CvnhVl0lxtkTP?= =?us-ascii?Q?aC+QnnXAd50qEfMOeIO9eufcsxFDbiE1t/Iew4JBaU5UHkuAoqm1oqVXznZP?= =?us-ascii?Q?sdtaCM7oHdVCrbhJTEQ0Us2OtW+07KSIaSiL4mls07kCMxKO1Z8pg9Bnb4oe?= =?us-ascii?Q?XBJSKWRL39aWVt/yd7OCWDsuJTtSGLvLqZ2jQ86nizIOUL0Y3cBtpz545hrk?= =?us-ascii?Q?gqXuaC2KzgOlOWexeIjiF4FPgTEcyexGv0Giz+RkmeoIURNUQvBRzlTBvMQ9?= =?us-ascii?Q?qWIUcIq0taxTrq5G+lU2mUmSrAP3AIIIOSjLfju6ExLhArxhHvF1gLFCzafQ?= =?us-ascii?Q?zyQHtlkWZ7Bg4PWAwkvkZljguuqgjhn1Ip23LFrFa3YC9Vrf/HH9FXDna4Ft?= =?us-ascii?Q?ns/RDeu5C0YExv9qHSyPrjwIPgAt+FiCHI+nQWvvAsNizik9/13UQ+iOhh2M?= =?us-ascii?Q?Fa8jGLroXLLs+VXjnjbiieLF+KeqBgppHPBt+27Pdwx2deomIempK/wo0dCY?= =?us-ascii?Q?fNvDqyTTV2QmPcqlZQ+0p0RNK+R1YAFDaww5jz2Ni3pQa1rPoC3yeE/2o/97?= =?us-ascii?Q?yDkKLse+MKLkl0DB5r7PurvuxrR7Yt275N779bRNhykL+rurEhN2fUaQ=3D?= =?us-ascii?Q?=3D?= X-Forefront-PRVS: 03569407CC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB1532; 23:seqC0s17AgJtZ0PE/VvLiPsUZQbSsXwX786tEv10A?= =?us-ascii?Q?y32PWECpfL42OnQ8UNaV6vATRq/+3LadyPw5fL3P3ePo5TZT7hywMJDu4uc3?= =?us-ascii?Q?OJaZYOsZBafGnPIkuq1nSEOeG2csloLt5cf5bRPQQkxQSB8fMkRV8p+Sb9jl?= =?us-ascii?Q?h7z4igUpNjBdg+WrzE7evdxDFJZzEoirjxvPuUUWW3L7zXlJRfB3+wccpExs?= =?us-ascii?Q?GLCWZZj9RVZBz0HFEQwTpiYfNRsvgXYMH6gQ5bMarKRnYnmioxWn+0+5cJzi?= =?us-ascii?Q?vu7eYzCujFeEjKKw2uot2O+8m2X4fHIrNQ3jCXYk0nKEamh08cGd7lxmzEyw?= =?us-ascii?Q?CwD2i1MVUcjwSB9Z12BUByO5F+CjSiu3HJsjBNdPGzi2aBpqgpRTKuQov9S+?= =?us-ascii?Q?H0715kh3DwTrf5dBpxma8WrJupgFB6DwDv/zmx4cBqvUplP6TW5nqW1pGu6t?= =?us-ascii?Q?yRVQ7N9XaWI40gYI34u/aO7uNfz/c1jVaGR2VPyARqKW+ha4GaLAF6cVczvQ?= =?us-ascii?Q?L6ymp0+jnnH8Ib66L4XwjK/y+RKn9t71nEPn5eAOB1NGro5wQoSHzp8GEazm?= =?us-ascii?Q?G52pYexP1CLpgKLOBAjw6IEpoP9wvc1AgHbmFp/HvMSx2RUrr8hT+xFWaso+?= =?us-ascii?Q?Sxsr+RnH5qrW8pu8HxkqfGGbrjQbPPDsAtJM6PDK2tEEgGUUjCFB9XsLVRdC?= =?us-ascii?Q?DBd7oee9PzMu7CB7A7ng6K637gpfO+RLEF7Xvo3kzKtVYgU8cMSj8zFXZ8EI?= =?us-ascii?Q?OXf3PNYppOXi1Q49QNwiUOwE557sIH5HmNNtAAflodx7BJSM4HmchglAx0vv?= =?us-ascii?Q?pmtaBSLmAxsQ57SvXSZYSjmHARadHSK3A1aj3q7G4D5z1rye0c2PNp4+6z0p?= =?us-ascii?Q?9LQC9eXvKurjR9OmB+o1/X6+OO5ukHDXif8RHs0czLNDL0yIKJOPS6oR2U+t?= =?us-ascii?Q?Ke5YvckuetXMKUReRDQ0UrKAIW+ANFJdjSPzuyiFH6EMZFk25EhBPjb+a9AM?= =?us-ascii?Q?Ro=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB1532; 6:Kyu/GByyf+xCU2a7gwCrK6Nav68q4CULyePSnR476D?= =?us-ascii?Q?BF/o0Ltw2S84iuPZmbyXX63l2o6A6turkE94Bji2/GLQGQxM/PmFCmFMiFNq?= =?us-ascii?Q?A320puyj/94eFLBFTHAUR/+qVAr7wxmTphS6dMji7NqMnmUfK6vkB07Ls/qh?= =?us-ascii?Q?wZoHeTICjYcwstKNquR7mUSlk6/PlNso+fhaomGSy1YYuovp49iqjwBAWUxr?= =?us-ascii?Q?f8sYK5Dk7XreP/iwFwBSGEmCITShlxQeR65NgCjw78gvJhK+3dbMssLPggKz?= =?us-ascii?Q?IYyU7d4SUqqMxiQXQnXN8wZ2S87T0SlvLsycHtpI/G5hubmhTkW/XfjtzUx6?= =?us-ascii?Q?lnidM62clJToI6t5rdFkrufylzIcr/Edl8VncCM5Q5Dr4/4ZOfv309bHv4T/?= =?us-ascii?Q?zeJzvV4NnoUA0i0P7WBO/H9VD0R3e+lk0qjH/glmA5g385tthjTi6t1W10dT?= =?us-ascii?Q?nJBPUgbDy6uHZGzYpT9cqteKjP9D4WyX1V2LXCy+FtDWZkSgJF9cxqY893F5?= =?us-ascii?Q?yTI2oPY5uWSNAqWPI/KDyJ4sW3Tek/ZsnXYl8n01yqBxxOgBD2Yc7n9eKPzM?= =?us-ascii?Q?+2WtGvj192IO+9N095TbyftOo++VlpCylGQXhIJ7uZNLLkR7iEMvZx5w/Tw+?= =?us-ascii?Q?ZviixINaEfdpElFL75ULWDRc3oLkShcOnPt8rXLBLZEbUqq70y/o8UGi8AC/?= =?us-ascii?Q?EjG6lzerwYfNdVD/5JJi3omGcdCVvZu4BzJbyKc4QVtl7XToVCATfnNEmiPF?= =?us-ascii?Q?OMJXZryaIZYefKcZNIZ46+gKM/VJJid7elM0OuBRxnPUDrSAtRv4ljyUnQJK?= =?us-ascii?Q?/NI5PZL+u+BwQJ0p79Gyq1JMwWZvayOj2b5V5ifKt5D6bul79gyBbx5B5nXD?= =?us-ascii?Q?yB4CgfxGDk5ws22I9UfzWdKTQ/IEWqvQ8H4ohXqxeq8omKFKZ77mLdQcRi+1?= =?us-ascii?Q?9QXKx0sP49YvP4HnIc/4vGHfdKAZe5cpyMnFtCca/pgXJxJ5DsK3/5KUCE9W?= =?us-ascii?Q?o=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 5:fJ7K0RXT0HgpcPZEJdo3Z+5+QYwA9H5PSJ6LF/Ag3UqO382Be5WFjE0+X2jo8jK62T2GAAczck73ey5hDpuDGeEzqzxFVLmRFtLyXPH9BHbM8+mUJLZNHfeL2z9CcU9EgcsMXuc3jrSzHAZDzJGSQnNUl9CjypqZ89Tg/0tYcFxbtJVpc4czeLsDW8rivP46eQbltpNv2Hd6p4w4tZoToOVlnSgteh9Fzg+AOLaJbOKOl/WJ24dPuCgBRIUf+fmEgasJE57D/QelcVg4IvPCcutsw9g4ezpWOWEhPiv9gtpXo2xvf6f1l1uaubED1jy6rgrVbiGhXdINUp3B0HSBtVtYOqPNh4WnCyGcHsg1ezn3MGyTWdnksn02zXfYK3iKaql2KvUPdlRw1fGCUzo8zxvdjqHrL68Hk2k6ynEq1hjr5vckVPMmGlrPWEDn2GPG5W+YYPueQOr/p6e82rmcW+960j220isEITqEzW4siAHgjWQ8NeJ/nvon1VWY9Jfn; 24:2r2bPhMadvzkkDgoYTaiuABlWqT2NEeerrMnxi8dkHT5kVaVu5v1hzGPMDUpGsvpu+krczn42XfIzVthg/gepMGKxQtPZwKuxjhJ7zhYkVg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB1532; 7:NYOgipBC76So16S66KuS2pyGQdpcDd5G9n91HDVKHVwJyv+h7sEm8QP6eGlbDMmUJuMx39nmeS65zHmY7BFHJ7UgwjnEooaPBNyD2q/dCE3Zjf63Kyskxs9MZ2GDw9qmmWfvADBy79hcLnjq1IGhn+3YksHWcU2zVXfo0UMi5O02+45dxPvNGnDomoThqxqdmbeVEylCbC8qfFMt6vYhwwAinSoTaMI7Qwg3NzUZhw++iOsQhaPTn4UylaMvy9aVvLC3THfzt5JrkY6/+AwxD1NhNw3B/LZIou3jd3HqdTUMd6qDRComcF9GMjF7oliB0gc19w+1UZyh9wJWao3zhLJ087cjkTvMSxfPSVqcn6Y5nIfp916TmfW5kvtaS4Od29xb5M5NN4lAcPwSHmGPCFtNYh2HH3dpuGusP7t1jHLnurfRqC6XbhZDZ0vsCWjiEj9ehn+flxQ/2kxlOhp9pV5fgkezISf3oXWztpoN9DlVWUilpnCfpVzUIKy/ZiVLkDB17V1exu/guWgSYYNsauCtcYZ+W386l4a7UuUCSJJKdiKPYrhOn5kg/5sJ/1VLvhmrT23Gj5cShqdgefjEs+GGC//qI0kvGJOSGjncUxiQQbET9qsh+r/cZNUIaUrfXCpgAWz2da2BP1gvMrc5JbtY4hXdM+OZFCvZe319W0TXVEbzoMA+jwS/Rn86qcUJE4Uahbm8RCScs6/d2dAzQpligTBDGltCBsqeqGR6g2117UR91CeP4lop8u8ShV16xzOf6pA+k/NCOwZMp9FSQu9+HpCSU/8VXhVyWEqkb2c= X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2017 09:09:36.1356 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR07MB1532 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP DPM stands for Direct Packet Mode while EDPM stands for Enhanced DPM. Give more meaningful naming to the structures and functions to reduce possible confusion. Also avoid entering E/DPM functions if not in E/DPM to begin with. Signed-off-by: Ram Amrani Signed-off-by: Ariel Elior --- providers/qedr/qelr.h | 11 +-- providers/qedr/qelr_verbs.c | 198 ++++++++++++++++++++++---------------------- 2 files changed, 107 insertions(+), 102 deletions(-) diff --git a/providers/qedr/qelr.h b/providers/qedr/qelr.h index 0dd6835..1a1032e 100644 --- a/providers/qedr/qelr.h +++ b/providers/qedr/qelr.h @@ -205,16 +205,17 @@ struct qelr_rdma_ext { /* rdma extension, invalidate / immediate data + padding, inline data... */ #define QELR_MAX_DPM_PAYLOAD (sizeof(struct qelr_rdma_ext) + sizeof(uint64_t) +\ ROCE_REQ_MAX_INLINE_DATA_SIZE) -struct qelr_edpm { +struct qelr_dpm { + uint8_t is_edpm; union { struct db_roce_dpm_data data; uint64_t raw; } msg; - uint8_t dpm_payload[QELR_MAX_DPM_PAYLOAD]; - uint32_t dpm_payload_size; - uint32_t dpm_payload_offset; - uint8_t is_edpm; + uint8_t payload[QELR_MAX_DPM_PAYLOAD]; + uint32_t payload_size; + uint32_t payload_offset; + struct qelr_rdma_ext *rdma_ext; }; diff --git a/providers/qedr/qelr_verbs.c b/providers/qedr/qelr_verbs.c index d44e28b..451f633 100644 --- a/providers/qedr/qelr_verbs.c +++ b/providers/qedr/qelr_verbs.c @@ -862,19 +862,19 @@ static void swap_wqe_data64(uint64_t *p) *p = htobe64(htole64(*p)); } -static inline void qelr_init_edpm_info(struct qelr_devctx *cxt, - struct qelr_qp *qp, - struct ibv_send_wr *wr, - struct qelr_edpm *edpm, - int data_size) +static inline void qelr_init_dpm_info(struct qelr_devctx *cxt, + struct qelr_qp *qp, + struct ibv_send_wr *wr, + struct qelr_dpm *dpm, + int data_size) { - edpm->is_edpm = 0; + dpm->is_edpm = 0; if (qelr_chain_is_full(&qp->sq.chain) && wr->send_flags & IBV_SEND_INLINE && !qp->edpm_disabled) { - memset(edpm, 0, sizeof(*edpm)); - edpm->rdma_ext = (struct qelr_rdma_ext *)&edpm->dpm_payload; - edpm->is_edpm = 1; + memset(dpm, 0, sizeof(*dpm)); + dpm->rdma_ext = (struct qelr_rdma_ext *)&dpm->payload; + dpm->is_edpm = 1; } } @@ -887,80 +887,67 @@ static inline void qelr_init_edpm_info(struct qelr_devctx *cxt, (opcode == QELR_IB_OPCODE_RDMA_WRITE_ONLY_WITH_IMMEDIATE)) static inline void qelr_edpm_set_msg_data(struct qelr_qp *qp, - struct qelr_edpm *edpm, + struct qelr_dpm *dpm, uint8_t opcode, uint16_t length, uint8_t se, uint8_t comp) { - uint32_t wqe_size = length + (QELR_IS_IMM(opcode)? sizeof(uint32_t) : 0); - uint32_t dpm_size = wqe_size + sizeof(struct db_roce_dpm_data); + uint32_t wqe_size, dpm_size; + wqe_size = length + (QELR_IS_IMM(opcode)? sizeof(uint32_t) : 0); + dpm_size = wqe_size + sizeof(struct db_roce_dpm_data); - if (!edpm->is_edpm) - return; - - SET_FIELD(edpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_SIZE, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_SIZE, (dpm_size + sizeof(uint64_t) - 1) / sizeof(uint64_t)); - SET_FIELD(edpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_DPM_TYPE, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_DPM_TYPE, DPM_ROCE); - SET_FIELD(edpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_OPCODE, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_OPCODE, opcode); - SET_FIELD(edpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_WQE_SIZE, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_WQE_SIZE, wqe_size); - SET_FIELD(edpm->msg.data.params.params, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_COMPLETION_FLG, comp ? 1 : 0); - SET_FIELD(edpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_S_FLG, + SET_FIELD(dpm->msg.data.params.params, DB_ROCE_DPM_PARAMS_S_FLG, se ? 1 : 0); } static inline void qelr_edpm_set_inv_imm(struct qelr_qp *qp, - struct qelr_edpm *edpm, - uint32_t inv_key_or_imm_data) + struct qelr_dpm *dpm, + uint32_t data) { - if (!edpm->is_edpm) - return; - - memcpy(&edpm->dpm_payload[edpm->dpm_payload_offset], - &inv_key_or_imm_data, sizeof(inv_key_or_imm_data)); + memcpy(&dpm->payload[dpm->payload_offset], &data, sizeof(data)); - edpm->dpm_payload_offset += sizeof(inv_key_or_imm_data); - edpm->dpm_payload_size += sizeof(inv_key_or_imm_data); + dpm->payload_offset += sizeof(data); + dpm->payload_size += sizeof(data); } static inline void qelr_edpm_set_rdma_ext(struct qelr_qp *qp, - struct qelr_edpm *edpm, + struct qelr_dpm *dpm, uint64_t remote_addr, uint32_t rkey) { - if (!edpm->is_edpm) - return; - - edpm->rdma_ext->remote_va = htobe64(remote_addr); - edpm->rdma_ext->remote_key = htobe32(rkey); - edpm->dpm_payload_offset += sizeof(*edpm->rdma_ext); - edpm->dpm_payload_size += sizeof(*edpm->rdma_ext); + dpm->rdma_ext->remote_va = htobe64(remote_addr); + dpm->rdma_ext->remote_key = htobe32(rkey); + dpm->payload_offset += sizeof(*dpm->rdma_ext); + dpm->payload_size += sizeof(*dpm->rdma_ext); } static inline void qelr_edpm_set_payload(struct qelr_qp *qp, - struct qelr_edpm *edpm, char *buf, + struct qelr_dpm *dpm, char *buf, uint32_t length) { - if (!edpm->is_edpm) - return; - - memcpy(&edpm->dpm_payload[edpm->dpm_payload_offset], buf, - length); + memcpy(&dpm->payload[dpm->payload_offset], buf, length); - edpm->dpm_payload_offset += length; + dpm->payload_offset += length; } static void qelr_prepare_sq_inline_data(struct qelr_qp *qp, - struct qelr_edpm *edpm, + struct qelr_dpm *dpm, int data_size, uint8_t *wqe_size, struct ibv_send_wr *wr, @@ -985,7 +972,8 @@ static void qelr_prepare_sq_inline_data(struct qelr_qp *qp, uint32_t len = wr->sg_list[i].length; void *src = (void *)(uintptr_t)wr->sg_list[i].addr; - qelr_edpm_set_payload(qp, edpm, src, wr->sg_list[i].length); + if (dpm->is_edpm) + qelr_edpm_set_payload(qp, dpm, src, len); while (len > 0) { uint32_t cur; @@ -1020,16 +1008,17 @@ static void qelr_prepare_sq_inline_data(struct qelr_qp *qp, if (seg_siz) swap_wqe_data64((uint64_t *)wqe); - if (edpm->is_edpm) { - edpm->dpm_payload_size += data_size; + if (dpm->is_edpm) { + dpm->payload_size += data_size; if (wr->opcode == IBV_WR_RDMA_WRITE || wr->opcode == IBV_WR_RDMA_WRITE_WITH_IMM) - edpm->rdma_ext->dma_length = htobe32(data_size); + dpm->rdma_ext->dma_length = htobe32(data_size); } } static void qelr_prepare_sq_sges(struct qelr_qp *qp, + struct qelr_dpm *dpm, uint8_t *wqe_size, struct ibv_send_wr *wr) { @@ -1048,7 +1037,7 @@ static void qelr_prepare_sq_sges(struct qelr_qp *qp, } static void qelr_prepare_sq_rdma_data(struct qelr_qp *qp, - struct qelr_edpm *edpm, + struct qelr_dpm *dpm, int data_size, struct rdma_sq_rdma_wqe_1st *rwqe, struct rdma_sq_rdma_wqe_2nd *rwqe2, @@ -1064,17 +1053,17 @@ static void qelr_prepare_sq_rdma_data(struct qelr_qp *qp, uint8_t flags = 0; SET_FIELD2(flags, RDMA_SQ_RDMA_WQE_1ST_INLINE_FLG, 1); - qelr_prepare_sq_inline_data(qp, edpm, data_size, + qelr_prepare_sq_inline_data(qp, dpm, data_size, &rwqe->wqe_size, wr, &rwqe->flags, flags); } else { - qelr_prepare_sq_sges(qp, &rwqe->wqe_size, wr); + qelr_prepare_sq_sges(qp, dpm, &rwqe->wqe_size, wr); } rwqe->length = htole32(data_size); } static void qelr_prepare_sq_send_data(struct qelr_qp *qp, - struct qelr_edpm *edpm, + struct qelr_dpm *dpm, int data_size, struct rdma_sq_send_wqe_1st *swqe, struct rdma_sq_send_wqe_2st *swqe2, @@ -1085,11 +1074,11 @@ static void qelr_prepare_sq_send_data(struct qelr_qp *qp, uint8_t flags = 0; SET_FIELD2(flags, RDMA_SQ_SEND_WQE_INLINE_FLG, 1); - qelr_prepare_sq_inline_data(qp, edpm, data_size, + qelr_prepare_sq_inline_data(qp, dpm, data_size, &swqe->wqe_size, wr, &swqe->flags, flags); } else { - qelr_prepare_sq_sges(qp, &swqe->wqe_size, wr); + qelr_prepare_sq_sges(qp, dpm, &swqe->wqe_size, wr); } swqe->length = htole32(data_size); @@ -1122,12 +1111,12 @@ static inline void doorbell_qp(struct qelr_qp *qp) mmio_flush_writes(); } -static inline void doorbell_edpm_qp(struct qelr_devctx *cxt, struct qelr_qp *qp, - struct qelr_edpm *edpm) +static inline void doorbell_dpm_qp(struct qelr_devctx *cxt, struct qelr_qp *qp, + struct qelr_dpm *dpm) { uint32_t offset = 0; uint64_t data; - uint64_t *dpm_payload = (uint64_t *)edpm->dpm_payload; + uint64_t *payload = (uint64_t *)dpm->payload; uint32_t num_dwords; int bytes = 0; void *db_addr; @@ -1135,20 +1124,20 @@ static inline void doorbell_edpm_qp(struct qelr_devctx *cxt, struct qelr_qp *qp, mmio_wc_start(); /* Write message header */ - edpm->msg.data.icid = qp->sq.db_data.data.icid; - edpm->msg.data.prod_val = qp->sq.db_data.data.value; + dpm->msg.data.icid = qp->sq.db_data.data.icid; + dpm->msg.data.prod_val = qp->sq.db_data.data.value; db_addr = qp->sq.edpm_db; - writeq(edpm->msg.raw, db_addr); + writeq(dpm->msg.raw, db_addr); /* Write mesage body */ bytes += sizeof(uint64_t); - num_dwords = (edpm->dpm_payload_size + sizeof(uint64_t) - 1) / + num_dwords = (dpm->payload_size + sizeof(uint64_t) - 1) / sizeof(uint64_t); - db_addr += sizeof(edpm->msg.data); + db_addr += sizeof(dpm->msg.data); while (offset < num_dwords) { - data = dpm_payload[offset]; + data = payload[offset]; writeq(data, db_addr); bytes += sizeof(uint64_t); @@ -1217,7 +1206,7 @@ static inline int qelr_can_post_send(struct qelr_devctx *cxt, static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, struct ibv_send_wr *wr, int data_size, - int *doorbell_required) + int *normal_db_required) { uint8_t se, comp, fence; struct rdma_sq_common_wqe *wqe; @@ -1228,11 +1217,11 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, struct rdma_sq_atomic_wqe_1st *awqe1; struct rdma_sq_atomic_wqe_2nd *awqe2; struct rdma_sq_atomic_wqe_3rd *awqe3; - struct qelr_edpm edpm; + struct qelr_dpm dpm; uint16_t db_val; int rc = 0; - qelr_init_edpm_info(cxt, qp, wr, &edpm, data_size); + qelr_init_dpm_info(cxt, qp, wr, &dpm, data_size); wqe = qelr_chain_produce(&qp->sq.chain); @@ -1259,11 +1248,14 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, swqe->wqe_size = 2; swqe2 = (struct rdma_sq_send_wqe_2st *)qelr_chain_produce(&qp->sq.chain); swqe->inv_key_or_imm_data = htobe32(htole32(wr->imm_data)); - qelr_edpm_set_inv_imm(qp, &edpm, wr->imm_data); - qelr_prepare_sq_send_data(qp, &edpm, data_size, swqe, swqe2, wr); - qelr_edpm_set_msg_data(qp, &edpm, - QELR_IB_OPCODE_SEND_ONLY_WITH_IMMEDIATE, - swqe->length, se, comp); + if (dpm.is_edpm) + qelr_edpm_set_inv_imm(qp, &dpm, wr->imm_data); + + qelr_prepare_sq_send_data(qp, &dpm, data_size, swqe, swqe2, wr); + if (dpm.is_edpm) + qelr_edpm_set_msg_data(qp, &dpm, + QELR_IB_OPCODE_SEND_ONLY_WITH_IMMEDIATE, + swqe->length, se, comp); qp->wqe_wr_id[qp->sq.prod].wqe_size = swqe->wqe_size; qp->prev_wqe_size = swqe->wqe_size; qp->wqe_wr_id[qp->sq.prod].bytes_len = swqe->length; @@ -1275,9 +1267,12 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, swqe->wqe_size = 2; swqe2 = (struct rdma_sq_send_wqe_2st *)qelr_chain_produce(&qp->sq.chain); - qelr_prepare_sq_send_data(qp, &edpm, data_size, swqe, swqe2, wr); - qelr_edpm_set_msg_data(qp, &edpm, QELR_IB_OPCODE_SEND_ONLY, - swqe->length, se, comp); + qelr_prepare_sq_send_data(qp, &dpm, data_size, swqe, swqe2, wr); + + if (dpm.is_edpm) + qelr_edpm_set_msg_data(qp, &dpm, + QELR_IB_OPCODE_SEND_ONLY, + swqe->length, se, comp); qp->wqe_wr_id[qp->sq.prod].wqe_size = swqe->wqe_size; qp->prev_wqe_size = swqe->wqe_size; qp->wqe_wr_id[qp->sq.prod].bytes_len = swqe->length; @@ -1289,15 +1284,19 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, rwqe->wqe_size = 2; rwqe->imm_data = htobe32(htole32(wr->imm_data)); - qelr_edpm_set_rdma_ext(qp, &edpm, wr->wr.rdma.remote_addr, - wr->wr.rdma.rkey); - qelr_edpm_set_inv_imm(qp, &edpm, wr->imm_data); rwqe2 = (struct rdma_sq_rdma_wqe_2nd *)qelr_chain_produce(&qp->sq.chain); - qelr_prepare_sq_rdma_data(qp, &edpm, data_size, rwqe, rwqe2, wr); - qelr_edpm_set_msg_data(qp, &edpm, - QELR_IB_OPCODE_RDMA_WRITE_ONLY_WITH_IMMEDIATE, - rwqe->length + sizeof(*edpm.rdma_ext), - se, comp); + if (dpm.is_edpm) { + qelr_edpm_set_rdma_ext(qp, &dpm, wr->wr.rdma.remote_addr, + wr->wr.rdma.rkey); + qelr_edpm_set_inv_imm(qp, &dpm, wr->imm_data); + } + + qelr_prepare_sq_rdma_data(qp, &dpm, data_size, rwqe, rwqe2, wr); + if (dpm.is_edpm) + qelr_edpm_set_msg_data(qp, &dpm, + QELR_IB_OPCODE_RDMA_WRITE_ONLY_WITH_IMMEDIATE, + rwqe->length + sizeof(*dpm.rdma_ext), + se, comp); qp->wqe_wr_id[qp->sq.prod].wqe_size = rwqe->wqe_size; qp->prev_wqe_size = rwqe->wqe_size; qp->wqe_wr_id[qp->sq.prod].bytes_len = rwqe->length; @@ -1308,14 +1307,19 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, rwqe = (struct rdma_sq_rdma_wqe_1st *)wqe; rwqe->wqe_size = 2; - qelr_edpm_set_rdma_ext(qp, &edpm, wr->wr.rdma.remote_addr, - wr->wr.rdma.rkey); rwqe2 = (struct rdma_sq_rdma_wqe_2nd *)qelr_chain_produce(&qp->sq.chain); - qelr_prepare_sq_rdma_data(qp, &edpm, data_size, rwqe, rwqe2, wr); - qelr_edpm_set_msg_data(qp, &edpm, - QELR_IB_OPCODE_RDMA_WRITE_ONLY, - rwqe->length + sizeof(*edpm.rdma_ext), - se, comp); + if (dpm.is_edpm) + qelr_edpm_set_rdma_ext(qp, &dpm, + wr->wr.rdma.remote_addr, + wr->wr.rdma.rkey); + + qelr_prepare_sq_rdma_data(qp, &dpm, data_size, rwqe, rwqe2, wr); + if (dpm.is_edpm) + qelr_edpm_set_msg_data(qp, &dpm, + QELR_IB_OPCODE_RDMA_WRITE_ONLY, + rwqe->length + + sizeof(*dpm.rdma_ext), + se, comp); qp->wqe_wr_id[qp->sq.prod].wqe_size = rwqe->wqe_size; qp->prev_wqe_size = rwqe->wqe_size; qp->wqe_wr_id[qp->sq.prod].bytes_len = rwqe->length; @@ -1327,7 +1331,7 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, rwqe->wqe_size = 2; rwqe2 = (struct rdma_sq_rdma_wqe_2nd *)qelr_chain_produce(&qp->sq.chain); - qelr_prepare_sq_rdma_data(qp, &edpm, data_size, rwqe, rwqe2, wr); + qelr_prepare_sq_rdma_data(qp, &dpm, data_size, rwqe, rwqe2, wr); qp->wqe_wr_id[qp->sq.prod].wqe_size = rwqe->wqe_size; qp->prev_wqe_size = rwqe->wqe_size; qp->wqe_wr_id[qp->sq.prod].bytes_len = rwqe->length; @@ -1353,7 +1357,7 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, TYPEPTR_ADDR_SET(awqe3, cmp_data, wr->wr.atomic.compare_add); } - qelr_prepare_sq_sges(qp, NULL, wr); + qelr_prepare_sq_sges(qp, &dpm, NULL, wr); qp->wqe_wr_id[qp->sq.prod].wqe_size = awqe1->wqe_size; qp->prev_wqe_size = awqe1->wqe_size; @@ -1384,11 +1388,11 @@ static int __qelr_post_send(struct qelr_devctx *cxt, struct qelr_qp *qp, db_val = le16toh(qp->sq.db_data.data.value) + 1; qp->sq.db_data.data.value = htole16(db_val); - if (edpm.is_edpm) { - doorbell_edpm_qp(cxt, qp, &edpm); - *doorbell_required = 0; + if (dpm.is_edpm) { + doorbell_dpm_qp(cxt, qp, &dpm); + *normal_db_required = 0; } else { - *doorbell_required = 1; + *normal_db_required = 1; } return 0;