From patchwork Sat Mar 2 12:10:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 50767 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 25B044F91; Sat, 2 Mar 2019 13:10:58 +0100 (CET) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690062.outbound.protection.outlook.com [40.107.69.62]) by dpdk.org (Postfix) with ESMTP id 6C4E94CB5 for ; Sat, 2 Mar 2019 13:10:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P2qZ1NVGMAanEk30cu1WGwLlAPpWO0JKLe6msbS4d8w=; b=NbZIKQCWfhkb2X31b90jLjbZJm25jmvmiRH9clAJfDURTGzop3naewsZjKG2Xd4MweTbLQYOt6kPPx5xgHhvabGN/PdJYZfs9xFH10FKR0yraKGX9aXsBUbJkkk3Q8T33kQtu4PZvxOh2SqxsssATokHpBqn1xYeWufm46v4AwA= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3867.namprd11.prod.outlook.com (10.255.61.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.16; Sat, 2 Mar 2019 12:10:55 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::319e:4e9b:b376:5588]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::319e:4e9b:b376:5588%4]) with mapi id 15.20.1643.019; Sat, 2 Mar 2019 12:10:55 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: Pavel Belous , Igor Russkikh Thread-Topic: [PATCH 07/10] net/atlantic: fix link configuration Thread-Index: AQHU0PD8mCpcOwyNpUGx5vavH138HA== Date: Sat, 2 Mar 2019 12:10:55 +0000 Message-ID: <5a6195428c5075be9041d685e054720c328f4e54.1551528549.git.igor.russkikh@aquantia.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P190CA0057.EURP190.PROD.OUTLOOK.COM (2603:10a6:7:52::46) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ec7369e7-926c-4bde-a4fa-08d69f081ebf x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:DM6PR11MB3867; x-ms-traffictypediagnostic: DM6PR11MB3867: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; DM6PR11MB3867; 23:NzIPUkl0PL6U0Ht/pyuqAsbPGv/784aa4WxQTxE?= =?iso-8859-1?q?nepx16Vq56GoOBMYgU/ErCv9x?= =?iso-8859-1?q?h/tX0ti9S+IphcYxfnHYcMzc8smSb+PIKFHSgzQc2xZhg3tJ9cw?= =?iso-8859-1?q?lFvRL3lQdBc8oQl9a4xYrcz1V4o5IF+ShudSwKPKbMZitRoZ8YJ?= =?iso-8859-1?q?vyzOPw+YN6NE4oW9rZNuoHJL3r28FEsiuUsjLJTQ41pIdYjcTuz?= =?iso-8859-1?q?1Z/fYgk/SF2G2nX7DxUZnLcDV4VpywoVCvpAyPQnTV4Q5037jre?= =?iso-8859-1?q?Fb5V3d7OWBBjuRpR1zOo5Ngx5XzWPrhHq0t5y+aoRwFGzIaMGfM?= =?iso-8859-1?q?Jg5XrjJKomZVNqtq5bY9EqmqacszGg2hSkZ49oyvUZp2rGHKqLb?= =?iso-8859-1?q?fsKRRmfZh2uJQV/+jKtsNe2C3HNM8DjytTue//ntBnuUoUaOvrj?= =?iso-8859-1?q?e+xNCKvm5RsbUeAnlGvMIvuyOijGK3S9wfsZT6P/v5OGhsrsEAR?= =?iso-8859-1?q?6JFtacaL+1HkkgnEPh8bfsBi86xrxMOMaYPSFBe0YKHnE4+p0OK?= =?iso-8859-1?q?VYSb3q1ON0ZThODeFNN1b54MhL5YLr+7ZHn5wGXcJpDT5vaCe1p?= =?iso-8859-1?q?U9/uEoWNGv/R5hn/lYyChvjWwzz/9RFqv2bkGXs8Ep4m7FOApma?= =?iso-8859-1?q?nKBLYvJilHnejtJ9kVejq69GFVU8KRI+AE6fQ7gnHqzG/9rZeF7?= =?iso-8859-1?q?bJG6T5PFuw/3d5gmOfmPW+ycOQIS0ToFT4qIfDBay3yKnVMjKbx?= =?iso-8859-1?q?ml3vhgWAf9Tq5Ej0iBA5v5Jx/+UBQPigQwsnlmUQJ4aM5Z66+4E?= =?iso-8859-1?q?SopL1pFRSswHWirRP2dvSERRgJpmKNINuo611cShn4N5e5Y9Kqg?= =?iso-8859-1?q?sWW/d5ttyfLi38X563vNTlMjQpnNptvEKyIEiuYRmxBe0Ue22c1?= =?iso-8859-1?q?gqGdSBO6CJVuWH99XBrAtQI8kKyI09TwcieaB2xC8z6K/YdxU8O?= =?iso-8859-1?q?u+4qvPp1dJLpQ3T5dtn0R2O9xBatDpeeJSwPAInhwZN5k4+d29c?= =?iso-8859-1?q?AwjQk5mH9ne/7hkcUe8Ob2LIxmrykum5ma7tjz3CVZzPqwIoqs4?= =?iso-8859-1?q?PqoW9zAekU/CmAZ8zAqMzYvCX6v64JZ1GzmkqI9kog96yCh2rGB?= =?iso-8859-1?q?6QpIQc21MAdAnQK7ciYQZEn2uVWH4yFZBd2/atkupXkBKPQcc/R?= =?iso-8859-1?q?+fXA2Y9IDffZX6Bb3jodYtBy4Bjn4Y3fGcGHrC3IRM+ubw8j0wz?= =?iso-8859-1?q?eAs5nYciEECuqbfUfOdtfyLbUXllUhXS29YzFum2ern4QSLBDAC?= =?iso-8859-1?q?8gl85uUnxbPpDJreLY+XTtXOntEilk9LhziZLzXgRSxHfRBk9O/?= =?iso-8859-1?q?U3pf+sgrlMs91SfQBeokCMDVrQA/2mLP6579HCOZ9XrcToZlNqk?= =?iso-8859-1?q?MBYRQqOcr8gFV+lbnbivVPwKQqAVPK21l+uw1nL7wvrlvJYU=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09645BAC66 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(366004)(346002)(136003)(396003)(39850400004)(199004)(189003)(7736002)(8936002)(36756003)(256004)(1730700003)(71200400001)(6916009)(71190400001)(14444005)(8676002)(54906003)(106356001)(186003)(105586002)(4326008)(2501003)(26005)(305945005)(316002)(5660300002)(86362001)(97736004)(2906002)(102836004)(81156014)(81166006)(53936002)(52116002)(76176011)(3846002)(6506007)(386003)(6116002)(72206003)(6512007)(6436002)(14454004)(5640700003)(66066001)(6486002)(478600001)(25786009)(68736007)(99286004)(107886003)(11346002)(476003)(2616005)(446003)(486006)(2351001)(118296001)(50226002)(44832011); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3867; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: KbDOqY0FQLA64eKSxpIqXuKnzlGjJIuOW6yJwQamxQ38uBjJVfjH38BsfM2Sw8y99vq7TE8GwGqMtwZnE7b/5TK7jsoX3DA9kSTxDuoT7KTXLN1uKHNrK2pvHE0SbvGVHvMZbcnlfjR+0qF1TzjMGZgc4aWg8x04fyhRQ7NFDbjO9D4ZnLrfsWkjJ+/Hf9NGgCILADWM3sOUR9Hj0iD9gPgvkGkA31ctOmQzBxQ2eWXk3LXRmiM4EKAEEihZwxq4UbHllDPUNp5iJUPwBSiY4W9l2EFCxfslrIEsv2WVPXMJnK/mFQ8uxEEZBPwFqdT0DhqE8zaVHtqXyUm86Gs+n7w0ceTXtFTzX3gvIt6UM8fuYxR0+Lp5I/baaK8xv7GjbAuLpfwdYcEzW/4CFlJllZ6irzROnfhArVeDN5qexb0= MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec7369e7-926c-4bde-a4fa-08d69f081ebf X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2019 12:10:53.2696 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3867 Subject: [dpdk-dev] [PATCH 07/10] net/atlantic: fix link configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In case link speed is re configured after port start, it does not takes the requested speed value, but instead just sets full autoneg mask. Signed-off-by: Igor Russkikh --- drivers/net/atlantic/atl_ethdev.c | 44 ++++++++++++++----------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c index ae1babacf..ad4e5a717 100644 --- a/drivers/net/atlantic/atl_ethdev.c +++ b/drivers/net/atlantic/atl_ethdev.c @@ -465,8 +465,6 @@ atl_dev_start(struct rte_eth_dev *dev) struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev); struct rte_intr_handle *intr_handle = &pci_dev->intr_handle; uint32_t intr_vector = 0; - uint32_t *link_speeds; - uint32_t speed = 0; int status; int err; @@ -543,6 +541,8 @@ atl_dev_start(struct rte_eth_dev *dev) goto error; } + err = atl_dev_set_link_up(dev); + err = hw->aq_fw_ops->update_link_status(hw); if (err) @@ -550,26 +550,6 @@ atl_dev_start(struct rte_eth_dev *dev) dev->data->dev_link.link_status = hw->aq_link_status.mbps != 0; - link_speeds = &dev->data->dev_conf.link_speeds; - - speed = 0x0; - - if (*link_speeds == ETH_LINK_SPEED_AUTONEG) { - speed = hw->aq_nic_cfg->link_speed_msk; - } else { - if (*link_speeds & ETH_LINK_SPEED_10G) - speed |= AQ_NIC_RATE_10G; - if (*link_speeds & ETH_LINK_SPEED_5G) - speed |= AQ_NIC_RATE_5G; - if (*link_speeds & ETH_LINK_SPEED_1G) - speed |= AQ_NIC_RATE_1G; - if (*link_speeds & ETH_LINK_SPEED_2_5G) - speed |= AQ_NIC_RATE_2G5; - if (*link_speeds & ETH_LINK_SPEED_100M) - speed |= AQ_NIC_RATE_100M; - } - - err = hw->aq_fw_ops->set_link_speed(hw, speed); if (err) goto error; @@ -657,9 +637,25 @@ static int atl_dev_set_link_up(struct rte_eth_dev *dev) { struct aq_hw_s *hw = ATL_DEV_PRIVATE_TO_HW(dev->data->dev_private); + uint32_t link_speeds = dev->data->dev_conf.link_speeds; + uint32_t speed_mask = 0; + + if (link_speeds == ETH_LINK_SPEED_AUTONEG) { + speed_mask = hw->aq_nic_cfg->link_speed_msk; + } else { + if (link_speeds & ETH_LINK_SPEED_10G) + speed_mask |= AQ_NIC_RATE_10G; + if (link_speeds & ETH_LINK_SPEED_5G) + speed_mask |= AQ_NIC_RATE_5G; + if (link_speeds & ETH_LINK_SPEED_1G) + speed_mask |= AQ_NIC_RATE_1G; + if (link_speeds & ETH_LINK_SPEED_2_5G) + speed_mask |= AQ_NIC_RATE_2G5; + if (link_speeds & ETH_LINK_SPEED_100M) + speed_mask |= AQ_NIC_RATE_100M; + } - return hw->aq_fw_ops->set_link_speed(hw, - hw->aq_nic_cfg->link_speed_msk); + return hw->aq_fw_ops->set_link_speed(hw, speed_mask); } /*