From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0077.outbound.protection.outlook.com [104.47.33.77]) by dpdk.org (Postfix) with ESMTP id 699AF1B198 for ; Tue, 16 Jan 2018 12:43:25 +0100 (CET) Received: from BLUPR0301CA0038.namprd03.prod.outlook.com (10.162.113.176) by DM5PR03MB2697.namprd03.prod.outlook.com (10.168.197.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 11:43:24 +0000 Received: from BN1AFFO11FD046.protection.gbl (2a01:111:f400:7c10::108) by BLUPR0301CA0038.outlook.office365.com (2a01:111:e400:5259::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.407.7 via Frontend Transport; Tue, 16 Jan 2018 11:43:24 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; NXP1.onmicrosoft.com; dkim=none (message not signed) header.d=none;NXP1.onmicrosoft.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 BN1AFFO11FD046.mail.protection.outlook.com (10.58.53.61) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Tue, 16 Jan 2018 11:43:23 +0000 Received: from b27504-OptiPlex-790.ap.freescale.net (b27504-OptiPlex-790.ap.freescale.net [10.232.132.60]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w0GBgtjR014705; Tue, 16 Jan 2018 04:43:21 -0700 From: Nipun Gupta To: CC: , , Date: Tue, 16 Jan 2018 23:28:00 +0530 Message-ID: <1516125485-28919-8-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1516125485-28919-1-git-send-email-nipun.gupta@nxp.com> References: <20171215130828.14218-1-sunil.kori@nxp.com> <1516125485-28919-1-git-send-email-nipun.gupta@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131605766038699817; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(346002)(39860400002)(39380400002)(396003)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(6916009)(2950100002)(296002)(316002)(105606002)(54906003)(106466001)(2351001)(8656006)(48376002)(356003)(305945005)(53936002)(76176011)(5660300001)(16586007)(6666003)(2906002)(50466002)(51416003)(47776003)(4326008)(498600001)(8936002)(36756003)(86362001)(85426001)(104016004)(8676002)(81156014)(81166006)(50226002)(68736007)(97736004)(26005)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2697; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD046; 1:xMDfEwyRpTgPrXPRdpkHXk/3h/6DZmoNqXduzmHZWoYB32jwsH4P2kmNCU84DTRXJFW+0m2pJ/P3SiLBQrn/IB2VRH/z3tNecINxo/2ZoC/iNwMd9qDr4oRWOEppvsQg MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 025c48eb-c059-4bc9-3f29-08d55cd65998 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:DM5PR03MB2697; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2697; 3:ttj83XR5jrO/LFj4Qga2iGQlbgYdHcXdB6U6Ah14MGEVAvfm8oE0NgsIhv32+e0Xjcf8i2UUklPWEay+aQ8rrGA6GbRi4gDbUsOqn7Fb5MrbM5U1MoDhlTYwyBEMNIb1b6+LJ/832B5pjY2o0l16JIWU5/mPo11o1DRRaROIltCvT4gBJMbkVHCOMbGavYnATZSUdFWoIJ0TtLSReiGXSrKNiMndV9CstNyTggEFr+V95l+Mq5a1ZfK2lddWl2TEZsGOGNjO6u614X5qmbHBqQkH8jBQxhwcufMhD3skt7dqA6MLbaQHdX4LHnGcWfBBf/N9d8ZQfmn2kHExbGtAPmAx/k/7/PkrQp7edbey2nI=; 25:JychtkF07mVnEvuCOh4g4YwwRJWtWmtM8SV4Am7nF5kv7b14yO6rO+H+SBlUUAyweEqZKGZ4svoW0+me9r2Cs7PxeWVhQFC0EUQ/9m3YCdmrjZr5oSn4T4Bq0d3S27yHckMgaU6dPBYEoGDX/BrMvyq7wtSOIfWpQvYrQYP0O/GjVQXQw4RoymWwuUNc22q3EVkSWD5KM3oEVAeIx61gcewYFoVJcQ2/jKoYRQM8hTRO96dyT9LwKs9p/uIAp92V+myK5jMTZchSfhhFE2YYRv47HJl0Cj/yu/j1WJHvFf+Rol3u5Hpj1bl0UbAkyHPV0cGKpB72cn6s+J2D4eihHA== X-MS-TrafficTypeDiagnostic: DM5PR03MB2697: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2697; 31:IxtMvzIQqyEpC01KyxPVGsmNdcxsO19NyBffB7copR3cBQAVNzsIYt/2/iHEz9zQIdeYA+2y1PQPG1Tb9vktroSeFqKbXr1aEjfYLH19L4+Px45f77dIcC8/EM/aRtuNvceOmJXO/6sD80bCGTehHLmjxruPg7P96mHXDtiBhJaa6B2vquj9eY/FU+ZlkQ1qxDHZi83+lpohcPtVmGsMfNuD6zOWm9Z0bv3rlYIRrPw=; 4:QyBdDK8di40+uqfkm23XYKyf2EVHDm6k3KWAvlbLGjMTuZFqx4pelyqmVBZZnFnv5YhaIaoyjsAreL7N0Xwt0bfeLuWPbtVONNpUCCsa8+eh/VdsEUqhrGXuckoWGI/Ssoq9IuLP0BX2UzUGsqK4jYLSgVwq2+5LaaLm3PL7IsYncNMmM1457ZpQQb48wtw/Zbj41o2mSnKf7a4nlllvaM/ZvE18hGl8SXLOar3RhOEkSo/US/BvST3Cf61kAtJKrkSYp+GkPDD/NNaBePub5qBny0Tqca7zDg5g2eS0GcPnUC+HJA8v/CotNKU4KL39 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231023)(944501161)(6055026)(6096035)(20161123561025)(20161123565025)(20161123556025)(20161123563025)(20161123559100)(201703131430075)(201703131520075)(201703131448075)(201703131433075)(201703151042153)(201708071742011); SRVR:DM5PR03MB2697; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:DM5PR03MB2697; X-Forefront-PRVS: 0554B1F54F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2697; 23:JvA+Cp8u1JWBaxV/WmzAxJepvIc8d+fxxVZFm5Jl5?= =?us-ascii?Q?BvUfagFwsb4idbicX/0MF78eIiFcyNaOKRPoc/6pZbscHd6vyccDkH3lBgv8?= =?us-ascii?Q?0BB+wQAVaFQrThulSLnh9Jg0tQU66xJhTddE6sE8R5DowlG/Yfb1sxTtfKaL?= =?us-ascii?Q?CU8HRGU1qwG/DvpfpQGtpcy4s7qMe8i3z03bfS86iQNxqqlaJYqAHJW3Bmmq?= =?us-ascii?Q?x/8U8Bkfu7wQ1fWvNSxtb560iPhaav6QG7QfDkzzq7t7q26/IB3RorYUDvlJ?= =?us-ascii?Q?IMsm8nsGJwphFmRV8+6ypPPMrXE3F3ybyArP2BIobWApOlUOBYdBXr8M07/I?= =?us-ascii?Q?jdKY+mVS7appB3EU1TXEQxacv/FRGgoA0g2tjgstOzKip6mgGDlBnIRUw9qm?= =?us-ascii?Q?Wh3XLN6R26M6HBnPbdkICnTj4Az0TqqgySAqNQ2i7GsWZNyEItG4FXV6Q0jk?= =?us-ascii?Q?yyXLqG1rCEaZ4mv9IAmhDTm7BeviH4W/VzSzHa/l362VNMD1KzbeN0kPhR2s?= =?us-ascii?Q?A5xqoUqIbvFFAkcbB95DjBVeR6p8lVBSLONqmwbCWHx1ALNYUEdzQrwWtnU6?= =?us-ascii?Q?36CQ9OeQ/Huv350RDiICsu3l9JP2gW8Xd6yWNjhT3VFqHBniSCE9md6P6F1u?= =?us-ascii?Q?QU1qkdRGiKfp8+BR1VBQa+Ork0gy9HWl99CafA0ikaHGD1YP4YRhw21nQFf6?= =?us-ascii?Q?s0ao+hst6si2/Tpggp2K95umtjUghj3UBp6I4JoK52ouzLgMdIbYReOvgvZd?= =?us-ascii?Q?6g8sAwqJD4hsVyMjlDRHm3awwRm+tZG3pbyG2Tli565cNjROJLaaP3+YYRKl?= =?us-ascii?Q?BXKoi4ka+hO3F4N5BYa9X1mCAwIkpYFOh/tJ8dF4OkOmhZz0TYUQuFFwwqD4?= =?us-ascii?Q?j6LJ12G6zN0Pm8GUS3l8EbRLDh3N0zmylu+F+X5e81lCUon5RoK+JDa6uHVb?= =?us-ascii?Q?fNM2yV6+NiM7NrRcoolD7ac5/zlD6LJ7C5wyNY70To9QdxGly+QTrCh2gN6g?= =?us-ascii?Q?6iJtW8TOhZo5q41yUq4T0cG5whTliHCbaS/GJ36V4E3YrKTVrtj1snLXIJZr?= =?us-ascii?Q?jcf5q7AXv957ivH5MCa/xdEDGe0j+0I061egJ9wBfD2Emn6Ng=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2697; 6:6GP1ajRvErxfyVKU36NioW0pF4x3CmCl7f20o7D3s9T7ICfeMxe1u46ITmfLFi+OWagDMbrdYiS4cCQBw4xGnzcIolHASyBZPr3ynmTd0NwQ/45oSJuBnZHnacwYFMg/7adSwbZTfGD2PHva7fP8Z3r0xKctpSTReYhSSxgVYFzjiT0xjABnu3EgbwEZA6scqGQpcrdJgyBBSZ0lM9lkzqQA3GuV0303dGwunLPduMr+YmsFYmTjNoVrpC6A9sEBBwj/wiqqRlq2hjs3IBpETzr9DfhVNeD2KldKC1uPZojG5dJ0PErl/XXK7jEhk5Umk8NJpyEBGj988tQdoE6sRZ1vUpCOmpYQv1bsxKtY2jY=; 5:NbJ9CyDmLe3OfOZBDVjeoEtSjoDTuPHvDxoNOk00AMnAI1AxkSWM5GXvBAAfoxDKfbS/l4bOoEqkWPI4Aixi0VIgKiPMSevLMkPVL2yJgodeaQjsqYQK+KgIcq3G/Zg4Xr7BEWlXFag0uKbX9TVE7QOR42yQAIfZJS65b48gK4Q=; 24:OJ6RFjSPfD6fJDgh2JyoSTg2loiBfq6AWemdWMEtgtfsiwuMfNHrEjHT4wZuSKjwx0DI20BVs2/bRdjFBkAz3JYxOXzzxjrCIesTsL0TMVQ=; 7:yLFfwyN/S/fYSca5Kgbn8ZkoOsSkc57TXE8yCjqc7qfLI9YRvNyYoLFEORLi6ELiq66m2aj2Zl9YuMusUFBjJDvPJVOJJ8rFQJbsNaAqsTFpWHPbHjMXezuf3F7C9NH4kn5rUG/k8+LJcVgwx+ntF4B/X02rhb+1iQbAxcrgGHhTTzcbX7XiTHaadJjkJVbrI3vY3KJn9r+Mhb4IAy6GggckOSgIOgd5N+gizZZt3FguZzMR9Kd7Ru+xCPy4d5ie SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 11:43:23.4331 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 025c48eb-c059-4bc9-3f29-08d55cd65998 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: DM5PR03MB2697 Subject: [dpdk-dev] [PATCH 07/12 v3] event/dpaa: add event port config get/set support 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: , X-List-Received-Date: Tue, 16 Jan 2018 11:43:25 -0000 From: Sunil Kumar Kori Signed-off-by: Sunil Kumar Kori Acked-by: Hemant Agrawal --- drivers/event/dpaa/dpaa_eventdev.c | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c index f1db711..82362d5 100644 --- a/drivers/event/dpaa/dpaa_eventdev.c +++ b/drivers/event/dpaa/dpaa_eventdev.c @@ -247,6 +247,106 @@ RTE_SET_USED(queue_id); } +static void +dpaa_event_port_default_conf_get(struct rte_eventdev *dev, uint8_t port_id, + struct rte_event_port_conf *port_conf) +{ + EVENTDEV_DRV_FUNC_TRACE(); + + RTE_SET_USED(dev); + RTE_SET_USED(port_id); + + port_conf->new_event_threshold = DPAA_EVENT_MAX_NUM_EVENTS; + port_conf->dequeue_depth = DPAA_EVENT_MAX_PORT_DEQUEUE_DEPTH; + port_conf->enqueue_depth = DPAA_EVENT_MAX_PORT_ENQUEUE_DEPTH; +} + +static int +dpaa_event_port_setup(struct rte_eventdev *dev, uint8_t port_id, + const struct rte_event_port_conf *port_conf) +{ + struct dpaa_eventdev *eventdev = dev->data->dev_private; + + EVENTDEV_DRV_FUNC_TRACE(); + + RTE_SET_USED(port_conf); + dev->data->ports[port_id] = &eventdev->ports[port_id]; + + return 0; +} + +static void +dpaa_event_port_release(void *port) +{ + EVENTDEV_DRV_FUNC_TRACE(); + + RTE_SET_USED(port); +} + +static int +dpaa_event_port_link(struct rte_eventdev *dev, void *port, + const uint8_t queues[], const uint8_t priorities[], + uint16_t nb_links) +{ + struct dpaa_eventdev *priv = dev->data->dev_private; + struct dpaa_port *event_port = (struct dpaa_port *)port; + struct dpaa_eventq *event_queue; + uint8_t eventq_id; + int i; + + RTE_SET_USED(dev); + RTE_SET_USED(priorities); + + /* First check that input configuration are valid */ + for (i = 0; i < nb_links; i++) { + eventq_id = queues[i]; + event_queue = &priv->evq_info[eventq_id]; + if ((event_queue->event_queue_cfg + & RTE_EVENT_QUEUE_CFG_SINGLE_LINK) + && (event_queue->event_port)) { + return -EINVAL; + } + } + + for (i = 0; i < nb_links; i++) { + eventq_id = queues[i]; + event_queue = &priv->evq_info[eventq_id]; + event_port->evq_info[i].event_queue_id = eventq_id; + event_port->evq_info[i].ch_id = event_queue->ch_id; + event_queue->event_port = port; + } + + event_port->num_linked_evq = event_port->num_linked_evq + i; + + return (int)i; +} + +static int +dpaa_event_port_unlink(struct rte_eventdev *dev, void *port, + uint8_t queues[], uint16_t nb_links) +{ + int i; + uint8_t eventq_id; + struct dpaa_eventq *event_queue; + struct dpaa_eventdev *priv = dev->data->dev_private; + struct dpaa_port *event_port = (struct dpaa_port *)port; + + if (!event_port->num_linked_evq) + return nb_links; + + for (i = 0; i < nb_links; i++) { + eventq_id = queues[i]; + event_port->evq_info[eventq_id].event_queue_id = -1; + event_port->evq_info[eventq_id].ch_id = 0; + event_queue = &priv->evq_info[eventq_id]; + event_queue->event_port = NULL; + } + + event_port->num_linked_evq = event_port->num_linked_evq - i; + + return (int)i; +} + static const struct rte_eventdev_ops dpaa_eventdev_ops = { .dev_infos_get = dpaa_event_dev_info_get, .dev_configure = dpaa_event_dev_configure, @@ -256,6 +356,11 @@ .queue_def_conf = dpaa_event_queue_def_conf, .queue_setup = dpaa_event_queue_setup, .queue_release = dpaa_event_queue_release, + .port_def_conf = dpaa_event_port_default_conf_get, + .port_setup = dpaa_event_port_setup, + .port_release = dpaa_event_port_release, + .port_link = dpaa_event_port_link, + .port_unlink = dpaa_event_port_unlink, }; static int -- 1.9.1