From patchwork Sat Sep 23 00:35:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 817750 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="HXn+ZDiB"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xzWbT1zWHz9sPr for ; Sat, 23 Sep 2017 10:35:33 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752071AbdIWAfY (ORCPT ); Fri, 22 Sep 2017 20:35:24 -0400 Received: from mail-cys01nam02on0067.outbound.protection.outlook.com ([104.47.37.67]:12638 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751845AbdIWAfX (ORCPT ); Fri, 22 Sep 2017 20:35:23 -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=NQra/39Q9X+3g4JKP7EOlIJ6UnhCivLm/pi+Ws6kTxk=; b=HXn+ZDiBCvExvOip+z2HBskuhbLe0eHImZVMG+EzatM2lNO/HzMmbXCoh024HggqfSJ+6P5GKXANPeaVZaD9PyRLnnCbtiw32HOt17kG4hEV3TgA1cILB7r+lNoYVGBcdRy5NihrgJOjSQZq6tQCgcZl4GPidECmHLwtyitgeI4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by DM5PR07MB3178.namprd07.prod.outlook.com (10.172.85.140) 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:35:20 +0000 Date: Fri, 22 Sep 2017 17:35:18 -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, manish.awasthi@cavium.com, veerasenareddy.burru@cavium.com Subject: [PATCH net-next] liquidio: pass date and time info to NIC firmware Message-ID: <20170923003518.GA1583@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: MWHPR13CA0029.namprd13.prod.outlook.com (10.173.117.143) To DM5PR07MB3178.namprd07.prod.outlook.com (10.172.85.140) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cf552d8a-ffd7-4a10-16f0-08d5021af8ec X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3178; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3178; 3:gZhc6SlADkemnpXWPr5yZb9meg7eqKJalvjK4xTdaf2QAWkvOan6NbomiyfNQaHPQL3JdmDQZuPV+qusQx6AHAurTOxiAfABujw8/bBrYImSlsp5xNj2CGyfweaH2up/wIyRbrfZASBz3Tqtzzd/BoG1V2HPPb7OAzQF1Cx7KCXDKwYw/oTkwR5uYQ4cujVzshT0UUmGu8VA8NaydCjeH94Otq/NKFPsoc+0rs3X4qYrPOn2dq9/S9L3jYMTgXID; 25:bdDr1hCREQi6+VtFCWHqDzWDX7YlbyjiNfSXHf8BklolkJ7+sL8CsJ/LXFNrfldg8sEfNn7cLn0TBbnQeHwttSlxVmNWCGYyE/UvpZh+OVA65moMyosBfoeGgxQXJ0WFcAokRZ4KpewNxEKeTHxM6SYdRbDua08rAeaaSR7Jv/1mqGu3BSighNNt3Gkzvtr/Sg09j5F+xtwBOptOfWdDrYse9Z/1SS05c1nf29fjiGWaSIR8NmdisBwmSkXkr7zXUuJYyLYkPkKLnwLDtQ1ngGGIpFEtymgLCoqXNVnt70Ahu7Kf55SRCJP/9b6akVkYBGYH/hQL46Lxx//bk//GWg==; 31:tqzUgTol5EQW8zM3xLG3FqGkoIhkKG+HtzNMwnKcff8N62+1DD1NGkRXTk/zvSQiJlDppIQav1dVCanFADCiuGpkbJwlvEophwctTBRi1NVQM5lgf+vIPsvGQ2Ppn6UH0m9AbBHS72Pcf0NU0Qp8sxp1PMC4lfIuQL90KwpgrCwg6Omh28iieXi22I79iJRgsycl2UooraChTEUNGmIapVolOBkfPY7FYE5ANMemKlw= X-MS-TrafficTypeDiagnostic: DM5PR07MB3178: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3178; 20:mnbLePP5GMW3TDxTZsTgf3LA6Avn2XTHIDVT5rmVNoS/P2dumBjnjQlzaOEDUYoPgUPg28Xqir5uabLIVgOMR+KQ1QJmLPpd2SiQ2450VPD8ZNTrgN2v9siAlNM1loiWgNNs0v8j86K9FWwIo4cGDprPBeVvQCIy/JVrxDVK8HGS7vpl6Jek8Wca/vhYdnNOKClFAcqtB9oseh7kj+sTOzAdmnKlYKLBlcg8eoFo/+bIBV5GMBfp2oWS6ZSFZQhr+zRNzsP5V6fNekYVk5hGPhZnSFLCIAGpjr7xZlVC4yFLbT5isGpwvOfFqUB+2V1bLw8kPNQBH4MOCpAumdpg+sRVNXH56iGJYrQonheFhC7yJxAhQ94gr/x8ztieN1EVC42WC2eiRMh3h1dr3rrpglHscqkY2ieAB/0b53JihWslyEjzhij6caCxlqDR1/M4cD+arS/85QvhDH+zQfojW+AVDc7TpvZUnfwmv2PSD3xC6E0iTyaoAKtXV2G82jm6; 4:OGQ5s+VopV1KDEvVAQ4pOps2jxXR3+WhGtLaP0ttcQrIbjlrw0SGTotit2VuaMC90qnwSdmN9rVDA1exBiNuPqJ9Qa1aDEfeVz2mhxUpLwgOg3u79o7HA2/OtRwg6GZunIcJGDUTZ1uAmGfuj2aeMUfmqTdzWM8poiB40FLn1zsyoeHncoNC9Wh3291j4Rtld8qH4JwsO/rtJr78q0wkiNgxGgMDe71YFRzIYBBJFzva9i8xmQxIeCDYgqcmP4vE 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)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3178; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3178; X-Forefront-PRVS: 0439571D1D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(376002)(346002)(189002)(199003)(33656002)(53936002)(8936002)(101416001)(2906002)(106356001)(25786009)(6486002)(68736007)(6116002)(2361001)(54356999)(107886003)(6496005)(81166006)(4326008)(189998001)(5660300001)(105586002)(2351001)(1076002)(23726003)(6916009)(50466002)(3846002)(81156014)(66066001)(478600001)(305945005)(86362001)(72206003)(50986999)(7736002)(97736004)(16586007)(316002)(47776003)(16526017)(8676002)(83506001)(58126008)(76506005)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3178; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3178; 23:VYNAy6yA4sQd8S6fr/Z/uDh9wZA4y+KI5yW0bnJSHLi75J7ZkbbAKYpoCnPmqej0fjQVhow3s2K9xHzasgPh+N5goZ+fTomkcd2m0oiUF0tWWq8+lA6z7JvB1A3+D/2jF1D3TnvLB4GtxyBXe/EmiWjmSkgqhck0+kv8kqhtFPnDr7HYhLwC8/0VCU+KdVAr6uNhEDf5HkMH1D28Vd411K8t8WCLgRX6V0pFm4rQSRJCP28USBw5uzvizxbvpWj+x89rKd3dmSc88ta7r3TsgWtAFz5WdkiUzEkQPG8FVR60gtNIanvbQwMSSk5IUGEUTu/3+UnFgktOtK9IXYX2zCQqlWQqEWEI4xD+98PMvDcrJpnDROEdcBjZkQbqmb9FXmEadAd4Xrzr0f4TmH2QRLrDKagUGum5hTcCMUlIUfaQU6AvpQhIgUzOLzDLsJUSOro2351JTX1+QXeXy7kExfwDLYkeBYhThbGH8s2kEWLhxrVxtcyMPPNjpZT+XICb6FRjZk9xVKqknC/zd8TwOLKtpE5FvdSauD+xSwbI/qUNBHuFc4+uvvjzgU6/2oH5A2oFyZpugGyCKICnyXDE0EYoiscIgnRUCU/0TQ82iNu0d1DvEvPz72ge0lJ49yZBaurWiulsqWDsR9QjIz75Q6DxiqXlEI6yaeIgvSlAtIQDUXhF1BIeekXcB2B9Ql9ajE13+AClZTOSht7us2flYsnxB2h1+haovHaIyDeGUedBPGkZWAuYKydXBtP1U0+IvfX95C12dDn06y3fjIDVSvbPYRu92H8UNz8tnbkkATlGhGg6bXGftyX46YYeOekEXYEkvmdwpTEbF/UWKbp4FWRu7dFxzPxO4IbAMn+bva4eJW3Sd5S2ZfIEeCkJLAbgGatKEmRMpTdqE5MvZ9UXuauZBhnbzeGVQwVtqOw0yicNrVa8cbs8IOYSZl61CdXvfY9t+GzpBxI2zMB7IjU1uXKLkIUeYHdW6y036wpTtbOD5TV9NM/HppSAOMng8Nt+cucZ6qYFCJtUiwdsqBcid0f7Z8A3Rou2l1ifeuGllC1YznOVm5tqhXdqsumhfwcVK9S6vxG1XX0SJtFPX1skgNJq3XOxh5L4bm+rwaq3qLvOI9CCVKKvSW/xZVHlISFO X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3178; 6:brAR+8zP2rnV0XYkcgZQCllJzmAslxSx2+9hZZZkO6EfMa4wZayqvKtPiWeR6QfYfLMfcw8iXndtpgisgrDBjNwDBFymfz5Y26/2msieuYVcu7Kh8Tz0M8V6IAqGeFJVW847dlrN/KYOeDgMiL9ohmEbqaMmGxe7xurRmUT9wFupIfHLDCy7NYsaUMFWzhlQvv35we1Efad7nx5eEagyNnfAdoTHsmwF2DoX80PfnNZbBnfu/FpkvFuZxjPnda0N5QVYpSvjUfwkcDslHT9zsYphbEPnyC+ev4JOt8MK/NpVk7yFg2sM4KybPGLRwqfkZKzGoMR/5CmpNp7fb3oMOQ==; 5:bHy+Gac0qPMWzq0kE3P8R4zlCQrMqGH4QFEzZ3WPZMujOYw7pMbI4sGUP58bBA0YpSLynCSf98g0tFHg5hGVjTIZYNDy0/scyOLe8d/CofSHIAif5s9udB4I8bkBncahldpXmWLX5X9DhoueInM3lQ==; 24:4PEWYdYzIycMAQWH5IohVIEZKN0sz5YgJtxufi7mXNH53yn/2eVuET80dfi9jXJycINI+Da+mWn9Al+8WLCR87x+th0zg13wd/IyAC3uWQo=; 7:RhBPKwOFgQ9rVW0W5rFEg7UHjA+oxU92VPRH5w5fW0Phm0H057W97yycGemLyYfgQtOU9Vc3xHMopz8iRCZ5dWePnzj7CERqmASzW/DEm9lLEiJHs8MbXIhY+JGy7rtMGkf1XJIOi+Qz31r5kc39Rqx1rIuAWYNcBVd/CDVPk+uqYQ+TPeXwEhhVeASoYf74/XRjZxzpUuLLRRzFIKnaZa2LTjuIkbHFyR9mSCD3lvE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2017 00:35:20.9701 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3178 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Veerasenareddy Burru Signed-off-by: Veerasenareddy Burru Signed-off-by: Manish Awasthi Signed-off-by: Felix Manlunas --- .../net/ethernet/cavium/liquidio/octeon_console.c | 28 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_console.c b/drivers/net/ethernet/cavium/liquidio/octeon_console.c index ec3dd69..eda799b 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_console.c +++ b/drivers/net/ethernet/cavium/liquidio/octeon_console.c @@ -803,15 +803,19 @@ static int octeon_console_read(struct octeon_device *oct, u32 console_num, } #define FBUF_SIZE (4 * 1024 * 1024) +#define MAX_DATE_SIZE 30 int octeon_download_firmware(struct octeon_device *oct, const u8 *data, size_t size) { - int ret = 0; + struct octeon_firmware_file_header *h; + char date[MAX_DATE_SIZE]; + struct timeval time; u32 crc32_result; + struct tm tm_val; u64 load_addr; u32 image_len; - struct octeon_firmware_file_header *h; + int ret = 0; u32 i, rem; if (size < sizeof(struct octeon_firmware_file_header)) { @@ -890,11 +894,29 @@ int octeon_download_firmware(struct octeon_device *oct, const u8 *data, load_addr += size; } } + + /* Get time of the day */ + do_gettimeofday(&time); + time_to_tm(time.tv_sec, (-sys_tz.tz_minuteswest) * 60, &tm_val); + ret = snprintf(date, MAX_DATE_SIZE, + " date=%04ld.%02d.%02d-%02d:%02d:%02d", + tm_val.tm_year + 1900, tm_val.tm_mon + 1, tm_val.tm_mday, + tm_val.tm_hour, tm_val.tm_min, tm_val.tm_sec); + if ((sizeof(h->bootcmd) - strnlen(h->bootcmd, sizeof(h->bootcmd))) < + ret) { + dev_err(&oct->pci_dev->dev, "Boot command buffer too small\n"); + return -EINVAL; + } + strncat(h->bootcmd, date, + sizeof(h->bootcmd) - strnlen(h->bootcmd, sizeof(h->bootcmd))); + dev_info(&oct->pci_dev->dev, "Writing boot command: %s\n", h->bootcmd); /* Invoke the bootcmd */ ret = octeon_console_send_cmd(oct, h->bootcmd, 50); + if (ret) + dev_info(&oct->pci_dev->dev, "Boot command send failed\n"); - return 0; + return ret; }