From patchwork Thu Sep 28 11:33:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 29277 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 063B21B24C; Thu, 28 Sep 2017 13:24:36 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0066.outbound.protection.outlook.com [104.47.41.66]) by dpdk.org (Postfix) with ESMTP id EC8057D4E for ; Thu, 28 Sep 2017 13:23:56 +0200 (CEST) Received: from MWHPR03CA0047.namprd03.prod.outlook.com (10.174.173.164) by BN6PR03MB2689.namprd03.prod.outlook.com (10.173.144.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Thu, 28 Sep 2017 11:23:55 +0000 Received: from BN1BFFO11FD006.protection.gbl (2a01:111:f400:7c10::1:121) by MWHPR03CA0047.outlook.office365.com (2603:10b6:301:3b::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11 via Frontend Transport; Thu, 28 Sep 2017 11:23:55 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD006.mail.protection.outlook.com (10.58.144.69) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.56.11 via Frontend Transport; Thu, 28 Sep 2017 11:23:54 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v8SBMpG3016035; Thu, 28 Sep 2017 04:23:52 -0700 From: Shreyansh Jain To: CC: , Date: Thu, 28 Sep 2017 17:03:31 +0530 Message-ID: <20170928113344.12248-28-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170928113344.12248-1-shreyansh.jain@nxp.com> References: <20170909112132.13936-1-shreyansh.jain@nxp.com> <20170928113344.12248-1-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131510714351773233; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(6009001)(336005)(39380400002)(39860400002)(346002)(376002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(1076002)(104016004)(33646002)(50986999)(498600001)(76176999)(356003)(50226002)(81156014)(8936002)(81166006)(4326008)(2906002)(8676002)(53936002)(305945005)(316002)(36756003)(15650500001)(97736004)(5660300001)(189998001)(54906003)(5003940100001)(86362001)(47776003)(48376002)(50466002)(2950100002)(6916009)(85426001)(77096006)(8656003)(16586007)(6666003)(106466001)(2351001)(105606002)(68736007)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2689; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD006; 1:F7OX9OeM8cDDlhbeBoAbHIkwQxHJJXgjX8QQo5PSbY4fHjqmLDmRNeSdrbSE3ra48sSLm9k5pYyRqwXWMDPXvDruH6GnDwtsoeNXp0QYsEzqbKjaD/h2fDnoPnOH8haH MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 58e6973f-624f-41ed-04d1-08d50663678d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017052603199)(201703131430075)(201703131517081); SRVR:BN6PR03MB2689; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2689; 3:BUZGhma5EmLjiH9uUkh3NEPevoq1784Ysc7yU/PaJgFwWW+LYDxJYaJualypGnT9Ni1QjBiZg2JfpxT6p+dxcBDc/d6DtgwtV5QRlKtVTy3ShRw45Kc4TEN9xde770OZvusVZxmNHto8I4u6isX2kofmxom5bPtAjpTB22qvA1OpBIHnlW7d1Z6LUxE8Md6vh21XTD4yPD9TqSgCwx7Ff93gvdUH+OVTbd3aRI9nfmv9r+bpoH/VU7L56CZmi3d7xcj9yTQMferHshuzxYkiOuf6qJ5eCZa/0rEutuktWGvk8zz4wgFNRPbzHCvX2X4wUDsPguwo10PztVXA8ZzKiCX6nKZ21FfL6cjHrQJhkW8=; 25:9I00jMorFpnEM6hNVnUs5Y2TsjwZvYoTBLUwh0NIwWqGgQSZ/FLCgfrbeczyIEJkpTTmtB0jkZdKkMzvkrB37L9K7FBKgIBQ6WBgPAyR1Sl3MqrsSDCeqIewrFI4CHMmdBnt2Syt120uCtvvE86YxgpIOpXf2NkqiKm07PehKGkqtQ8dqR/GGuXcwlDPeHgAsjyCzUkNZnVjjfzXRHeYoWLEF1ITlQS8qRJ4zY0dl/RkNm7nFSl3I0mqB12L4C7n83tXCQeW+oEPWq+q8TDV7KdofEMdlX8k+72tALE1sPOLxV27rdGgkfWx3ThkYYzbn6ZECGY+ZUai9qbv1xgYiw== X-MS-TrafficTypeDiagnostic: BN6PR03MB2689: X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2689; 31:ULGknc3GPlX8bz1EhC9mJe0mblubir5FEXcNFYL0yxdB3/+crlZKkJxX6vVvG4Zic7nEtRuJoqo4KluPlHzRVHoMuGkvQn9gUQgjvUvIJ3F9D4oUF+5UIMUS+LdStAPudWbLilEezF5aWOVnVENVgT4hj/pJluRG/NKO9NeQKJEvbYZDsV14Y5Y7s2Wtgfjs+L+YGnKIx49XjaCRQ8RDXUCEc7JjLvp3AHNaDtIpDgI=; 4:DtRwawzUs25NLMr/f7RIuxAlNSQ+GthLRb9gi4viIv48ea5VfulOeY/FhbOg14Nk+vULi+vgKY/UGb1x5MF5GI0tBvBBfb51052Jw0wZ4bZIz4EVcFOMV3Vnu2sJ/pXqA/nY2uYQ/uqWxWJa3Td4G+1KJAPFk1JXI73uOZsg16QecJm+n1PpI9Unx/OZlwxPPYRGw1X/Pxp2Zk8IVU/VP5nF+yUF5nQRpxMtTKZr8N8S+tH4Hi4P9eluxDovmHv0bMf+4dVT8LxCXuEJTjjYBJd3n9T+8S6fshDymGh9hZk= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(20161123561025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123559100)(20161123556025)(20161123563025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR03MB2689; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR03MB2689; X-Forefront-PRVS: 0444EB1997 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2689; 23:2tubj+bDOqnyLvP3HykJ7jENf+GEwd93DLo5xgfW1?= /QdWp8HDIb95IRi5pMk8AuYQfp0NCa77jonAz2vf2heC7Hja9vE8bzlQX6ZlaPVEejOQvkPfDkwpuDrmx9RhR52e7cxfCX7MWapwxkIGLzt+t2pqDPlTXVOjgDaEBhrPqHHhTlH3wSihugu37Xyu/QGt4gYJdN9Qkp2QZuTg/1nxY8fEbXz6FvjKFFbw7kdfdXQ65lmxHugBQ7kcBempB1z57moIear6YYBZ4Ez35HAEkOWqElKCbl4iH90+3pupHCGPCCFLkf4rWKTeiIKhFNCIafpmJ8ll8JhtPVkCL+zagI8JOXz+gOVdbaI815ierjIzv9gweKwfnRKEBW3MnDCP+G43xyTLgZ/V0YXQZoevpWIM9jYW5OuV5o6GDMLphSDJoB15Erai+RrBVBJiQaf4r9CcvuziQT2zjDwaodNDqWVWj5fnlwU4W8iH1oMdJC9Qig4314FHcsM79nmG/9YF2A5HbNmGDD8te81icmWndNvw6vs5uPn4oUuevXT9p2Y6dEq4tPIOJ2B/2ZRjuOPlDa8sy71KPLucMzAnSzdCJng1px1jCVN+H9kST/6zEub0KATEhOAWtFN1pRV6lUkYN8hJpHOmQ1FFTPQFw2ad1gz/c1S6iWekoqa05CcJxdF5mK/QxIp5r4/Vsc2rzG0D2HNPaRyW3AIdabL8Ui7GTugU8V+7xdK7NoL+kwOaBP+L74BePArs/MhkGSfoq8ea/f8aVAVqfFPWEiAaRVmeG/cnY6ANUz+VSGjRz0LKodY9B29siTT3FX4DpvdE3cydO0EGY+0+lnSiDPtBxKzSopj73oP9+Xv3wS15NvGpxOkWoX7KK5IxjdydvGfpDZc61TqJXILHjlwMwT2KkaDQqeGQ9aFC7SZrmqvpBMkt9rR9x+UbUBC1SiQ+lr/acR+HxKvNMYR5L4vnwtNIKqp34wlje5nkueux9HDeYxU08bM4nEpRZQPZXCfVBTU4jEjMDm7lbu9BS3ar8wF9vRpjxiFddimYPNIE5Ytu9zW1Tt8qsSNTW5N9v8+/pFbwUYzWD7ZZE2sUgHfd5fx98LnK9tfxgDpLrHhiQ4XIRHUXDtcV2kY9hGodADdufJQtsnGeB0sEGwLWn4XMWXsrlfobUjxLNmPnC+2X+rgpEpIQNmwQYSJEsqjefegLHDVDr31fKgZXf/hd2kNtaARGSqm3ALv8kzbgvLHV3WDa+monNsWONsIt1+H0su9UPHx43ZzBW9v/I55Vjm8vehvzU+TeD7tTkQtkQzVE0yWRsZEGos= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2689; 6:K8btlecamzz/why2DMqUsXz6xiQw5ZDWrM8bnuiMY/qB54XsrwoFScuEKZdO6RL09XWCVMYQkZ26FqOZgxOYNJ8jlhC7AhbBHwkwAFeOZkiEEE20ef/nT5pQPQGda0HMw9eLdulOsx0xG6qt3FiYISSV2zUp2CqcvbemsyeweLwNmNKgdwgLINgyTjWZThh6zFBjavMtYaTNTyufbiCHoz/LRaL5mW0upRl85PWNtX3mZ0X1uqcbRV5+ID6F1wguDXvtRMp46nsuqByo89bZvv4yHBsmFPR3EjyumQd7xOJDu3VZkaAnWApQn6YLs0y6V2TriyW661VfU/dSMvZszA==; 5:4MkxEyFokW2TEMGSq7hvmTs2QUx1mJTCRYXEYV02YZbnXvKjVreNjeXotg/V+vYH53VOVI/5v4zljicNFL/x0HXspK4kw9p00woD+bHX9KRscxD4qN13IcYBfyGfvpdvUByvlPx5d0iA5XH9a7z3+A==; 24:eiRbYOA4znNH2kvvUDSAM4/Gb0Vd0RmYJYGXznimLds/n28JB0iArL7sV20tPoqrRUbl7yZAmR1V5l07L/P2rqltAloRf6dQ3ZNUl+0iHQo=; 7:GWqZX0ZU1l4q9PaU0xZN39hCkbGoj6FP3IE53ldWJ/XQ+cD8Eow4vXY5Sp9ZGvZBFuwl6KdtEkVMaXTkne3iX8m22HlcUFEIdMj57YlXxL7zGXiff0ngpVM2Wa00jq+Cw8AJQipUQP7wxJzwqMK/OL8vBsFAjC07gG0h0F1trX9DXNIpx7ER5Bf/qtd728YRmQ2xV+AnYLZ5chdLUj+y0zbxCapkx5uY9k5IoGBXJtQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2017 11:23:54.9901 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2689 Subject: [dpdk-dev] [PATCH v5 27/40] net/dpaa: support link status update 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" Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- doc/guides/nics/features/dpaa.ini | 1 + drivers/net/dpaa/dpaa_ethdev.c | 42 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini index e62812c..132f94b 100644 --- a/doc/guides/nics/features/dpaa.ini +++ b/doc/guides/nics/features/dpaa.ini @@ -4,6 +4,7 @@ ; Refer to default.ini for the full list of available PMD features. ; [Features] +Link status = Y Jumbo frame = Y MTU update = Y ARMv8 = Y diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index c013a84..804c89f 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -142,6 +142,28 @@ static void dpaa_eth_dev_close(struct rte_eth_dev *dev) dpaa_eth_dev_stop(dev); } +static int dpaa_eth_link_update(struct rte_eth_dev *dev, + int wait_to_complete __rte_unused) +{ + struct dpaa_if *dpaa_intf = dev->data->dev_private; + struct rte_eth_link *link = &dev->data->dev_link; + + PMD_INIT_FUNC_TRACE(); + + if (dpaa_intf->fif->mac_type == fman_mac_1g) + link->link_speed = 1000; + else if (dpaa_intf->fif->mac_type == fman_mac_10g) + link->link_speed = 10000; + else + DPAA_PMD_ERR("invalid link_speed: %s, %d", + dpaa_intf->name, dpaa_intf->fif->mac_type); + + link->link_status = dpaa_intf->valid; + link->link_duplex = ETH_LINK_FULL_DUPLEX; + link->link_autoneg = ETH_LINK_AUTONEG; + return 0; +} + static int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, uint16_t nb_desc __rte_unused, @@ -216,6 +238,22 @@ static void dpaa_eth_tx_queue_release(void *txq __rte_unused) PMD_INIT_FUNC_TRACE(); } +static int dpaa_link_down(struct rte_eth_dev *dev) +{ + PMD_INIT_FUNC_TRACE(); + + dpaa_eth_dev_stop(dev); + return 0; +} + +static int dpaa_link_up(struct rte_eth_dev *dev) +{ + PMD_INIT_FUNC_TRACE(); + + dpaa_eth_dev_start(dev); + return 0; +} + static struct eth_dev_ops dpaa_devops = { .dev_configure = dpaa_eth_dev_configure, .dev_start = dpaa_eth_dev_start, @@ -226,7 +264,11 @@ static struct eth_dev_ops dpaa_devops = { .tx_queue_setup = dpaa_eth_tx_queue_setup, .rx_queue_release = dpaa_eth_rx_queue_release, .tx_queue_release = dpaa_eth_tx_queue_release, + + .link_update = dpaa_eth_link_update, .mtu_set = dpaa_mtu_set, + .dev_set_link_down = dpaa_link_down, + .dev_set_link_up = dpaa_link_up, }; /* Initialise an Rx FQ */