From patchwork Wed Apr 25 18:23:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 904655 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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; dmarc=none (p=none dis=none) header.from=cavium.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="GbMei193"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40WT9K1JrKz9s0v for ; Thu, 26 Apr 2018 04:23:49 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756355AbeDYSXq (ORCPT ); Wed, 25 Apr 2018 14:23:46 -0400 Received: from mail-sn1nam02on0079.outbound.protection.outlook.com ([104.47.36.79]:50720 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756156AbeDYSXj (ORCPT ); Wed, 25 Apr 2018 14:23:39 -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=kK808acg7t8MLOlBadqLFwO4zK4U5PgpLGCFMYFVi5A=; b=GbMei193Rpc5DHQq/4imDeWAsJtmDT7eJL5Lh+NzlaMAFsDMmnc/N+YboIZXKmhYCkiumm1zEUlG4qc7E5R9BQKhM9UnI+6Ijo/JyGv86BjiMvtRtSg/OT1nK+a2ae0S3CjJJytm+At3zTJxIiVcg1IiwNbj3GE+GICLHStwVz4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by BN7PR07MB4211.namprd07.prod.outlook.com (2603:10b6:406:b2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.696.13; Wed, 25 Apr 2018 18:23:38 +0000 Date: Wed, 25 Apr 2018 11:23:33 -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, felix.manlunas@cavium.com, intiyaz.basha@cavium.com Subject: [PATCH net-next 1/6] liquidio: Moved common function if_cfg_callback to lio_core.c Message-ID: <20180425182333.GA13856@felix-thinkpad.cavium.com> References: <20180425182301.GA13840@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180425182301.GA13840@felix-thinkpad.cavium.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: CO1PR15CA0070.namprd15.prod.outlook.com (2603:10b6:101:20::14) To BN7PR07MB4211.namprd07.prod.outlook.com (2603:10b6:406:b2::15) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN7PR07MB4211; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4211; 3:vCyd6aqGncWTkFrTQBEgmgF3vx9nH3aX/DgAGmRhlbBFcx1tEmOaXsDkqIUrL+7G9viD6rqO2zyEIecJoIW3NfpLlzkM2DLwL+LIvZrtljUwT83aC1s8FdeBUzyc1SPM/Zngdffbi8Q4rVyAANr4StsyKICoGYsX5UPMoEnJCmF1DT82V45qGOUeelDbeZgVH7+koboMqym493qVJHst8gEWGMWM8nvDi/SFfQr8RVnSPdTv5CG0gyWwQCjeOauf; 25:XhbSJUceim3Qg6HcbQ0tIzCr9GkWOgPr70wTNQoOmUTGR9C/CD7jK57DbPepJTvmrD5EL7drDd04SUQMBcge1lL/rOSAN1CWyPUT1HMWdqq+x2DPVfj76WeISJJqIkcaNg1yxcnSQLxTzmIoRE6hCF+Apn9aNzhtYO8jmJqf4OSzC41xUS2Ouurlqyv/pG8xNyvVo4rWCLW3ILH8H4nnb1c042lULw7pC2gNmnfTASGOh4hWPn1VNK5KQcxJohdk/rYWtsPtM7lDgtipd/jlfy0JuNhS3CyfWeQLwsLRpfC+9jsOpbHGKlzPlQlz12LfClBhwSJ1KMr+KeHDiCZ/bA==; 31:2EAcBRDUWogeHNN8htns1dKIYQ4EvlARqza3VRg4bhNNl85vKaPHTdmCXVnNKVC0NbbsfScdbY2r62TBD57obLqeHtQtJSlgXFcQjsCRiBwx8cCw4UiO/e+istrEfSIHoYUovF8hgcQGJOU0D9fGd9BnDHMyFAeTBjjAna7ieSqDrmo9TJbaX33H78wYvoTBZNNk0v8spdjcPe67KktURC50czNyBsVWaieFask2Aic= X-MS-TrafficTypeDiagnostic: BN7PR07MB4211: X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4211; 20:uM6c4j8ndUG2Qyt8686YwfwcSFmTZL83RtWGq4XV4hKCtmxhwE1xwaHwdgv3WiRYFt69+39Vd6Ba04Koy5kO/4QIq7/Ta9QI3wcXZRbFE/F3WX528RZp8WgG7bJcASzuR1GhYOhiAb7xd5x6qsCrxgJUIGIfsoDCFATNwI3RK/msFRHk4pG6kclP8qu12LsowCBh1NoFVQx8x/hVrQeYdnmXdwIS+24pxWDpsrh4nq6w5lDBaH9ay+HWQ4vQ0ZW50xWUeq8yWtD2o9y7OGY/4KLsel/kqRXLQs2KoATbrZnbsfjLyybr49RHQbi2vGiFx5Dg/XFEr49IfZnwt0iOO0OdX+NZzg5GJdQ9mWDZvcx4ts8MuhXT80F+FkBsXerrLmyucWhAgmdQIQtAQxIlUMU/r2NSlfFZwZpePgrJk4Z6IaCzJDQFiyWq5sDZRjqxodUctQaPjDIg0416yE/pqRWXofHp3rMkRBk+UpRcczQEucALccsNnoMYx9fCHc45; 4:3/uv3yC9/QsSb3xdnPpdG5ech+P77MC60uRgJl0WsVd17+hl4hL5DAeqQtt62SNZOiBXBy150d2Mwe2XkFxE60KlJo5Wow+8Ixi76FymmaknNA4m71QYZ4+F09SJbC0ms1lkdaMvp8jcvOGEVr72gn00dOinhk0JWgsSQt6Vko0Ah1kyTqNvVBHSlgifGT1zEoRzTuWxxJS5woi3vT3XWVDZqS0r1IA6cT7DutgwpoGITBTL4HIgz0/k1IvFGpZdQhvZGKE+NTqidLoEl/VMXQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231232)(944501410)(52105095)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:BN7PR07MB4211; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4211; X-Forefront-PRVS: 06530126A4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(376002)(366004)(346002)(396003)(39380400002)(39860400002)(189003)(199004)(478600001)(72206003)(33656002)(8936002)(2906002)(81166006)(8676002)(7736002)(97736004)(105586002)(76506005)(81156014)(2351001)(68736007)(2361001)(5660300001)(11346002)(6116002)(6916009)(1076002)(3846002)(6666003)(25786009)(23726003)(53936002)(47776003)(186003)(305945005)(4326008)(66066001)(107886003)(50466002)(26005)(486006)(44832011)(386003)(58126008)(476003)(16526019)(16586007)(86362001)(59450400001)(106356001)(446003)(6496006)(76176011)(956004)(52116002)(6486002)(316002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4211; H:localhost; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4211; 23:CnwLIno/f5CywWQ4gBab5yrA2bteX2v+8PaPe7Y7LwNHdeI7/ei7fZB605g+H1Jxo0tsGy2+Zq/BtYH9WUah1AvQsdR4zuUR5IkPdYoZelkO8Dp0QMcrckWm+WSR82WzeBTv2ZCPNfoebPnmv4yVk1BJWS3ixuwvq67vkQQMiSY+hnvGx14JajKSxKf9RIDHNSgmX/4JbAnvo/UhWwkwJWiXcei8s3gFMyAxrlAkUPBpjb7QGkmU+mPBr2yTmQJZ6dXMAcuvpvTyLlBRb+TD3nlo9/4Iue8w7lSfBtyhLPPmCnn9wz+cFR8O7dUq6KqRMNpmbN5eLazrYTl+BAukJTRSUAK7WEcX7okE2dhp1Lyq749KB5Uvc0InmzZdXoi7qROumsoc/LMRkZJIYr+EHn/+AcW9EWBx2odQm2JSJDeWLWBWN9Nerr8/lbxp04n8es7BE/TBmCVNEy+yFnZMu7zGaaH1WQo3qRSo+hg6MtmT9ggcUka1ifjd99glvXDujwQYJS3PsCCb3M5OJA8JZ+voRvYMe4hm/NLdvP1dhnPvD4VSMNTjgwQgtEWT4UWnb2+l94QOrF3xslAps+t5ai2ODaMH9fh8KuwsZ/iT7hbamNM46teGUYTZPbHkYZRXpCoosQaa7r+gPZXq0kJ0jooKUBX5mxfiADrgny+r2jJwdu88HGle8NhxPQcQqw13/CjQ9W+KchVWn2Sp3hekVKAzVNxnHQHCM303n7uJKb+tUysYaxDkv0JSmBDAMF27IcA9gQ8B3typwSZZsHlahmrNvQ6jt+pQINtjnxejNaI1/jTUGQH9RgCpe5cW/hiImgoZC2N608atnVgHV0XR9z2ZyyshqW3e8OkHwj+95mEZGTdJHEVHRgmMz8xtECDrwWZJuax8PAG4uYKdUMfo00nh5VTV6ajfcuathrOF/dylgIW/bMkpJn6PKOkT412l9rzZaHAa9XNZ8iQV1F0P/bOJC4Xme0gUTrIVET7ns9oh5/jQsInWbcbrVoFI1G2AaPKhIGSwAl1L3pZ4IU91KddR1z+tKimDBzbFfmqD7JG7afgyy+8bZBRZiWToJWICgx2haA6ul/LaL0RRft74TIrGwnuBhGb4TNqOHItXkO5JfLki5nFD4ZDWH/ZMb4WiojcSQWciLvqLLuBblWmHxZbLRzeLZMRjKKoWEJTeSOKnqQ1YCHAMNTSx7H7sL+y9xdG1tI9YFXKuNKBkoJVSroCPZu/7zSL9p60dAV/GbiIavKRgYcYnIN6AJDiOLbg4QtM9I7DsQ9FxkolmvJoRM+l0F5QoHouQ4zjIgZCfa4mFs/ktno+mHLLsyHlKuQDw X-Microsoft-Antispam-Message-Info: Wim+TrsOAuet3ewaKw6sIJLay7cxcVI5vPkYYBu8VeKqA4XwU+Jl4PZpyVngug9We94EG6NUybxspQcOymXqkAHSPfjGT/2O9pRSGkMk1GfRUH9SMEbzbBo/w2ML2RWxgMDHIhXKaOFTqtrtsqy60p7POJbwmlFykjOm9x5e2Bcg2GqvYUYe0u+FfytSy+e8 X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4211; 6:qCnuHchAoT2SzfOvyv2TJyvMHzwr3wDddtScdPRwOYzb0lGrPqkP4WvuKiPABDUH30ts0YD4+4YaerTNjGmOi7DLHFV5topz0gewg6IoFSih8KjYQ8fd22ZQpjmtaAnFG6LgEjTrvIdzuzZHu28k7c5BUJ8t4lNY6UNzbRLXA5aSdJ/slLxvwI94aRKQaH56JkAt2brDfTFiJakEGGYaNtpjiy9Awt64jOGvFbejARE1V+OefEWgTv8M9ctV1ysSr3mMgw4vheHqkq8RhVgGy007AGpJHaGI3Dx0X/xReiFJwJ7W3+H7FwG1m8yENvMJzWqzzqZuCDxReix3xvdwsNRxb7Kn13XGmWEw8mSXoa9BGYwk9cAHspyisEwQ1NzFjbq25/SvoBT8Uf7/cVlDmToiVvbsSUBxTMtHChyqJar6cHZvtqQPAEZZVRq9dzPDGKkrVatLWgL7obhElTC6lA==; 5:GXoFs+xk8cFewphL+Bzz6WDidLz8KAjD6N2xwDRQ5w71L0JqC3y6qVVErQ7cW2TH9corFvWR462jVZjhf207+yhM8378AOt9XhbfB2OM6joUSgW+69d8tyNwYZyWuIaJgpAvaOCnlbcjszBh6VldqKdOtXdtvPiiOGgY/7xCYg0=; 24:FdQBHViscpoZzrtkNK0oDMGk4dOOAnTFFqi6sOgiN8qdZKzDJzniDFwpQL9g0hGf2MtIQoczC4aA29gMUDm9zVKGs7bmWA/NsxaH2FaMohg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4211; 7:7i6Y2MBEfh/HL2pS2S+JHHyjES60FLCDhnDkEevCzyTrS6vGbyeFiEQDMDUNs0IzREVLjZGH3L9z5WF87GEfVnNYYlOrCxNi/+NvQvhuBnbm2o3yyiZE5Tn0aG1RY8bjNJvr9tfX99ahDOoEAiM6wSmzsm7V6aZhltqU58JuIRy2hFneomJz03iHeOMl1Sjan6KfBH/e2w17KktLiQ3dEGXm+JuQaX/Qmb9F/1r8BjZD5SRuxfty8hVZvCQzNiJO X-MS-Office365-Filtering-Correlation-Id: 9bb48568-ade7-4deb-c43b-08d5aad9aa3a X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2018 18:23:38.1052 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9bb48568-ade7-4deb-c43b-08d5aad9aa3a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR07MB4211 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Intiyaz Basha Moved common function if_cfg_callback to lio_core.c and renamed it to lio_if_cfg_callback. Signed-off-by: Intiyaz Basha Acked-by: Derek Chickles Signed-off-by: Felix Manlunas --- drivers/net/ethernet/cavium/liquidio/lio_core.c | 32 ++++++++++++++++++++ drivers/net/ethernet/cavium/liquidio/lio_main.c | 35 +--------------------- drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 34 +-------------------- .../net/ethernet/cavium/liquidio/octeon_network.h | 4 +++ 4 files changed, 38 insertions(+), 67 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_core.c b/drivers/net/ethernet/cavium/liquidio/lio_core.c index 2a94eee..66fc375 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_core.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_core.c @@ -29,6 +29,38 @@ /* OOM task polling interval */ #define LIO_OOM_POLL_INTERVAL_MS 250 +/** + * \brief Callback for getting interface configuration + * @param status status of request + * @param buf pointer to resp structure + */ +void lio_if_cfg_callback(struct octeon_device *oct, + u32 status __attribute__((unused)), void *buf) +{ + struct octeon_soft_command *sc = (struct octeon_soft_command *)buf; + struct liquidio_if_cfg_context *ctx; + struct liquidio_if_cfg_resp *resp; + + resp = (struct liquidio_if_cfg_resp *)sc->virtrptr; + ctx = (struct liquidio_if_cfg_context *)sc->ctxptr; + + oct = lio_get_device(ctx->octeon_id); + if (resp->status) + dev_err(&oct->pci_dev->dev, "nic if cfg instruction failed. Status: %llx\n", + CVM_CAST64(resp->status)); + WRITE_ONCE(ctx->cond, 1); + + snprintf(oct->fw_info.liquidio_firmware_version, 32, "%s", + resp->cfg_info.liquidio_firmware_version); + + /* This barrier is required to be sure that the response has been + * written fully before waking up the handler + */ + wmb(); + + wake_up_interruptible(&ctx->wc); +} + int liquidio_set_feature(struct net_device *netdev, int cmd, u16 param1) { struct lio *lio = GET_LIO(netdev); diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index f3891ae..e78b3d8 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -1942,39 +1942,6 @@ static int load_firmware(struct octeon_device *oct) } /** - * \brief Callback for getting interface configuration - * @param status status of request - * @param buf pointer to resp structure - */ -static void if_cfg_callback(struct octeon_device *oct, - u32 status __attribute__((unused)), - void *buf) -{ - struct octeon_soft_command *sc = (struct octeon_soft_command *)buf; - struct liquidio_if_cfg_resp *resp; - struct liquidio_if_cfg_context *ctx; - - resp = (struct liquidio_if_cfg_resp *)sc->virtrptr; - ctx = (struct liquidio_if_cfg_context *)sc->ctxptr; - - oct = lio_get_device(ctx->octeon_id); - if (resp->status) - dev_err(&oct->pci_dev->dev, "nic if cfg instruction failed. Status: 0x%llx (0x%08x)\n", - CVM_CAST64(resp->status), status); - WRITE_ONCE(ctx->cond, 1); - - snprintf(oct->fw_info.liquidio_firmware_version, 32, "%s", - resp->cfg_info.liquidio_firmware_version); - - /* This barrier is required to be sure that the response has been - * written fully before waking up the handler - */ - wmb(); - - wake_up_interruptible(&ctx->wc); -} - -/** * \brief Poll routine for checking transmit queue status * @param work work_struct data structure */ @@ -3556,7 +3523,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) OPCODE_NIC_IF_CFG, 0, if_cfg.u64, 0); - sc->callback = if_cfg_callback; + sc->callback = lio_if_cfg_callback; sc->callback_arg = sc; sc->wait_time = 3000; diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c index f92dfa4..83d8bf6 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c @@ -1059,38 +1059,6 @@ static void free_netsgbuf_with_resp(void *buf) } /** - * \brief Callback for getting interface configuration - * @param status status of request - * @param buf pointer to resp structure - */ -static void if_cfg_callback(struct octeon_device *oct, - u32 status __attribute__((unused)), void *buf) -{ - struct octeon_soft_command *sc = (struct octeon_soft_command *)buf; - struct liquidio_if_cfg_context *ctx; - struct liquidio_if_cfg_resp *resp; - - resp = (struct liquidio_if_cfg_resp *)sc->virtrptr; - ctx = (struct liquidio_if_cfg_context *)sc->ctxptr; - - oct = lio_get_device(ctx->octeon_id); - if (resp->status) - dev_err(&oct->pci_dev->dev, "nic if cfg instruction failed. Status: %llx\n", - CVM_CAST64(resp->status)); - WRITE_ONCE(ctx->cond, 1); - - snprintf(oct->fw_info.liquidio_firmware_version, 32, "%s", - resp->cfg_info.liquidio_firmware_version); - - /* This barrier is required to be sure that the response has been - * written fully before waking up the handler - */ - wmb(); - - wake_up_interruptible(&ctx->wc); -} - -/** * \brief Net device open for LiquidIO * @param netdev network device */ @@ -2156,7 +2124,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) OPCODE_NIC_IF_CFG, 0, if_cfg.u64, 0); - sc->callback = if_cfg_callback; + sc->callback = lio_if_cfg_callback; sc->callback_arg = sc; sc->wait_time = 5000; diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_network.h b/drivers/net/ethernet/cavium/liquidio/octeon_network.h index 4069710..ad5195c 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_network.h +++ b/drivers/net/ethernet/cavium/liquidio/octeon_network.h @@ -197,6 +197,10 @@ int lio_wait_for_clean_oq(struct octeon_device *oct); */ void liquidio_set_ethtool_ops(struct net_device *netdev); +void lio_if_cfg_callback(struct octeon_device *oct, + u32 status __attribute__((unused)), + void *buf); + /** * \brief Net device change_mtu * @param netdev network device