From patchwork Sun Jul 2 07:29:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kalderon, Michal" X-Patchwork-Id: 9821059 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 67BCE6035F for ; Sun, 2 Jul 2017 07:31:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 52F932821F for ; Sun, 2 Jul 2017 07:31:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 44ACF28334; Sun, 2 Jul 2017 07:31:11 +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 417A42821F for ; Sun, 2 Jul 2017 07:31:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751816AbdGBHbI (ORCPT ); Sun, 2 Jul 2017 03:31:08 -0400 Received: from mail-sn1nam01on0072.outbound.protection.outlook.com ([104.47.32.72]:24882 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751635AbdGBHbG (ORCPT ); Sun, 2 Jul 2017 03:31:06 -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=qiiNOlzO/3PW3Bb9xLPi2dheKGRFRVrHrbgWz9VHLp4=; b=bReENLQwsqVP2ZiSDAM1lu6FCe5YmA2l4utsOjLKZMClzLj0tBGIcd5qda/xK0PuaG30ywzr1YUazC89a72+cXhBqH4TnjUbgfQMr41dFtA1Z7Ge3Ny3gGzyqXnBUPTbBO0i6EmVk38cJhpZn1XtHScv0sTj6/WtqTi1KPEU5Aw= Received: from BN6PR07CA0033.namprd07.prod.outlook.com (10.172.104.19) by CY1PR07MB1526.namprd07.prod.outlook.com (10.161.168.142) 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 07:31:04 +0000 Received: from BN1BFFO11FD020.protection.gbl (2a01:111:f400:7c10::1:115) by BN6PR07CA0033.outlook.office365.com (2603:10b6:404:a3::19) 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 07:31:03 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; 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 BN1BFFO11FD020.mail.protection.outlook.com (10.58.144.83) 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 07:31:03 +0000 Received: from lb-tlvb-michal.il.qlogic.com.com (10.185.6.89) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Sun, 2 Jul 2017 00:31:00 -0700 From: Michal Kalderon To: , , , , , , , CC: Michal Kalderon , Yuval Mintz , Ariel Elior Subject: [PATCH net-next 01/12] qed: Introduce iWARP personality Date: Sun, 2 Jul 2017 10:29:21 +0300 Message-ID: <1498980572-29519-2-git-send-email-Michal.Kalderon@cavium.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1498980572-29519-1-git-send-email-Michal.Kalderon@cavium.com> References: <1498980572-29519-1-git-send-email-Michal.Kalderon@cavium.com> 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)(39840400002)(39410400002)(39450400003)(39850400002)(39400400002)(2980300002)(428002)(189002)(199003)(9170700003)(2906002)(2201001)(86362001)(105586002)(101416001)(575784001)(54906002)(106466001)(76176999)(50986999)(189998001)(5003940100001)(305945005)(6666003)(2950100002)(47776003)(104016004)(4326008)(50226002)(107886003)(38730400002)(81166006)(8936002)(5660300001)(8676002)(72206003)(356003)(77096006)(626005)(36756003)(478600001)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB1526; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD020; 1:bYfzMcBFy7CK9PTvKHMgnrD2417aQHraj+0vqCOw4mosNq0Zrqp2lSNWeAzBXOyPLfxfWDBUJjysejuMdS0yr6Nolry17kLzeC5FSNU6GzLa5FAp96QZEPGkmt+p/AwFJF4NGC4q90weAdAPmlnqQoJMOTfrcuM9bv9rXGdHL7YoZZW61TspZC0jDocoM65RZz5N1C8a0kuoJg00DevaUqv11qgB1Th036iYqBRy7jl7KL9IHoh6OCNc2HWTGS6AbAtKNgSPPj8ohBoM9XBaopvYWiuqXPPFc+ut1g4vIbsQusZs1D8wH7Gbs+syUsdCdEVCbRgbzeIlKiFmMMrSFaAg8n8ct/q6nQoGg+aj+355S25h2DB1IWWwUDKfwUScAYOs6wX2TY+GEsqRrC/BnjWLO1nk2DINXd6JzVJhoYEDcwizc0O8x19Xd4Ng/v7H6ZXPGr5KyKmxvjZwEufqXDaX1V6baOIQ4cGRohvjDwf4wGQtwhw+lPCCBHbCqjg7Y8oYQeIujx4ymW5LpAm0+tPj3ALSb/8t3aCs/A+PRcLyHU4WNjSpf8raw2PehkajiyOPZ+RuZxHQMGL/k0AxjT4NOUtcBRVu2krTYDZw7+CH15sEydN1+y5LqYfb6OJIXK9bR3uYXqN/IUUAYmBgsxB5bwuDY5AGrXYBWnFFCQHtQu77Me83MqfwgD/t0hB752Pm+CqeC4JtML7Y9vFfDbmkC4MI3VEXAAA+fZjT6ppg4l4wGQUz24ycuPDKikm6wS7gmaY22p4Y6DyGy5mHxfrGnoL1MoBSUAO4/eVEhqM33nsOXIDHLYTN8Ep9zUI5UeLKvjkTOHX9v816fSM23uwmWqJAyGuliqPgrZb5OOs= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0508d68f-c23a-4ec6-84d4-08d4c11c4b71 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB1526; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 3:GnytlOyo19MClNa5E9eppErDFMnloBkVidzpN/RgLPTavan8uGNTmadbMmM5bJxE/w54a8k+rEBJ3AVBb7YxIUpeVxqq9jd0hTVPe9yHuthMIqhQTZY4/uXVpKGxr/KCUhsqavphDT4ZDo2AMvemLg7GQR1xsCiERapqgEUbGAt2GF3Sqfw45/dJBnVCbR2z4jHdYxnjrcWyTSfgnjTz3THA9XqmSM3f49EraY4ccrnkCg/CRghGCkR/5QThEmwE9UeUTCy2tSl6M4wuvwvqTiHA7/DsT8sw+XN7/tvtIa2ZoqeTqMDBKJfCSH0FobXCKKWgnzWy00GetU0+6pafBa/pqJDsGXuYMMm7Q0sN1b/xLGQtybWOFwILHKjCpqN4tfdxbRtnfQ2zADJTU4B5tclqmIR3tXpOGIdBUUq7hkVWXhzwtc7qoXD2yVei6yyWtyvNPhCA/AcumRC2RgsCi9zTeJkp16TL+31JwZfK9y8IbSGSKMKxlkH2fFRyKATgVGSw5d2ma15xZer2wwgWNFp4TyMNbeRLQPiHzmeTUg5VJNCI3l+rilm0BEOTVApZMiFVtqxI+dtHlCkNdhpfT8/iSOa/vBQVcx8vJBQihy/f9hYt98wg3JqlO0tFbhhn1Q4tpuAWJv40daBV42d5T4GCKXPWnQte6E8i12UNOYJxG7juMSK0JeFnce4w1VTQr8fLQghFAT1q5oPJfpXerHVdEh7aDeappTb6WYi5oa59MZ1ncqAlpjB7zpUSO8orVXZQR8Xy421fTkvgh1D1AtolC/EJREslHjG4jk1Qb6g2yynJfCNxGMF9aoljXk0dKoWQyN1OaCbsW0Hlcgq1AtTbH8yob6tVKLIcNauNa+IpPhnESDhq/bKJY1Irh2GEHgBPkEk+pohoqZRkl04W0RhB3XC9+i31EsWROmlrgT RbFl2xDgTC3JLuW1MyzTJP X-MS-TrafficTypeDiagnostic: CY1PR07MB1526: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 25:r1EqhMYz53iblBZTITX1LAvAvmf38L6edw1gpLxlJjAnB/c9qCvF4nTCHse08YKELBenYMQ4xLDUrmKAucHss5lZrLd8xhZ4FVWG809kfTYWESJHd65GjdibVmQCPU6JpwV6ll3j4SiRQsMnseZEC0J8h3HRqKIxtl7utc9ZnWBgNlUrBjred08WAjMPDGzu67J7udYge2vQrp6W+jTtRXQk0wl0HXLKlNwi12bEeywmSZhmNeXyziJu7chp96PU77SA5yoJWgtaQYcodlT/Z7E2C3bMy3KHvuXRepCwdnG2oggzwN4Xl7nmLHC2CNqj4/OY4HjqAdzAzw73LUbg7cc9LdyEbl1exQ59NRgpIIieq70TxP8nVqU+lrFTDyOVAsWEG6NwG261MbeAvtaCn3CYAJqUZttxWsjt+8Myb82yFgZyg50lwTQ6Y7RFS7iWLO8I+W3hd6y58D38JRiihYZEHfaF1yGMRdNA5XeY9UIhzhO28qaTwrS/oH/ety4907Np8Rpb+AFcnXgKKp1o0Z5KcFJCZBVNakIxOwfvaNrwUAkGsIYheDZK/gAxW2058PDe3MSSEGvbgdX8O6Dp3VTlThTwsH0rgAtzlcHVTpH+YJejBQiLtciMHMZzJagVt61HI9jIDEySJyjQlnV/CoSLdLro8oDjx9lWcFshm9N/cCa0XDprpC3ZSM0BD8/w/g8JD9cJ28HjdWHZAUpE7K8WZQ/pL/dL6cA2mkhiG3MAr7CVfL1l6tv5ErUaQRuRvSQvvJP8iQKPOaIAdE2YqGvCd5mdRBvI83x/yjpQcyCIb96bJyypD0q3gWswfZhlwKHQDvA1J2Hjcrd318MIiqJ+YK9kBdrSy6tWl2wx3ar7ZBWdg++YtE159IWWiyD5KoaiPXda5V6UzA0h5cP0LNyoDGxwA341oSgsD8t0L 6c= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 31:TdiSkyZu95dyUlMLkgDP+lykOJTdFzk11SfYzXbTOE1/kWUD7x/YtQwGUbs1dJ7FjomQGBTeCpndtvrmJJ63C5xmg2vKdXCcdqH5SbNGThKK5tkOnBaEj36MgZY7GDJeO7Fg7WOhHuhC7+EWcyZ0eVBgsdIfzE+yTsfAfZMemcuChbkBP5qw+UtCQn+3vNik2nprZquyJ/WH2OOU1civwnb1CkrQSGePgnk/N6oMPyqaY2ArCyi6sCfB3spy1jcMDyJnhJef03ELkrF1CD5tltLQcExRrmH/N4v6CGI7awNFXupqIJQPnRFjEXB4pdECwbuCAPgVyj93IoinA4GPIqCDUjKBk1N3p0cfcWc/cIZiYE+FSXNNbn5ajwyH1hB8Y88WS8BmjuW87LF7hMaNhtQBWNhCASPIfaj6NpDKyRNEaTK9EH0GdqnQHQE4Hwr72xhjjRCx+Yv/b7upQmit3h7oDg0gcujChVH4P+tLY1ncVjP/Iaw/hdjxkV2H8eYrBBjBKqXHPiO7vnDu57yCTDkZhLCtI9O+X2MQZJbmOBvnM1wZSVP7PzBlpS5S/eJtXqhnjlzJhgq0FxqEgJnj/GsDEP6c9Mqd0eKJ42k7JjYasgTKHZ/9u8BwI0be+Qtr4IuY9SrQzeZ8Eusb1R1VVvif4Yenhf/GtDYS4qPIVJsY3YTwyll+LqjdN6CdftPL X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 20:5Umx5AYWCSoreNGMQHmMhbIKki1gc1wReqLAnp/EsqntwHAEB7n5zwM41B0hpHzwQ4EL2XElEoYiVWiLftYamyTUL9NGNPhqVebEN7U7uNmLkluHExbK9hqz/A+h6wY9bh8MBhw4uDe9XMfjOcq+cwaefEbRZmnbGVY3SRvzCgCP3jL+BwcyrSI7t5nrp+9w5GKB5qiWxa3xXJ5588kjIPXAA5j+djMcVVXwf0Nshdzg6N3bAIRqhziq1rxXloxVPUY3HdITXjmEqhoAOB1SHsAoYM1KD8g4kCUm2zqVemlMMq7PNZnxHm9BJ0/bYTJfjXTcjpYsmOdM5oJQ2OG8EDQTJOj2WnH1m5g6z7DWtO+PF4rx+Ri9zov8C51RPQoAOgJ25a60QNozq/LaxjhLydzlCGcOZ14KqgYNX2yuSud0YTBtCZvbO2Ur2JfrijkMFTUD0n4LRv/e9qcVsHrlvhwFHoA2oA2ilJ2Gg0Pfijqy1SJ/9PKQCHr6H9BZAS0l X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(148574349560750); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123555025)(20161123562025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB1526; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB1526; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB1526; 4:sVD58qs2dtTMOyx+7a7YYri4bDS1nxT5Q+t8iegIqu?= =?us-ascii?Q?ce67BcFA8OyC7TTsK1+MqVRNEpi8KMSj2GyPm+5UvNE5YTwL56f1Ve/rueSO?= =?us-ascii?Q?MThburipQLfCatbKE+LSCg+adrU6CXztiCeP+ds0GadlpdAet6o9SN7U/bCU?= =?us-ascii?Q?eTPa8N+J2P7PEdoXG+3tNoKXyinzVSAZegd1tY8J4TSpl2jvIOzWW8Ow1cEt?= =?us-ascii?Q?L4Aq4EvxWGeGXUvufKkhdh9erNQUy0Agz/VgzOZ5tvIunu/ElT6zSJsVk0Mw?= =?us-ascii?Q?E7InpDtwktVlkfqXnEVJbMiLvkElvKfk0rMWs02RSgI2C3Ew8p8GeDTHNfnD?= =?us-ascii?Q?Ufz+epTTWPhusKbKpwtg7ZEDGnhHZTcdPV/4HxBx8XOFL9ktJVWvXjhTOtsB?= =?us-ascii?Q?E4YpjmiOs0FTZAfW+fc2u7MaEsO+timHsRdvL+yrs+0JnTbUj3RMZcOll+Ag?= =?us-ascii?Q?Z1CNayUz0OEsx9E9DUU/XjfSv6kf+ViYdarTBqN81TxOA/6J4ml91qzfSMqR?= =?us-ascii?Q?0WJa4jJj9zrj9SfdHnc6VZI9k0ljDTcQr6Uo3pobgxctlj3ukojW/l/FrP9p?= =?us-ascii?Q?6vGrJNcnloFxEZxqfW3Rf3OGCWuhq4MxEdEeZSXJmlBwaGqDGAviDHVVFoZd?= =?us-ascii?Q?JbHgJdZ7sYWDbRFb7QzlDSeBI/E79HoIH3eCEf2kii/epILAMd/F4iu0IDrf?= =?us-ascii?Q?v4Hp/ec+4tFCtW/NUW+c21DJL+PChJywv7t0JHGN977mfsO0m3xHj2KxgqgT?= =?us-ascii?Q?xL5fpNo4DddZciHpx+36nkMOJuiRmDq3EiVXQWnnAOqjcIUUWWLARmUT5X73?= =?us-ascii?Q?LPcsdAbxxHRmcED+aDTCZdMU7DkoQBxMUnTf3Ygmi2GKghN+0Rxm/xCLxm6x?= =?us-ascii?Q?2s4a8zmOEgPebNgvcnsoMMeq+higeGKh2f1JJfn+Tyr8CKOvKPZrJzBSi71B?= =?us-ascii?Q?XKhT1ohjep2PS/jJN+DxwUX14XyJ+3NobtwiVp5GQ5n3ZJl4vB5V/Dg1sG8m?= =?us-ascii?Q?JuA8GZqRsO0DMUlm6JglM4fJdOOaOY4X0RHjc4Kda46EW9S5DaI/8z0isMCE?= =?us-ascii?Q?ihxW/JmfIsxb0IbPX1PcwRBXBt+R6LckNrF31j6j42pr5TldYlAiA6l1r66r?= =?us-ascii?Q?Sw6xFSHldm3VtPh2zylvtxghSVoxUYb2f0FAISQnqhlHunA9LVjpakqP2Gxb?= =?us-ascii?Q?pXZY1yzdbK4EcFWMt+DIbDXHZB3UgujD4h6id1V+aAg3/wuhDAohBGVSZxfJ?= =?us-ascii?Q?cigKWwY1zF58ydQoMUghCUc8oWVbLayrXBqhu0DhnQ4QIZDCxQn4jj809T5g?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 03569407CC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB1526; 23:8oR7f69VIOnJCjC5p5d4fAJokty0JkXAO3JcZ36RO?= =?us-ascii?Q?+KP03ggxvHyLuLuzkzRlCQ2jNsRs87fttlkPrkOrccMD/Kgt2VL5nt6JOcn4?= =?us-ascii?Q?3fh1blsdoPW3kUhVy6Nacu1VsquhDVrnDwypuoK9FUKz1UR5Kqrq2LUx6+vE?= =?us-ascii?Q?5FDRUL9Vu8EkNLfAJ8fTVJvtsROBHMTyB7NEcoh+GlUs+8iix8FRg4gdnZW5?= =?us-ascii?Q?U9EPohQdalQfjMBUk4Xn9rVrjOxf9jNPuAdDYBf+1QcxoF8q6omj84mSsLCn?= =?us-ascii?Q?O7NEM1ts7IkKbWI7COejaskkyYGbZ5zovwbE78BjbhJBa8QcriaspwD2Axb9?= =?us-ascii?Q?xqt4qnmG8Lm7jUJfxELiRHQICWPWBUEfUPg9/X02h5+JPqD4dxfSwSynHXoG?= =?us-ascii?Q?BkXLm+uATaF3K9w/ipu9EdNy0MAVU75tH2rws1nO3STx2SZf+lIJF3IGdlhk?= =?us-ascii?Q?dSUW4g6MjDONw+Y5BTItrTDpqhkQsqTLHm4MTRCUna4RAkoDsvSRYXySSe8j?= =?us-ascii?Q?g6zz0FuVajsmTWuvE30pin4PL9nwa4GPqEZFCwJnAkBHKtdZt1xWzA7sOkCs?= =?us-ascii?Q?Yg7ZfDU/Yl4TKxiFz9bj67ot8qlDqHCSi+5NI32gBy/Yacxin2a1sxoqGijm?= =?us-ascii?Q?MMrHdLEKI7qEGrOOkoVrFLOaAv1PYv3BCr57Khnl+HxERXFfZQEznSe+ZsY+?= =?us-ascii?Q?WWn9JUYyH2cGTvCNQR7jzQwd3M6wfI5zm3dBC2QKsZBR94lMZgdbAYu10q3D?= =?us-ascii?Q?6Qlo39u15QOBu5W6FLMixXwf90RyPfnppBytrMWcXqgAieJGxeL+LR9IbYEi?= =?us-ascii?Q?k2BNU4w0LUjxuQFP4lQoqJI89nWvwh5Vq7V2sNPsdOrXv/NI6GTV1HBCnT5A?= =?us-ascii?Q?ZGsuorgN4HLIjkD6E99No9fb6Ouyw5EodXhXlPd6U5nUqD072225/lpJTUnO?= =?us-ascii?Q?fXk/LcB9CD/W5w84jWF7Rjfl48QB7f3zPqwFkPfY0RZzY3AVq18B67WxvOx6?= =?us-ascii?Q?0GcDkPdc1iisbvUVRgECmQlNqNueHtPS3dwNRekToNE7aKSceKsIAQs7TwBQ?= =?us-ascii?Q?gO/bJRackfdMks094qAo4PIi8mh?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB1526; 6:O49pB1CQ1EAs1tMfFRTphmdnfceDbb7MlIdwC4vybo?= =?us-ascii?Q?OsXmU/Y5S4cCtu1kHgY+xrn9QadjrKpiIoRjkNvgv0qGcGD+HgAS6LNVEy+m?= =?us-ascii?Q?j48sga7/Lc+qCK4EhuBWvgCzFVjS6vcQJqUOzWY9BDezwlgLYWeZ/VZTcp22?= =?us-ascii?Q?YlotbQqFRJfKwZqvD+qOxAJZJzHYSV9H4sVOmG1KLktBaDs3XohsMCiVyAF4?= =?us-ascii?Q?VxVilfVwYOakTl3imkc/2zrM1bHeBRJPxE1A2Ej6XwUon4FqM0Gd2VCdg+qC?= =?us-ascii?Q?8x1m43EgZ7v6K7skN/u/lvjxrNn5WqmiMoC35vqqqE5GLHnMI+HOyaIj84gw?= =?us-ascii?Q?we5k/UtWvkxjv4P8OZJaBsqXkvGlQUR/p1efn8Q8HwZBgGw/4GmUO7HpDkCW?= =?us-ascii?Q?UnMB7rWlymsaPZRMvtgYc8TBP7kakqL71U7AGfjq3K0uzMYczCduKSmyG7hm?= =?us-ascii?Q?ziv0W7uyw0+VTwbmqu6xjBIz5osbxB4nvbLbTrtcjkxOZwBTYfvx8rBsSlCB?= =?us-ascii?Q?GuxYK2NI5dhemBVQYk5F2uWWWj4VDrU9RI126X+AC71pcNLy4sDiauQzkuXR?= =?us-ascii?Q?osJ4oIHdNkaaza4TKKL9+SIAE84mmV98+WTeRtAaDnRGw0vWUtwh/RG3NWrp?= =?us-ascii?Q?7L72vS5T1PeuGCfkGUjjf4FCWShe+Y8n58HC9cinjvuTU5iQTo369IijS3JA?= =?us-ascii?Q?EKBZeopPrnjpECNbRrACNHKM0SgHmB4RLzwckqtDHYUTD38FYtKDjH7z7Zwc?= =?us-ascii?Q?Rq6NbrV+FttUsDUqbpz7ywVwEovpWxT8ickgLukpGXkdpLIsLZslTpUrEGpp?= =?us-ascii?Q?7qWi6mHYNmTynN7nsCu2t9ta8jgVKTPOje6yc3FGZSIUskslpX1x7curTGmP?= =?us-ascii?Q?whGuYieRGIVkHVdX+9CUHARJuEANYmeh7wBGmeUr3wlFiySa6Fok42BIffMC?= =?us-ascii?Q?UEzcllo5igJO6i/FDVfvq4OAzOhdV+jf9exSTtHj9+lnQ2X8l1DrXmywkrw7?= =?us-ascii?Q?k=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 5:AtUsLizf9iTlBNGcSX+7Lr7MwIKZxKo16G30alHcmjlbV0Ndx3z4xbjKfx8zlC9UH97UT8Erlzj6sZ2J/MOsnTdy/Ep450wsoLhLXsQBvueabQ7thSQDIwpd/2a1gWVkdzJqqEQ0fQk40sLSZgWQkKGu0XjB3E5VsAC9nTG+jAB4p5gJ+l4/kgWZKyc5Kv4gNk6DalEqjw9SXvCX3rnCm3VTPYMdaHX0mHpqCSGBX+BTWYN1djPR2No2KH/XEleRpnpuh54dMEY8s8AnBbzOp1FxFKQnRkPBPZFgdJXniakp1CWwzolY7YbjdKkkMnvxb8Cx8GjfHdpoQpJrt3bAC9y8meiuZo/dLRx7+LlUuJUVLqpzC9aku+YP1o2JOBZmIhfLK+1FuQXj1T5I+LOqfYB9dqTH273gk6FUGbaapwDPa5faYRRMViTz9X+fGdTFdqMbaEHKKCllx+4Pk2KdnbwaYx3jH8HJ8YNZR0S4UKf9FpxiL3N0LBGBYzY9c1iK; 24:FtOalhmJZHoWD+S5CnATU9dEJMbkuiA1+rJApyhRUSvoqJFGXX4bxh/Afde/GLBd0zCVa8/XpL8k9p0vTg081WCFSJI4kg/DmMhsTHGgNvU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1526; 7:YRf0YmsoqjQn785/u9BtF10ise1RqeA6OjVkrilGxOFxLYrgJLQlpXs3yrcVQt6krAPA5E4VPcN3gsf3AEQbQyi2kRdc9dVXaF5tTukg/8+2RCByY7AuriIh6DgXw+V7EBpBq330RGapCCUBoCED+qwLHRt03/s2gjpLJWKW1AbeRQhIt4+Kx912U7rMU6qZdU8O3aUsb+RyFdi1rsm4QHnuAbzaW0l1wpl/AD+mzg2ZZiLpIN1ISh08Ej8XDPKnKwMu5SbeXRHequFIi88CTfvYlaXDMPJs184nNY7QunyUBagrZw8MHWj5PNL5KBIL+fg1QJGWemqzmWe5Gd/boKCqi/t+8nS5yThWhtv60nm/RQY7pSejZjlRB6ShKIO5MX6NjAEaPVg5MEx9zAuOHlBTPorlbZBZOSdoez978CtyyjK1ssXbYIEheQoOCV7wVkpiUsYXQmdH+jUr5hH7STBAosY2wzYFiTedlxjckChKEBwywPBTWyRQb0Yhjd/jdmrgs4q/Oxn6MrunHmfDPxRC2C7OR9OOPoFegQiTgXiwJjiNvfqgMVJjLYjSrLh5lv6/d/50M2Sf3hIODTk6dBeGTjMkzxT77gxtpgoYqr/RkvPkR5j5leWverwIW6WEI2bEFUkyiVYlinvbFh/5yEZWMDfE5Y5468eApE6yBxjis1GCzAqEfVkLdrYhV4BbGoVj44BRF6pF9lMTzLNld9rXyl3cF9TYrZVMX1C1zDK7ntPEa4i98R2kli9PjIduMxHWGPRJvGH6rzeQYYFSjxEky0rNkaj+FC3DP/aU8+s= X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2017 07:31:03.1470 (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: CY1PR07MB1526 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 iWARP personality introduced the need for differentiating in several places in the code whether we are RoCE, iWARP or either. This leads to introducing new macros for querying the personality. Signed-off-by: Michal Kalderon Signed-off-by: Yuval Mintz Signed-off-by: Ariel Elior --- drivers/net/ethernet/qlogic/qed/qed.h | 26 +++++++++++++++++++++++--- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 8 ++++---- drivers/net/ethernet/qlogic/qed/qed_dev.c | 12 +++++------- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +-- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 2 +- drivers/net/ethernet/qlogic/qed/qed_main.c | 17 ++++++++--------- include/linux/qed/common_hsi.h | 2 +- 7 files changed, 43 insertions(+), 27 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed.h b/drivers/net/ethernet/qlogic/qed/qed.h index 14b08ee..22e1171 100644 --- a/drivers/net/ethernet/qlogic/qed/qed.h +++ b/drivers/net/ethernet/qlogic/qed/qed.h @@ -210,14 +210,16 @@ struct qed_tunn_update_params { /* The PCI personality is not quite synonymous to protocol ID: * 1. All personalities need CORE connections - * 2. The Ethernet personality may support also the RoCE protocol + * 2. The Ethernet personality may support also the RoCE/iWARP protocol */ enum qed_pci_personality { QED_PCI_ETH, QED_PCI_FCOE, QED_PCI_ISCSI, QED_PCI_ETH_ROCE, - QED_PCI_DEFAULT /* default in shmem */ + QED_PCI_ETH_IWARP, + QED_PCI_ETH_RDMA, + QED_PCI_DEFAULT, /* default in shmem */ }; /* All VFs are symmetric, all counters are PF + all VFs */ @@ -277,6 +279,7 @@ enum qed_dev_cap { QED_DEV_CAP_FCOE, QED_DEV_CAP_ISCSI, QED_DEV_CAP_ROCE, + QED_DEV_CAP_IWARP, }; enum qed_wol_support { @@ -286,7 +289,24 @@ enum qed_wol_support { struct qed_hw_info { /* PCI personality */ - enum qed_pci_personality personality; + enum qed_pci_personality personality; +#define QED_IS_RDMA_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_ETH_ROCE || \ + (dev)->hw_info.personality == QED_PCI_ETH_IWARP || \ + (dev)->hw_info.personality == QED_PCI_ETH_RDMA) +#define QED_IS_ROCE_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_ETH_ROCE || \ + (dev)->hw_info.personality == QED_PCI_ETH_RDMA) +#define QED_IS_IWARP_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_ETH_IWARP || \ + (dev)->hw_info.personality == QED_PCI_ETH_RDMA) +#define QED_IS_L2_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_ETH || \ + QED_IS_RDMA_PERSONALITY(dev)) +#define QED_IS_FCOE_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_FCOE) +#define QED_IS_ISCSI_PERSONALITY(dev) \ + ((dev)->hw_info.personality == QED_PCI_ISCSI) /* Resource Allocation scheme results */ u32 resc_start[QED_MAX_RESC]; diff --git a/drivers/net/ethernet/qlogic/qed/qed_cxt.c b/drivers/net/ethernet/qlogic/qed/qed_cxt.c index e201214..38716f7 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_cxt.c +++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.c @@ -853,7 +853,7 @@ u32 qed_cxt_cfg_ilt_compute_excess(struct qed_hwfn *p_hwfn, u32 used_lines) if (!excess_lines) return 0; - if (p_hwfn->hw_info.personality != QED_PCI_ETH_ROCE) + if (!QED_IS_RDMA_PERSONALITY(p_hwfn)) return 0; p_mngr = p_hwfn->p_cxt_mngr; @@ -1033,7 +1033,7 @@ static int qed_ilt_blk_alloc(struct qed_hwfn *p_hwfn, u32 lines, line, sz_left, lines_to_skip = 0; /* Special handling for RoCE that supports dynamic allocation */ - if ((p_hwfn->hw_info.personality == QED_PCI_ETH_ROCE) && + if (QED_IS_RDMA_PERSONALITY(p_hwfn) && ((ilt_client == ILT_CLI_CDUT) || ilt_client == ILT_CLI_TSDM)) return 0; @@ -1833,7 +1833,7 @@ static void qed_tm_init_pf(struct qed_hwfn *p_hwfn) tm_offset += tm_iids.pf_tids[i]; } - if (p_hwfn->hw_info.personality == QED_PCI_ETH_ROCE) + if (QED_IS_RDMA_PERSONALITY(p_hwfn)) active_seg_mask = 0; STORE_RT_REG(p_hwfn, TM_REG_PF_ENABLE_TASK_RT_OFFSET, active_seg_mask); @@ -2344,7 +2344,7 @@ int qed_cxt_get_tid_mem_info(struct qed_hwfn *p_hwfn, last_cid_allocated - 1); if (!p_hwfn->b_rdma_enabled_in_prs) { - /* Enable RoCE search */ + /* Enable RDMA search */ qed_wr(p_hwfn, p_ptt, p_hwfn->rdma_prs_search_reg, 1); p_hwfn->b_rdma_enabled_in_prs = true; } diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index 49667ad..68e6182 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -936,7 +936,7 @@ int qed_resc_alloc(struct qed_dev *cdev) /* EQ */ n_eqes = qed_chain_get_capacity(&p_hwfn->p_spq->chain); - if (p_hwfn->hw_info.personality == QED_PCI_ETH_ROCE) { + if (QED_IS_RDMA_PERSONALITY(p_hwfn)) { num_cons = qed_cxt_get_proto_cid_count(p_hwfn, PROTOCOLID_ROCE, NULL) * 2; @@ -2057,7 +2057,7 @@ static void qed_hw_set_feat(struct qed_hwfn *p_hwfn) qed_int_get_num_sbs(p_hwfn, &sb_cnt); if (IS_ENABLED(CONFIG_QED_RDMA) && - p_hwfn->hw_info.personality == QED_PCI_ETH_ROCE) { + QED_IS_RDMA_PERSONALITY(p_hwfn)) { /* Roce CNQ each requires: 1 status block + 1 CNQ. We divide * the status blocks equally between L2 / RoCE but with * consideration as to how many l2 queues / cnqs we have. @@ -2068,9 +2068,7 @@ static void qed_hw_set_feat(struct qed_hwfn *p_hwfn) non_l2_sbs = feat_num[QED_RDMA_CNQ]; } - - if (p_hwfn->hw_info.personality == QED_PCI_ETH_ROCE || - p_hwfn->hw_info.personality == QED_PCI_ETH) { + if (QED_IS_L2_PERSONALITY(p_hwfn)) { /* Start by allocating VF queues, then PF's */ feat_num[QED_VF_L2_QUE] = min_t(u32, RESC_NUM(p_hwfn, QED_L2_QUEUE), @@ -2083,12 +2081,12 @@ static void qed_hw_set_feat(struct qed_hwfn *p_hwfn) QED_VF_L2_QUE)); } - if (p_hwfn->hw_info.personality == QED_PCI_FCOE) + if (QED_IS_FCOE_PERSONALITY(p_hwfn)) feat_num[QED_FCOE_CQ] = min_t(u32, sb_cnt.cnt, RESC_NUM(p_hwfn, QED_CMDQS_CQS)); - if (p_hwfn->hw_info.personality == QED_PCI_ISCSI) + if (QED_IS_ISCSI_PERSONALITY(p_hwfn)) feat_num[QED_ISCSI_CQ] = min_t(u32, sb_cnt.cnt, RESC_NUM(p_hwfn, QED_CMDQS_CQS)); diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index e57699b..27ea54b 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -79,8 +79,7 @@ int qed_l2_alloc(struct qed_hwfn *p_hwfn) unsigned long **pp_qids; u32 i; - if (p_hwfn->hw_info.personality != QED_PCI_ETH && - p_hwfn->hw_info.personality != QED_PCI_ETH_ROCE) + if (!QED_IS_L2_PERSONALITY(p_hwfn)) return 0; p_l2_info = kzalloc(sizeof(*p_l2_info), GFP_KERNEL); diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c index 17f9b0a..be66f19 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c @@ -1421,7 +1421,7 @@ int qed_ll2_establish_connection(void *cxt, u8 connection_handle) if (rc) goto out; - if (p_hwfn->hw_info.personality != QED_PCI_ETH_ROCE) + if (!QED_IS_RDMA_PERSONALITY(p_hwfn)) qed_wr(p_hwfn, p_ptt, PRS_REG_USE_LIGHT_L2, 1); qed_ll2_establish_connection_ooo(p_hwfn, p_ll2_conn); diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index 16cc30b..b113996 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -237,6 +237,8 @@ static int qed_init_pci(struct qed_dev *cdev, struct pci_dev *pdev) int qed_fill_dev_info(struct qed_dev *cdev, struct qed_dev_info *dev_info) { + struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); + struct qed_hw_info *hw_info = &p_hwfn->hw_info; struct qed_tunnel_info *tun = &cdev->tunnel; struct qed_ptt *ptt; @@ -260,11 +262,10 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->pci_mem_start = cdev->pci_params.mem_start; dev_info->pci_mem_end = cdev->pci_params.mem_end; dev_info->pci_irq = cdev->pci_params.irq; - dev_info->rdma_supported = (cdev->hwfns[0].hw_info.personality == - QED_PCI_ETH_ROCE); + dev_info->rdma_supported = QED_IS_RDMA_PERSONALITY(p_hwfn); dev_info->is_mf_default = IS_MF_DEFAULT(&cdev->hwfns[0]); dev_info->dev_type = cdev->type; - ether_addr_copy(dev_info->hw_mac, cdev->hwfns[0].hw_info.hw_mac_addr); + ether_addr_copy(dev_info->hw_mac, hw_info->hw_mac_addr); if (IS_PF(cdev)) { dev_info->fw_major = FW_MAJOR_VERSION; @@ -274,8 +275,7 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->mf_mode = cdev->mf_mode; dev_info->tx_switching = true; - if (QED_LEADING_HWFN(cdev)->hw_info.b_wol_support == - QED_WOL_SUPPORT_PME) + if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) dev_info->wol_support = true; dev_info->abs_pf_id = QED_LEADING_HWFN(cdev)->abs_pf_id; @@ -304,7 +304,7 @@ int qed_fill_dev_info(struct qed_dev *cdev, &dev_info->mfw_rev, NULL); } - dev_info->mtu = QED_LEADING_HWFN(cdev)->hw_info.mtu; + dev_info->mtu = hw_info->mtu; return 0; } @@ -790,7 +790,7 @@ static int qed_slowpath_setup_int(struct qed_dev *cdev, cdev->num_hwfns; if (!IS_ENABLED(CONFIG_QED_RDMA) || - QED_LEADING_HWFN(cdev)->hw_info.personality != QED_PCI_ETH_ROCE) + !QED_IS_RDMA_PERSONALITY(QED_LEADING_HWFN(cdev))) return 0; for_each_hwfn(cdev, i) @@ -931,8 +931,7 @@ static void qed_update_pf_params(struct qed_dev *cdev, /* In case we might support RDMA, don't allow qede to be greedy * with the L2 contexts. Allow for 64 queues [rx, tx, xdp] per hwfn. */ - if (QED_LEADING_HWFN(cdev)->hw_info.personality == - QED_PCI_ETH_ROCE) { + if (QED_IS_RDMA_PERSONALITY(QED_LEADING_HWFN(cdev))) { u16 *num_cons; num_cons = ¶ms->eth_pf_params.num_cons; diff --git a/include/linux/qed/common_hsi.h b/include/linux/qed/common_hsi.h index a567cbf..885ae13 100644 --- a/include/linux/qed/common_hsi.h +++ b/include/linux/qed/common_hsi.h @@ -778,7 +778,7 @@ enum protocol_type { PROTOCOLID_ROCE, PROTOCOLID_CORE, PROTOCOLID_ETH, - PROTOCOLID_RESERVED4, + PROTOCOLID_IWARP, PROTOCOLID_RESERVED5, PROTOCOLID_PREROCE, PROTOCOLID_COMMON,