From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3F81F424D4; Wed, 12 Jun 2024 01:39:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB35F40A89; Wed, 12 Jun 2024 01:39:10 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2067.outbound.protection.outlook.com [40.107.223.67]) by mails.dpdk.org (Postfix) with ESMTP id CA18B4028B for ; Wed, 12 Jun 2024 01:39:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nc+vP5jhR4Lez2G9URHT6Jv3gBqS1lgNCJJgPcEt1ikrbRbX95qd0JrDyXl83Cp9UMqfhBNKi9DYWD2JbhVoBlT4dFgJZUAJKusgA5kpZ2PKxpOUjmxr740RzV9xbgUEDyhzhmwJNhkAFUpts+4W/CgzsA2lYFAPOIh5i2OIP55o0NHJtgFEOJvL338q2W3PZ2EWIwUxDW8dLlELLmse2FwxId474meH3fkzU06i97WskLqJthmxJPqtMmaehQWSSnyhBU7ehuOCIJU4lJfjFtfjZ8npxSci8NGG739T/GoLa2ja17e6S3Kdb2uavRFLQfdhEEovIW3dpK6EE2OOkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SR9hYLWhWZbUPZMYtT/7DBivpoVvCxRFIhu3wadsqlo=; b=MZXO2Fqoy8/1DiRdAZbL8L1cFkMVVmnQOrs3wWu2DoBAv0Kf3Kawvic0PQVJDcDkKhFHNK8txpsrJw+dw2nzWXIxv50RqBOXarec+OMTp/z7QM3/mHaNBV0zudSH0NdXoO/eFBXBt4EaupVfMwYsbOXpbZn1MPAwhJ9iP5JOZBVng2osmLvHL/1eogxe6NNr+z7ynDuXA3QSrcQfe7msoVPK2gFwpS8VZnDVvzumrG56fvi41M/LcCTiambhp3zxkEbo/2svjdJE12w3enBCcY+efDCC/NfkfSHE1nKCk8+qkkfrlhcCEiAST5eFkH7mLmBo0tI8PafZCOv3+FdxGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SR9hYLWhWZbUPZMYtT/7DBivpoVvCxRFIhu3wadsqlo=; b=dz7OSihCtb4HhEvCF5j37STlZxOyEGB/2QmMH9Rv48g8jVzcY5+irA2WGN7tM64JH9dcqaclZlN2/Vnr7bk6w8iEdzugDei3RDo3OqESPX9YdMFn5su2nB7Z/sAf8qQdQkr/qnq0VT/ZCYFZD5tu0f2KAmJDr+NNalpA2rC9UrY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by MN2PR12MB4240.namprd12.prod.outlook.com (2603:10b6:208:1d3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.36; Tue, 11 Jun 2024 23:39:07 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd%4]) with mapi id 15.20.7633.036; Tue, 11 Jun 2024 23:39:07 +0000 Message-ID: <72d5782d-d4ca-4e1d-b4f6-2aca979c3506@amd.com> Date: Wed, 12 Jun 2024 00:39:06 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/4] lib/ethdev: Add link_speed lanes support into rte lib To: Damodharam Ammepalli , dev@dpdk.org Cc: Kalesh AP , Ajit Khaparde , Dengdui Huang References: <20240602024504.179506-1-damodharam.ammepalli@broadcom.com> <20240602024504.179506-2-damodharam.ammepalli@broadcom.com> Content-Language: en-US From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@amd.com; keydata= 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 8Zk= In-Reply-To: <20240602024504.179506-2-damodharam.ammepalli@broadcom.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0606.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:314::14) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|MN2PR12MB4240:EE_ X-MS-Office365-Filtering-Correlation-Id: 58b284a6-1518-446b-b877-08dc8a6fafb5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230032|376006|366008|1800799016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cUdUMkRhMVFCL05xMVlOSEZUOXN1TThVY2JRSDNGc1AxZlk5aXYrbTkvbE9n?= =?utf-8?B?SjFJY1ZZdGtRbCtKNWg5NHdmR1Y5K0tGbzFNaVJ4SnBsT0N2OEFVL3FhTkta?= =?utf-8?B?UDB4dGllVXQvVU9sdlNLWG9jTExnOHhVUkJPRlZNcnJXMHpuRHpkcEdHR0Q3?= =?utf-8?B?bTNpaUp1SHo3c2doR0pEUStWbXNzYTdzcGVFR1VLYlVaQ1FoM2VUQllXVUF4?= =?utf-8?B?L3lvanUvMnVxUUhyVWRxM0FkSTBaNlFUV29nbUVjeTJQSEhkUlFSRm43WmdK?= =?utf-8?B?d3hTRnJnMm5Ub2JwL280VTE2bGtUWVNhanA2eXlTa1A0TzZicEhnWUlnaW1a?= =?utf-8?B?MEJjcENuOFZsSWpTSWRleEVObWY0MnlVc2RxNnJqRDcxa0FJcmwxWk9PQ3Zx?= =?utf-8?B?L3c5dlBRMEY4bnpFNmlHb3BrOENjSDIyNVZLdVo1R0wwL25IMlFURFJQQmFT?= =?utf-8?B?MVFneU5qSzVvbUZsQVJDenZpazBLc0xpdUtybU5JR3c4TG1RaFVaSEdmSEFJ?= =?utf-8?B?OWpLM2pLcFhYV0tMQmE1VGUydzk0RDJ6b0h6dHNEWTFRenZ6Nnh3MnZQYjBL?= =?utf-8?B?ajU3MGI4N0FTOVJIRG82alcrQ3hmMHJtRnRLSDlFZENzOEpKM1BoSUpuR3ha?= =?utf-8?B?anA2VUlXREdPVHEzMHo2NEc3a2IxRXJuWXBCd1dBYWMyMlA5Q1NzWGZpL2Mz?= =?utf-8?B?dVdLaTR0c09YV1JOaVFQSEo1ZldFYWVGQWtWTktkVnlhczBPekdqOTNpa1NC?= =?utf-8?B?K2hJZkVyMkJqZXU1Njh6WTRGZ2djQnFITnQ3MUFQUVdXd3psN1NQcTF2ckZ0?= =?utf-8?B?SUduK0sxa0ZLakh0cDlYcXY0YTdxSzczUldFU3BkN2YrRDZYTGpiQnE4L3BT?= =?utf-8?B?blFjNUdmQ2xURzhtdHg5K3lmQS9hTGtkbEo5TVNlZEpYQWtkUmpUMUhqbFZG?= =?utf-8?B?R3VhdUlIUnVoMnp3akNud1ZHZUcxa3ROQzVsYnFtTXpoTE4yWENNbHBQUEtv?= =?utf-8?B?bWRBYitjbFZtK2xHTlluWmU2UHgrWmdXanhIWC9WbGZXbEQ1UW1MVTYwL2Y0?= =?utf-8?B?K0FrTThDRXNyMWgzWXltb3RPelVxZ21kWWd6ZXNBU0NvSG1MOGlSQkNYUGVX?= =?utf-8?B?aTF0S08zWjZpajVkKzNQQzcrdUYvbGs4YjA2WEJQRTNMem9Va0lrNmxsdmZP?= =?utf-8?B?SWMySUlVaituOVhEdzBCSEM4ZDdremloRDZjQlVKMlpQS2xCTVFTa2RZWXpO?= =?utf-8?B?TkxoNG41WTNwRmY3V3IwRU0rQ2tTak5RWHY0R1BEdEFWRml4K1R5YS9CMng1?= =?utf-8?B?WVpVUDVhV3Iyb2xiQy9SYXFUZ3dxS0ZaMGxtM2ZQWTRLczdVM1JDRjk3cFdx?= =?utf-8?B?Q2tVN1F5emNXcXJKNy9FZmRnVW82TnlFZlU4TWxITnZ3eklzQlIwdGNOMmZS?= =?utf-8?B?aEZJakVWZXJOMXE0a2hMOWE4WTBPZ0M5MWhGdVEwSjVNTmlBSzNBYmc3dlhj?= =?utf-8?B?amdrWGthRnoxcjRoZnZJK0RxYU5WbnNWRGcrb0RlVUJTUE9zbmJ5dVJmcEdH?= =?utf-8?B?UDMxS2J4Nm94UlpBSjY4b2NQVFQwVFZpN1hRa2gwcFQzMUJ6VXNBb1d5UlFD?= =?utf-8?B?ODRoRndpS0VlSlJ5TjBWbEk5R3VaZnNmOHpWMWJSVi9kaS95UW1RQUZXS0pY?= =?utf-8?B?b1crTHJQY3ZEcmdZMmtrWCtVK29ZeHFCcTNnNHkrOW4wZFNRRHVMV0NzVVl5?= =?utf-8?Q?dFqSBOqVEz20PvY3VuHncNndoi5k643u1371kLs?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230032)(376006)(366008)(1800799016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U0F0Rk8zRVNwTGZPTWVnd2g4RXp6V096aEdyK2VBdFE4dnhSUXVjZ3NKaFpw?= =?utf-8?B?dGwyZkVhaXZHZW51aTRHQ2xIUkMva3prd2FycHhsYkprMnArc0JOQitlV21W?= =?utf-8?B?OVNhZmVhTnNqbzNDOSsrdHorS1ljQnN2cldGQU9BTWRYMlJtVE1SMFRTdDdP?= =?utf-8?B?ZFZ1ZGlqOVRjcXlHRG9BT0EwYkNVTUNEUFNwOEplYTRya3hEOEdNTk9UaVdw?= =?utf-8?B?OGpUa1dWb3lhaDJUYnBrRjdQampRd05JcURDamdxdDNzM1pSNXpka1lXeW0y?= =?utf-8?B?OG5oUEdCOXVkWTArVHY1TEFoelhrSVpqTFI2RHluVlNPaWVrMWZqeGdFYU80?= =?utf-8?B?V0dyN0lhVHRvQjg1azQyUHVrZEYvaWhFcjkyZVJGMndVUllpYlBYODh1ZUQy?= =?utf-8?B?Y0YrUkEvZW5ENVNzV2duTkxTNWFJZm9LSXU1S2R1UDAvRG1PYzV0S29UZUtt?= =?utf-8?B?dzY1V2l1TEI4NDhwV0NFZVBtRUdYWlE2eW5xZzUvR1o4NnlOaDNIb2RDZGQz?= =?utf-8?B?d3pqYWpkSTZJeXl6SkRGVWt3ZjVlR2RhN1poS2NTK0E3T0xVT2ZndjJ0aEhZ?= =?utf-8?B?dXhKbEdnZXB4KzEvQXd4S292d3ZmeUVHdWc0SDcrTHlKNUp5akhRYnFnNlNx?= =?utf-8?B?TVhPemY0T2NiNzF0OFBLSTA5TEZodG95M0VKUHZBbWVSZE41ZDNiQURUL1Vl?= =?utf-8?B?cG5uMDJDSmJQRW52UlNESHloc0Y0YkpPWkkxQ2E2WHM1UXR3ZjY1SXVLUU5q?= =?utf-8?B?Slp6NGtSdUFCM3RPZWRCcGd4TXdtNXNCVUs1YlQ5N0N4SGpkWERvbDdOclk3?= =?utf-8?B?eXEyWFZpb3dDTklKbXhrUHp3WXY2b0U2TUFyOEhyQjFEU0FUZWVjcTdtbzd1?= =?utf-8?B?cE1zL2Z3dU9XYzZxWnFTZmU0Z3Z6NkQ5MnBUYndtc0JEMzJVZ3d0a3ZYdWw1?= =?utf-8?B?bkRaSnltOS9uZU5YSmpnL1pYeGFSOUpYb2lZQ0xSY1o1Qk9Takx5QlI3MmNq?= =?utf-8?B?bjcwdkFzcWRZQ3lIVEVCWllXQnNONk5DSU9COVlMN2FPS28rL3FrSUpMM3Yx?= =?utf-8?B?NFFVOWNUZ1RpLzdEaitSRkpoc2lNR3dyQ3Uzc0FHbVhoNDVaYmFvVGJBZVNS?= =?utf-8?B?U0NYS0RCSUVzTHcxTGtNbDJQejBlY0dvSTRjQTR6VzhJRHpmWng5ejZyN2My?= =?utf-8?B?b0g0aUhiQ3BEV3Y0Q0lPeUhFSlhOaDNCZVhiazhPVnR3OXIrTE5CSGhzcDc5?= =?utf-8?B?OU1oUkF5aHBTVnZLWnNFZTZyOTVWd2U2NlIwUTc3RGhOT1dsUTFwUHdDM2ZV?= =?utf-8?B?Y3NGMkdMQ0R6aEtiTERUdmdsQzBGVlRxUkw0Mm5acnVEZGVxeHRBbnJ3Vlcw?= =?utf-8?B?MzhvanRTOWZDRUQraHBOQU1qdXdJcEdFV2YwTWh3UGxONVBSeU9PRk1hOEtG?= =?utf-8?B?dG13ODA2UVdoNTlkcjZqU3BsdTFJSEo2MVB3ZDRqWUNKclVjZm5wQTRMazFN?= =?utf-8?B?MXFQUXk5WmRlaStSbGNldktCNmthQno1ckpxWVF6Nm5uaDkyelR6OTRyZWph?= =?utf-8?B?emhLNU1pREpGV2Vnc2lmL09zMGI1N0ZrcUNSTTJoYUltaWRHb0NWZE9UQkZC?= =?utf-8?B?UFJyd0RTNjR6aEFNbkRvOTdnVUwySmp5S0x2LzErRU85M1Nqb3QxWEJoWFB0?= =?utf-8?B?ejdhY0w5d3NWQnMramEydTk3SkNXVzF2YldSemo3TG9jMjE4a2VoZ3FrYXE5?= =?utf-8?B?YXBwU1FBdnIxMmVIYWIxQ0RvdUdwRGlUNVBhWC9xQVpzT2pOWGpmNXFwdEJB?= =?utf-8?B?NHdBMHl3N010aFJwUEt3cWpVRnMvWC9uY0F3blpJT2J1elpHQnVic1hEMjY2?= =?utf-8?B?WjI5T2tuTDc1NlFHQzdTWDhBNlFoV0hDbVVUQ3BvdzhXY05nQ2pEekpZczF6?= =?utf-8?B?TVE3cGxWbDJQYjhWbkY3Ry9RTm52NTJxUXU3RGNmclJyOW96Tjd4TElSKzhm?= =?utf-8?B?MXFkK1pqeUlXSW5CdFFaMFhabk9iTmdMZnFKQjJpNzk5aVMza05RMG16RGt5?= =?utf-8?B?YjQxYVpFSkVLbC9RTjhhSnd1RWhKakdLUVVSOXBaT1c4cWRZRll5bTV0SlR3?= =?utf-8?Q?qFW+06E4D8Po45ZRwuI3dJalW?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58b284a6-1518-446b-b877-08dc8a6fafb5 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2024 23:39:07.5549 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SU8eSPmfSjAdPbm5fBah111MVv7qG7KPYXgGV2ceHPjQID/AhgYXZ9LV5aG71Td1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4240 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 6/2/2024 3:45 AM, Damodharam Ammepalli wrote: > Update the eth_dev_ops structure with new function vectors > to get and set number of speed lanes. This will help user to > configure the same fixed speed with different number of lanes > based on the physical carrier type. > > Signed-off-by: Damodharam Ammepalli > Reviewed-by: Kalesh AP > Reviewed-by: Ajit Khaparde > --- > lib/ethdev/ethdev_driver.h | 49 +++++++++++++++++++++++++++++++++++ > lib/ethdev/rte_ethdev.c | 26 +++++++++++++++++++ > lib/ethdev/rte_ethdev.h | 52 ++++++++++++++++++++++++++++++++++++++ > lib/ethdev/version.map | 2 ++ > 4 files changed, 129 insertions(+) > > diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h > index 0dbf2dd6a2..b1f473e4de 100644 > --- a/lib/ethdev/ethdev_driver.h > +++ b/lib/ethdev/ethdev_driver.h > @@ -1179,6 +1179,51 @@ typedef int (*eth_rx_descriptor_dump_t)(const struct rte_eth_dev *dev, > uint16_t queue_id, uint16_t offset, > uint16_t num, FILE *file); > > +/** > + * @internal > + * Get number of current active lanes and max supported lanes > There is already a 'eth_speed_lanes_get_capa' dev_ops, why max supported lanes returned in this call, instead of capa? > + * > + * @param dev > + * ethdev handle of port. > + * @param speed_lanes_capa > + * Number of active lanes that the link is trained up. > + * Max number of lanes supported by HW > + * @return > + * Negative errno value on error, 0 on success. > + * > + * @retval 0 > + * Success, get speed_lanes data success. > Success, speed_lanes_capa filled. > + * @retval -ENOTSUP > + * Operation is not supported. > + * @retval -EIO > + * Device is removed. > + */ > +typedef int (*eth_speed_lanes_get_t)(struct rte_eth_dev *dev, > + struct rte_eth_speed_lanes_capa *speed_lanes_capa); > + > +/** > + * @internal > + * Set speed lanes > As we are on the subject, we all understand what "speed lane" is in this context, but I am not sure if the naming is descriptive enough, how this is referenced in datasheet? > + * > + * @param dev > + * ethdev handle of port. > + * @param speed_lanes_capa > + * Non-negative number of lanes > + * > + * @return > + * Negative errno value on error, 0 on success. > + * > + * @retval 0 > + * Success, set lanes success. > + * @retval -ENOTSUP > + * Operation is not supported. > + * @retval -EINVAL > + * Unsupported mode requested. > + * @retval -EIO > + * Device is removed. > + */ > +typedef int (*eth_speed_lanes_set_t)(struct rte_eth_dev *dev, uint32_t speed_lanes_capa); > + These new dev_ops seems inserted in between 'rx_descriptor_dump' & 'tx_descriptor_dump' dev_ops. Can you please move them just below 'eth_link_update_t'? > /** > * @internal > * Dump Tx descriptor info to a file. > @@ -1474,6 +1519,10 @@ struct eth_dev_ops { > eth_count_aggr_ports_t count_aggr_ports; > /** Map a Tx queue with an aggregated port of the DPDK port */ > eth_map_aggr_tx_affinity_t map_aggr_tx_affinity; > + /** Get number of speed lanes supported and active lanes */ > + eth_speed_lanes_get_t speed_lanes_get; > + /** Set number of speed lanes */ > + eth_speed_lanes_set_t speed_lanes_set; > }; > > /** > diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c > index f1c658f49e..45e2f7645b 100644 > --- a/lib/ethdev/rte_ethdev.c > +++ b/lib/ethdev/rte_ethdev.c > @@ -7008,4 +7008,30 @@ int rte_eth_dev_map_aggr_tx_affinity(uint16_t port_id, uint16_t tx_queue_id, > return ret; > } > > +int > +rte_eth_speed_lanes_get(uint16_t port_id, struct rte_eth_speed_lanes_capa *capa) > +{ > + struct rte_eth_dev *dev; > + > + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); > + dev = &rte_eth_devices[port_id]; > + > + if (*dev->dev_ops->speed_lanes_get == NULL) > + return -ENOTSUP; > + return eth_err(port_id, (*dev->dev_ops->speed_lanes_get)(dev, capa)); > Shouldn't we verify if 'capa' is not NULL in API? > +} > + > +int > +rte_eth_speed_lanes_set(uint16_t port_id, uint32_t speed_lanes_capa) > +{ > + struct rte_eth_dev *dev; > + > + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); > + dev = &rte_eth_devices[port_id]; > + > + if (*dev->dev_ops->speed_lanes_set == NULL) > + return -ENOTSUP; > + return eth_err(port_id, (*dev->dev_ops->speed_lanes_set)(dev, speed_lanes_capa)); > +} > + > RTE_LOG_REGISTER_DEFAULT(rte_eth_dev_logtype, INFO); > diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h > index 147257d6a2..caae1f27c6 100644 > --- a/lib/ethdev/rte_ethdev.h > +++ b/lib/ethdev/rte_ethdev.h > @@ -1997,6 +1997,12 @@ struct rte_eth_fec_capa { > uint32_t capa; /**< FEC capabilities bitmask */ > }; > > +/* A structure used to get and set lanes capabilities per link speed */ > +struct rte_eth_speed_lanes_capa { > + uint32_t active_lanes; > + uint32_t max_lanes_cap; > +}; > + > #define RTE_ETH_ALL RTE_MAX_ETHPORTS > > /* Macros to check for valid port */ > @@ -6917,6 +6923,52 @@ rte_eth_tx_queue_count(uint16_t port_id, uint16_t queue_id) > return rc; > } > > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice > + * > + * Get maximum speed lanes supported by the NIC. > Isn't this API to get the current lane number? > + * > + * @param port_id > + * The port identifier of the Ethernet device. > + * @param speed_lanes_capa > + * speed_lanes_capa is out only with max speed lanes capabilities. > + * If set to NULL, then its assumed zero or not supported. > Why NULL 'capa' is supported? > + * > + * @return > + * - A non-negative value of active lanes that currently link is up with. > + * - A non-negative value that this HW scales up to for all speeds. > Isn't the return value only for status, error or success, and data stored in 'capa' pointer? > + * - (-ENOTSUP) if underlying hardware OR driver doesn't support. > + * that operation. > + * - (-EIO) if device is removed. > + * - (-ENODEV) if *port_id* invalid. > + * - (-EINVAL) if *speed_lanes_capa* invalid > This is 'get' function, how 'speed_lanes_capa' can be invalid? > + */ > +__rte_experimental > +int rte_eth_speed_lanes_get(uint16_t port_id, struct rte_eth_speed_lanes_capa *capa); > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice > + * > + * Set speed lanes supported by the NIC. > Should we document somewhere that this is only for the case Auto Negotiation (AN) is disabled, otherwise AN will figure out the lanes. > + * > + * @param port_id > + * The port identifier of the Ethernet device. > + * @param speed_lanes > + * speed_lanes a non-zero value of number lanes for this speeds. > Please reword 'this speeds' > + * > + * @return > + * - (>=0) valid input and supported by driver or hardware. > Lanes set successfully? > + * - (-ENOTSUP) if underlying hardware OR driver doesn't support. > + * that operation. > + * - (-EIO) if device is removed. > + * - (-ENODEV) if *port_id* invalid. > + * - (-EINVAL) if *speed_lanes* invalid > + */ > +__rte_experimental > +int rte_eth_speed_lanes_set(uint16_t port_id, uint32_t speed_lanes_capa); > + > #ifdef __cplusplus > } > #endif > diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map > index 79f6f5293b..9c27980f3a 100644 > --- a/lib/ethdev/version.map > +++ b/lib/ethdev/version.map > @@ -325,6 +325,8 @@ EXPERIMENTAL { > rte_flow_template_table_resizable; > rte_flow_template_table_resize; > rte_flow_template_table_resize_complete; > + rte_eth_speed_lanes_get; > + rte_eth_speed_lanes_set; > Please follow the syntax in the file, add "# added in 24.07" comment and add new APIs under it alphabetically sorted way.