From patchwork Sat Sep 23 00:12:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 817742 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="A5bfqd59"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xzW5q72xmz9sNw for ; Sat, 23 Sep 2017 10:13:19 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752183AbdIWAM4 (ORCPT ); Fri, 22 Sep 2017 20:12:56 -0400 Received: from mail-sn1nam01on0087.outbound.protection.outlook.com ([104.47.32.87]:5728 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751845AbdIWAMw (ORCPT ); Fri, 22 Sep 2017 20:12:52 -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=/ZJ4E4nb/XqtQVBxyQRL4Vw21YsIiiXkWgAmjQC4oA8=; b=A5bfqd593JF4shjQV05ovAT6QkMKedDOSn3hONa7u1cYZWAvhXSxPIjO1/GZT+cPm0QgjmFrxaDyH2x8QE3U6lnZTzwSSliHHW2HRlzUvvKKxEEVsZVbyv/XEcY8oCPl/BMSP2/YLq38gD/Co5B2z9apVoSVteuDTrMEcJKK3hE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by BN6PR07MB3169.namprd07.prod.outlook.com (10.172.105.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Sat, 23 Sep 2017 00:12:50 +0000 Date: Fri, 22 Sep 2017 17:12:47 -0700 From: Felix Manlunas To: davem@davemloft.net Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com, derek.chickles@cavium.com, satananda.burla@cavium.com, ricardo.farrington@cavium.com Subject: [PATCH net-next 2/3] liquidio: verify firmware version when auto-loaded from flash. Message-ID: <20170923001247.GA1496@felix-thinkpad.cavium.com> References: <20170923001206.GA1458@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20170923001206.GA1458@felix-thinkpad.cavium.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: MWHPR22CA0037.namprd22.prod.outlook.com (10.168.250.151) To BN6PR07MB3169.namprd07.prod.outlook.com (10.172.105.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 63ad1d24-87f8-49b9-e38e-08d50217d423 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BN6PR07MB3169; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3169; 3:yIaPWdW5KejnB4dr/pPW6DAXSuheIWwDQe3/8UzNFFWcbvvqC4f8WMffJlTfarCI+po+67yv4smGCd0bty6Qfp88kOAJ33vd4ncGlbbDw6R+NrqCvw9EIZXWofwLarBhf/lNwmvTllSI7qcenICo7CQMx81lWYii0T1ZrhTYX8xF8jeaneYc6rv5C6rymHx4ZN6raWx3+YBLuwaD/GUQ/mn3/W9gcIKK/9s8DJ2ZShElBDfF3TNPrwENEgb/Y8PH; 25:rpqJUSIb2yF9JnEjj1VX/8vsX2mLjsP4iHr4JFVs98AC/j7f88Gl1yV6h0Nmxn0tGvg2aVoKnbN6jPaWrkSyJvrpUvmKZydjg/ueB8KzPTNZtn7+mG8zsNRW+OIJjBJryNPLT0AbLZPHS0UizQO2hI8+xqLyn+sXBZ0PfnQhmuBEhjxGULRdNJ+B7v2uiyFxIvD3OKhXdoCov9W+DK6tmoxx2LWnTUaejJd4fMKgX+cHdJYAq5BKhmgyTc6K5Hqiw+ZizQAND8txWjDa4TZOQXSxGvq9T2CEr56ziVssc7HYzJaJVtUTT38jI7sOBCQyDptLVSF8YmICc+suJOT23w==; 31:RZ2aWKLQ44govJtYSYeOpS0z996hjsViERsapoZSUNLF7Pa9sXROM5LCHsW1s51dZCSRTSCdfrYsRjBvYqNOA8u0U9SDfvslnoW8NP/zYLM0NLFQj9CZ4y4ti1g61kjQ/UEhIMLZNpceuzIz7QBYV0029km9akFmyMmlpnA+it3K4o8o63Ry5u4E3SZHt6j0QJ8ny7shJb0NAv6v5cngc+mOKPf3/MD0F+aBu6MjrLY= X-MS-TrafficTypeDiagnostic: BN6PR07MB3169: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3169; 20:H0vsnq5D9n6+o+/zOkMRpXi8II5/NNkSOm0kQepl1fZ4j3XbbrdgvnwgA9K5ngdwsVeJ71MCj3+NEKoya3Qs+AQ0pq5elASVaMO+1ZLE15vod3I4Y5HmLr+Bvl0jexgdDL/O6B6orbtif/X9m5OBVn6itoJNLf201uxWZtDdpQtbUO1YIcFb7RJqSC7CoJi+x/PjDWfJedQTEW1KP3+X/MVJngYjAJkE0Al2gmH92V/wX/vbpktSf1w63jZxEdom2h9dHzyRaEIBJjSKgk2K+KGFja17AgndrWk+UAMZze/wIWwsWjQSdMKqcwBawHmwt/YP93DocbIIvzf1whhyKqvqAqh7+GTNIT+6FzpbiXCpmnp6OpUpy21c2ehguXCb/dZX/5y8sAZcXQC0b/0haHBL9JT8FyF1na1rv6zZLT10B1e3Bhn1gCYdYQwUoLWmaS2dGfHwt10JO4hHAORZQDYr79m3mlyMs4Ce0lelUMMNcx1dD7Zgye1450U0Vu3q; 4:wybjGT7OTcPF3TSaOdrQbrjJA1jWECINGuPgoGaM7fX/1kjJ8JOfex8A0SAHaZkfO+sgfzXMFEwfjPGJrg44MfQ90kZ7fakRdYjIsyZpq7Swxb0j5BARMzpBpSmnaGNtr15OAGc4jbb7m3dwdbMIgU2Y1W+1+p0V6B1oj5dHHsT9fB9MQwcFFz2vco71cN+EmBtqrBk1hQp7s04dU5BzxuuCupyu0SYCCg04Qo3540/9j42k4UjQwnfOo8Ua8jTB X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6041248)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3169; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3169; X-Forefront-PRVS: 0439571D1D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(346002)(376002)(199003)(189002)(189998001)(16526017)(15650500001)(316002)(66066001)(2361001)(2351001)(2950100002)(6916009)(72206003)(76176999)(83506001)(25786009)(54356999)(97736004)(6666003)(6486002)(47776003)(101416001)(50986999)(106356001)(478600001)(2906002)(5660300001)(1076002)(81166006)(58126008)(105586002)(6116002)(4326008)(8936002)(76506005)(33656002)(8676002)(3846002)(68736007)(6496005)(50466002)(23726003)(107886003)(305945005)(53936002)(7736002)(86362001)(81156014)(16586007)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3169; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3169; 23:w6M9xTMlznLEl+RgfW4GaJiO+iiGl8LG4Wd1h9MoNffnn97kyKwjGfrJadwNeM3tc+la6yIAxrrcC/c70a5o0boReGbQ8MG9F5f2wl8lrYevo7yShsXRJNyjmZFB/2PdA1PXcEVCadYbn4she2Yo7o922ZZp8SxZ6eVQZpbgvm3HaduM3mmEz58+xhz+Ubn4sfip1N3zHWP/HSMoDk24sJWJ20Zw5zaHbtg2ZfaamIF2157JJ02yNGEgf33xoGy0OtzGfktIlt4K0hGJN+Z1siv/1+xE+Ul0iCTzi3CgKfLXPmhvuGVYXkrQ1hx11KAHkW/r0xHqbLdtbnOtVH0tEE5s/7cti6g+26Vs5nvgJHUrlwjlRcs3CwMAvClW51a2zdLtdkfh7nTup7z5KE+fn98CbiXTZCC8z7fIqJZFulLTzNAGg19JW8yk/9QdYI9ZMSCw3MQ2QuWdMKirHLYlvQSpm5XG0MZ8rdQ6j/Bf1ckMtPplg3dRt8RwUSf0Ro1E7H0a/ARQU7Pp7jO9IhxSNPP7QTSqojNjbX8IeNzL8dh8cnECNmdaXju6+FIOBGtrBWiEufuFbLD7cUtCEn89J9lFR0zF+SbbLuVD0vo66c00y9237OJQsz+he08fowHQ51KgxwoGx7ScVbHLp3ri0y7KAk5/91cQcjjDYZLaw9LKzMO/ql+VR5Y5Ic/HN947AdbXKNv/vqPGDQpa7oChLDqJWblYq+hU2GoebG4DHqOCgTVgK0rWWvJCx8biyn7tH2j9eZYsYXWLKZT2VfBHaCY5HsM5m1BYdz/1DmDX6kzomoy2TUG6It3odA5Xw+epZvEGsxXhx9Gup5h9gQgM8VGMtu0gvZ/nGDN1xfQyao/RZfKWnqqLthHj4Ky4GcVyNRi+MyniDA1QoO6trNk+1n+2z3afCTC/f9ILOLtWJmBDihJh5qXFRWAU4Be9a9M7A9c2lkObLX1bAhGm1snoP1Q6rFlClYuz8qBDDfNIsgfz+9cLNDKBer4xuyhdr4rDkSJGQ8zbDkPojiAbeIdz2/+SRx39bq8ck+64tHT+4xvf8jUVDVauC2IkpVA+kA2IHvNrIXOSxc+ZfaXmUID+V4PdgFaQyGvQdo4L62OD+z2TqQ8hpxM0EG6H9QGGmtfsYK3ytvX36TS2IkLl3h3maIvhV52uSCia3FWAd0VnMZVMGC/Ij0vy3nRomI8GCLD2MV5J7711Pc5NaCQLlTlzCQ== X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3169; 6:p3a5/tnVs1cfd3g1TbWRS/ttiMoVXvHXSlSJnrN1DtB6YNRXq6kNKU4b6Ei3p/xZMIX/eFWFiTTMPuc0qhxvrZ7N75F+yfyvX0YC0JzrQqR2K4a8FKfkIgCFbfg5KkxlO2E788yNL1dYRq+55s7wT9CKuX0JL6v2qh41CfAmBr0Md3CXo9EhHMV2yAD355T52K+XZcTMqbKaZlWuaP4FZOVgYrWlz8lH9rE6dCTewMd4ldIiBlb2sjxLnBDd+/UXAgb53dJdG9xWrMA5K+VBG9rUsr8EG1I/KIolgzt7A/olZiQvUnfT6qlbUfJ7rr37RTY5i1e+gr9UReoTs77o2w==; 5:ZD8qSndXRq8Llm4IwPr6dnah/WgdcdnSDE/66NrJcHF4pdhDuMu29VlLZ48AR0ghaYat03lmhsTrS1M3bnTrWyqhVQaEI158fSfG1/6n1teQ670Y6zQm3vxtm1H/94fFjCEqHr8RwaGQFlIzKhSNtg==; 24:K91OJmbPjucP4Z8rD/7WaB5QWHuTpHzr57ZnP6lpBIMI+wMVqYYepk8VwPlh2Mzo9t1RrnY9UpDZmBwOjKNB/QnjuLeAuhT96cficxlm7VY=; 7:F34RJh9/+nEw2rU43o0mXldXUSUGctzdQB9u6aQtDkdDCfNArXhW4q1f6FGSRnbkBL+BdMRlWWXIym6jkk5DbdcCuycngZ/Tu2JPsGYmZg60NAZBucXJuCJ2NRbANaygWVNWWe5YbvROSmwiOSJQjg+SqubgvmqDUvx35udqe7DT9aS8fHlKpU1WZy+aeMaBonG8j9IkJEeecBgJE1KzuJy4bdGw4GY36Sy3o3/pJI0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2017 00:12:50.7699 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3169 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Rick Farrington Signed-off-by: Rick Farrington Signed-off-by: Felix Manlunas --- drivers/net/ethernet/cavium/liquidio/lio_main.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index ce08f71..a3c9867 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -3303,7 +3303,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) { struct lio *lio = NULL; struct net_device *netdev; - u8 mac[6], i, j; + u8 mac[6], i, j, *fw_ver; struct octeon_soft_command *sc; struct liquidio_if_cfg_context *ctx; struct liquidio_if_cfg_resp *resp; @@ -3414,6 +3414,22 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) goto setup_nic_dev_fail; } + /* Verify f/w version (in case of 'auto' loading from flash) */ + fw_ver = octeon_dev->fw_info.liquidio_firmware_version; + if (memcmp(LIQUIDIO_BASE_VERSION, + fw_ver, + strlen(LIQUIDIO_BASE_VERSION))) { + dev_err(&octeon_dev->pci_dev->dev, + "Unmatched firmware version. Expected %s.x, got %s.\n", + LIQUIDIO_BASE_VERSION, fw_ver); + goto setup_nic_dev_fail; + } else if (atomic_read(octeon_dev->adapter_fw_state) == + FW_IS_PRELOADED) { + dev_info(&octeon_dev->pci_dev->dev, + "Using auto-loaded firmware version %s.\n", + fw_ver); + } + octeon_swap_8B_data((u64 *)(&resp->cfg_info), (sizeof(struct liquidio_if_cfg_info)) >> 3);