From patchwork Sat Apr 28 06:32:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 906047 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="Z8eSrbf2"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40Y1Fh1sZXz9s06 for ; Sat, 28 Apr 2018 16:32:56 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933408AbeD1Gct (ORCPT ); Sat, 28 Apr 2018 02:32:49 -0400 Received: from mail-cys01nam02on0074.outbound.protection.outlook.com ([104.47.37.74]:52672 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932841AbeD1Gcr (ORCPT ); Sat, 28 Apr 2018 02:32:47 -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=Z8eSrbf2LNbslltngItkGl4Oh2jvaswcTwc/icB5UziqSFzfSt6PVVS1Ab/8WQ7zFjeLpw4eUzMQU9CGdUJ7YOWNjVkaNQxCvLgIBEHhRvx44ckfXgCSY85/vZwonX70JlP2YzLywM/yFVTz5bJLmDyB+woSaeY2Kz7qDsBsc8A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by BN7PR07MB4210.namprd07.prod.outlook.com (2603:10b6:406:b2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.715.18; Sat, 28 Apr 2018 06:32:44 +0000 Date: Fri, 27 Apr 2018 23:32:39 -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 V2 net-next 1/6] liquidio: Moved common function if_cfg_callback to lio_core.c Message-ID: <20180428063239.GA3247@felix-thinkpad.cavium.com> References: <20180428063204.GA3229@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180428063204.GA3229@felix-thinkpad.cavium.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: CO1PR15CA0110.namprd15.prod.outlook.com (2603:10b6:101:21::30) To BN7PR07MB4210.namprd07.prod.outlook.com (2603:10b6:406:b2::12) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN7PR07MB4210; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4210; 3:MRol3B1yN3g+kRxHoD9w2HPtgnF7nVbMb8saQWLl6FvwgsHwm29NqCWsp0pqrgau9WH6ygwa7eO+7GN90wSgyxvEWYz7PJlDIRyqsbpEJ/v/H6isMQ6rbOjLqrRUzUulQU86qoxP1UhI4m8t4z+enSrrsG6PK3K+ezt/jp1nhm2djPUf+KM63GiGzM9Dwz+sLYqzwtPiQPP7TOt0woyBnNSwaJiEF+c6U3p9e8B7WeMS51m0AcXQ3p99Oqt0sfaE; 25:6VhlPhcpPdHaeO/v2LBnsgGfZbP98dIxk5vpz0KiTlKaBPyOyjxRwCiwUdhX8lBFMM5btFltWKSWZcd84wR4tvjgmURx3YUp4uGhR29jNNE53JrFgCrwniKBTuciC7269/1AGexoQ99IOu+oufW+5UdwN5i6WzoVCDwPGpJomWGkQRRYgPmKtl/YBAzMa9kXHTdcWe47aWV0h2pml7e2G3qt/HM5qc5oT/yENs9VHg2M43URUi+ToeKTyzZF107xa/9WaubRtPwvpDVqCW+Ag7k3sfNzNB8o2Vm3GTUV/wAwFZbb/kOw/tZFXD6S4NWiMrspAz02SMFbwT6ysFFEng==; 31:AKyTCus5Oyah5rqGJCrV60WcBlkkWQ+FM7bRkah8xyga3rLoS7DCKGp2ZiLaC2I46zfprv/0Dyb+HaiTo+4lC+6xo+hS9vSpUihmkhaoXKtNn2h/p2z/RDawnF91OqoyXTL6VAB2c9VI/uAC/PFA/g+dmV+ZhoicMOnlDyNieF5NIQn4nkNWB/8XL5LVLdEMeJUtfOg6MxWtb33JyLVIsYD6NfuDvAlCa83lBtBv8rc= X-MS-TrafficTypeDiagnostic: BN7PR07MB4210: X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4210; 20:/TKeGXZiICOnKY8aoY6BG4OWfFUVhDbiOERARRAlANCUGvNPekz+BIe7JkkOg3Z3ejTLUL9LpmziNtLbZtXHWNQONMD1Q92fvUtx8TP6kbUTXm59XJ7fBycI1SZrrL6/vjyjJRylhfDu6ozwjnnEKZ8jTx+nkMKrvjAoGmXL1Z4/tL8XaBCKClUQmQoiRyPmRm71+dsae+JVDbRSo/E24arN8LTMgFLkYgWm3IRh+TXcsTseyCzo94WR0m0D6WiRQPOl4fiF9sXwK/bs6YDWjokV2g3zd0czAAOpv2MOMUUbgSfe6rDy6ZL9lxhl6uIRzS1/GLtOzTX5mWtBw27D1R7y7i0eJOyICV/FDYX7IIPTjO0M9L1Fmp/3a6IMmxuf/j3IKArPxVe/6RCcE4jsgK23LBEYapxs6WTnY1Y8ALPQ78k3ZUdGjPTW6HhniobgiRfynLk7CVPvx904ciGm2m/pQNb8skMwPxASzacSmSWxBitMUbAZ8MG1lz5uYkNw; 4:LRs9nHH38jPWPNr19gxCIllEqIYd+sK2VUZ/Zvu5YICXpqaMgptpGrNIqbf6mRA5e28bfVO6eP2I0zYGx4YJ8Rjnmm/LZ4EUnYO67rrEJTYOkXA8cXAeKiKQdkkhJ/oAgsaYksb9/llPXhQZBcMdZA4NZ/9718zAPYvQADKeDDntlMkPxN49voKaxxhkIWtpdG5Cfkzg3qqzbkRkxUFm4yrmVNNKOB64lAtyijoONYAPvoeRVwRshdgPoykzbL6f3nf02QZhry971Hiny2i6+g== 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)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:BN7PR07MB4210; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4210; X-Forefront-PRVS: 0656A4403B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(396003)(346002)(376002)(39380400002)(39860400002)(366004)(189003)(199004)(97736004)(68736007)(33656002)(2906002)(2361001)(6486002)(16586007)(316002)(6916009)(107886003)(6666003)(86362001)(50466002)(2351001)(58126008)(105586002)(5660300001)(8676002)(106356001)(186003)(81156014)(53936002)(16526019)(81166006)(1076002)(76176011)(6496006)(25786009)(386003)(59450400001)(26005)(6116002)(76506005)(8936002)(52116002)(72206003)(305945005)(66066001)(478600001)(47776003)(476003)(7736002)(956004)(3846002)(486006)(446003)(11346002)(23726003)(44832011)(4326008)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4210; 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; BN7PR07MB4210; 23:vuzLjfCd7k3S1d1IbEE9zF3Wf9IxP2qXfSQ33Q1kAibk+7uMJLH8UpEhxAhbwb/oL8esRW0/NaXDpQyq5YouxwWIwmTHk5gF+1bzZCoWnPAK2eQOxH/zKMNPTewyI0DZaFJ1pE1yx0D2fe2JSXgh2PES/m66SNkAqMqk9smXRIxG2+fvmH3w72F3Jlb77W5RpcqvGzlgx9HCWvoPnSxNn7wrEtNfJ/+IL3mTMhEEPdYn2URoqOaBXduxfb9nH3KWCBupsrudrKutbk+EkXog3x4t7ebSfy+FckM3nssytYmZwq4uhu7du3EZeICCBLTA4/G+2QSgRGkxPXqQj8+fWnIvbePmnGZXeMO8nTif5AXvf8KyE8/jFZERrV3GygoyWB10OOLcKff0urW5z+C+sSfsov/eqRbiW/51o0XYZXLHGWQjXGOIICk4XYlOkbsEDNe207POOC9c6yql6UR27qBzjfUKKlzRNHLbPFzTd1GTsWf6EEtt9Y1NBarIKR65WITgCXVDuDZk5+OaDzvSurenORCFSmoJiVZeZRMp0rb2GHY0F2hTz9OuFF602btutiXnFg1U30SyRXyH1e5KsRh7goV1mv6+ZIdhXGE6j7remGwQnW2wW297aKN/uskw2uRm3wfnpPdwHdphu30EaWqrM5UkEgseDnI3q2lMXwFm9myQk5ouHxqfBvPGyAHHZZu/iGfeRSXhyvgEhxO0MVbTB3GwDKZaLIDmY/zS85Ox8OgiGWqmlBUOUyCujZbzrmYUEss2SPxhufL2Qno+wCltlagbde6/72FOL6lpfxsygENHTZyuuULsrryNsAlwKZ53wKXAcT5lIt8umlYLxrJWc1fA2BNOcfJa55MHAe654cjV5wlKs+oYGbeUKOThGbe5K6QkvdNDY788Ku9pWaBf9Zbczu2oe6fov1bC3RwmNe2YTYR8msbW30bLgf2xhjlxhaLbsmXjXVgtUDTvkEw1FlUMvE9jGozrfPxok6YRDIigiGRL5bxppPMIWsTCzBzuDVYg/izhPC1z+u8b1ZeGgYgN7nseACVuWhLOuyeUt02EiS3WbQPrtV2DJu41Rt13K6fTHJDdOkMZoIiFpTYa1ckVpg2/eB98mQCLHtLQ9kr4EVGIRx2m37joBaW3ms+Ms7ffpFAedUD3ypu+JkOi6su4aUqhxk9vfHEuuOdm1b3/O+R/i8lT2MFs8CiS4VqMBNedzkTS2EUSvhKUrBWpM0dDgTgOqkHALd6FtFzoNNvKXrFk1xG7ZldYEPUSIV86jRJUCHUy9FWMV+umK8AaCISiS7xcDjcl4IIF/LSZPu50CuFzAJE3nERbLUqu X-Microsoft-Antispam-Message-Info: Kt3baFcC5V3YXwWSM/K8i+FMKRn0ukhvyg2ZYKmG6r3SM/Lmx7YnN3isoRZwrWs7+xyKtY1MmAws460vqysAIIb91By2lWKlPVHVNaCRvjSpOw3vU9hOBBEC0TM5jLosMaAaY/OolKHaiBlWCYmToxVBtV6CaJfcNyEtIir2M8rLdMIjXyjAM4IjTzNo6DYU X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4210; 6:cUTwOJJmBuqo8bvsqGJRbEMoIXHrbgdUm1gp4Wt60dRVbOVSbYjaVBsdGw6SBGzJak/ZSVCegGEH0iqoOeunairh4JYANLIQmPYKeOBaoTMcF2waLLdQ+A5vDGvZOSyb8Ks3dIeXKJcfdHh79M8smTMCaUA9ch6kpQHQUm+7Or6kYuvkSNagXhjeattBEmj0KfEpnjSTq+F4rA5TJYIvGnB9yzxDVg7sLcy+wyFEu/p6cQL2iHamfsk0Dq65faZSebDZ0mmcJIHLAb84zGwBnlklwTc7e3RcHnfKaC+Yk1EWfodYyRHQq0Gde6DHgnfgJNu2QjJ8dXvkZKHabj3Tvia+idGgzzk8rgjaCWE1yPIf7J6NbOkAuPvbC7LCqaqf5IxLSwXTr5i60oy9H+0g7uDg/suHRjmVcFqQ3t7Snt4w8gzoIjX4HEdtydTeg8JTl/ZtfXic5CsgbWxcpa706A==; 5:nDx+yRFHXUlpyk7jb89rHmF+0WFAkOBnO5ZW1aY6guPvfozzJkm1VWXUNfmpjaaZVFaLlGJoR47CSUCwJzbyLNrXCnFGjNsMw/TguosxJJWb3hsXp5RYWKQbLizhcP4gpZVIIj7rZ1cOqD3kvBiE/jyJI+3GkHuMMATMHknyEKg=; 24:lppfp5XAOyW1Ea0jC0lLruqxlJgQAZb7Q+tVrZsVnT4AZGxPhlE6JtjWdwgX6XEBct+IS122dl+5WM3x88XL+vSyfeduT23U7NfQfvvdaLs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4210; 7:LA1hWb5U34NSbT0AvIrWgaqLjbQnnL7EW6AA28zztXDGxziFD/fPr0db1P7ThXnV60F7OD2KrlIpe8/w2I/c5xfETvf7pFl8YRD91ZscU8L6TrgEzlCbhu07H0ZvW3Lfi2ybHpUIYOfka+fIoV3ywrrR1swBW6qiN6pbcSJz1ROapxrXKf6JZJAmRmW3s1jbA41XqXzw+tp0tZEMhOePnSg90cAjxrJRoE5qQzKZX58OSNUjtn0zEQqUtKtJ9stI X-MS-Office365-Filtering-Correlation-Id: 1bd7b39b-3b1f-4b15-0c0a-08d5acd1da0f X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2018 06:32:44.7323 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1bd7b39b-3b1f-4b15-0c0a-08d5acd1da0f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR07MB4210 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