From patchwork Tue Jul 31 10:33:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 43458 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 C82242BA8; Tue, 31 Jul 2018 12:34:14 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70083.outbound.protection.outlook.com [40.107.7.83]) by dpdk.org (Postfix) with ESMTP id 2338D2B92 for ; Tue, 31 Jul 2018 12:34:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3ZnQn8IFSLWtp7PnXIqiRMVqzvLlMwVf8zxLgvxUdYc=; b=Ad6winR2gubUt41hO+X0hGxEJ7fw1SXDVwjTMWAljAqzl06+S5VWnfq6BNfMO49xpYIOkDzp4RksS92c8cfK5d219g5ixEppxQnEcl6ujm1o9teMlf8zSpXpnFengWFwKDPUiKzPD2YaeC5wgDG3hyGr28fiS+ZRujrer+xYvHU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shreyansh.jain@nxp.com; Received: from Tophie.ap.freescale.net (14.142.187.166) by AM0PR04MB4675.eurprd04.prod.outlook.com (2603:10a6:208:75::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.19; Tue, 31 Jul 2018 10:34:12 +0000 From: Shreyansh Jain To: ferruh.yigit@intel.com Cc: keith.wiles@intel.com, hemant.agrawal@nxp.com, dev@dpdk.org, Shreyansh Jain Date: Tue, 31 Jul 2018 16:03:02 +0530 Message-Id: <20180731103303.14988-2-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180731103303.14988-1-shreyansh.jain@nxp.com> References: <20180731103303.14988-1-shreyansh.jain@nxp.com> MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::21) To AM0PR04MB4675.eurprd04.prod.outlook.com (2603:10a6:208:75::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2e7e4e7b-485d-4efc-ce0c-08d5f6d1289b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4675; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 3:w2yWFUweTrvTdVbmVmuyReJtQSXXseIp6Z/T/rzPocCONnDK8mQTWBWtSB8aVcfXix5v/kzbVh88sq9mdv8YiEMirCz9qRNUzth5EoCGIGBZkraH31q1wVzz+DzAnytZYGEd+h2NOGcBmRDXNt1+1PEY/wjq+H+hSxHALOL4Wpcv5aist8XzEiNF6YRBQCMn1sgg22I47NCfY9GfMKXTQy7d5Vwv2FEy9lXAogqBZsKM8fgh9UNBaGoa2x9GTsRT; 25:x63pNgdFmZh0e4HVwoV8cAPNbY9saRx6TJcYqc6j7E0igGGn/8ScLbt5Hy/b4MvkmNJGNNxgc0Qo4eLcv/o9ZVLbKFWCZJq7aQm/B2/6+bcgtMo4e9di6IR4pKnS8NsURXvXDib7XzhuszltA1+4UwBDOwQjLW5H3z1JynDnLLr5KPQZ2Eznjj1cdRk8pW4twpvSSUaZ2c4v08lLPtZIt0iQrNajUjEPqAO9lPVpiN7KabUQOZBRvN/uot3Fkx674x2emAd/WGHMwVaYQEiTyva538ol7ZgNnevGp7aLncfuxwvXi9XNzqIN+2Z8I+9GpmpzYLvke2C+qNerjeo7mg==; 31:sb5Iqs9RGh7W4F2+RO5vVmF/CtSK5VIG0IkQNJeaEPZQs3qACxGsoJqHW5D9k4nM2ukpsfG95FEqbhhG4gAFFLdfLOXbu08hvSX8WIwOWGt5qVfcUDWuQP43QeAP39WBp3MibYd/szVn69wBznAs+PpskhYLoMXNfLfGLfX5NPGl8/HSVIZQdCKv0nw+f6g6dYF8u+3YtHYAwED/lXixmmjbNgZG1o6Aen2JI4W8sVo= X-MS-TrafficTypeDiagnostic: AM0PR04MB4675: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 20:ngKEMU+KcIvhzySYm2iq/6U3jSI2WHaTCxoc+9oVrx9ItZMgT3rtQk4d+xn8tr22XEcbYQ9ojulk1yOk+x6NuptMrW1WtndyR4La6Mm0P5+O94Pcjo77527nUjirgjW5xWoRxmX5S3gs7axlQwRSt8Ks8lI6quG03bnHhB9QL71LbvVdnUJHUSE5qSm69Fe0KYIKIPJ2eoMJIOThEaKvpmNoEFt9glRjKW+THE/FNGcmi9dCaZU0cELyIXqx0gGD2Ga7joRNAJmRRAgf5P/Yy2oQERzO1la5mw46/4MDffAIU/uMd9dw6DHUa7XxZ3dkkpBfUTeMqvOnEW4vUZJLkQ5CoAjb+Hsx/f4zxsUbXxul4gEZXYMfpSS9GirHCcLOOIOc47/jdmA0+iCyaWMbKvpx3XfNYXYiw23cfuStxDfJmi81t/0xRA1YHmGzpnww0Edv8G4qRnLPSyAqr8Bg9ZBsBMJ1jmv4+1ej6eONr+U2+tO+jvvVSQHZyJcHCxp+; 4:z7W58GKDpiz3DsG/DaTqd8fwk5qPl6/wo8T/FZEP2QWchLUtrt6nHo+bEspX5Vb69COq97MkqZWxVmRbTXtoDinEceFeGozofbmuPWNGVGRNAnFWoabRsdpqNCK5ha/O5kHF1umOdLSCvOvsdKUI5BEAcu89f+Y4QDxovJiKR5YAIfZ8J0x//NbJIBARuy2dGsFx6hXpBAMhOwWTwWElcRAO1zplf+aXm9e7k+qJWZ2dtA6HBY428G4RIaOYxlZWeJtNmeHQRCqO/aOTDa5ODI8XVQnTJj5mg8vHJY3DJCRF9PYDn0oQcO6zc+zYi17XEQjQjX6ulKAa5Ij8n2lqxzI6fCyZYYOG6DCNjZJr0Yc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM0PR04MB4675; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4675; X-Forefront-PRVS: 0750463DC9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(136003)(376002)(396003)(366004)(346002)(189003)(199004)(106356001)(105586002)(956004)(53936002)(6506007)(305945005)(386003)(4326008)(25786009)(47776003)(2616005)(6486002)(66066001)(6512007)(55236004)(86362001)(2351001)(186003)(6116002)(2906002)(3846002)(97736004)(36756003)(478600001)(11346002)(48376002)(16586007)(68736007)(50466002)(5024004)(16526019)(446003)(26005)(5009440100003)(44832011)(51416003)(6666003)(476003)(76176011)(7736002)(52116002)(1076002)(50226002)(81166006)(5660300001)(8676002)(6916009)(316002)(81156014)(486006)(2361001)(8936002)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4675; H:Tophie.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR04MB4675; 23:LsFI8KtPaW5jrMs+3oAg2bDhV/C/bf/Fp/FRCnXsd?= Ubw+M8oy0hR0mhmCrBSqWNxHTC2Pm1cPUZUDtQ1YkO0owoAF8exzSsQY+3EI9SkZDmm0wZ2xYKo8mn3VD+to43QVOR3JXQUpSYFHk3xfXU9i+f9SJRNe/2sPjC3jW07M3xd1SeUzvqYZnB9ydzJPIGHYZ582W7zy7u39McvKs2EZFSuLyGP77NhuFshlaAlh3dM2ffIpfCgJRXqIF2HK4t1MOsJnTHL8XybMr31K2tmHS8vfx/DmixO6Yg31xEkCcs2TYt53YElleDeseCYwNiObGBHDbvM/YYrnaZCJFEyOB64qcHJ3AQNc+GOWWaOjkMGwidVnBJdvf6xQ/rc71ki5dnm8uciPDXMSj9LmQk0voxHL6uxeA4Ej9jlJMV5ylnlLHWyv3Jn6Kb1rmJhWi+Bv6pfA3x/icm2YfKCbALDOjCANumR5t/q+1eiVNWdp1YdHtN4WqF4grRb/YKcj2cDsHy2GSc8/QoZRLSlpt5IdPNF0Epci6OcCZfRJwT9sFjnF3v5Os6B3Yw+bscNpobdThZQn1jdtZZkB1nzHTqMmnS73ZTZSch+x1eMB8Cd/6FP8CFn7rjbeLuoMhjSoB1pN4K7xJA8z6611l8pL5G3a/sBObDwpanizV2blJA3a1HiSUrKoE78V7OUe0emrtPdsFMPlcmyCtPwFLZPssvGK2aO8UhKSFtcAX3J0STKfICDoTzvDN08fTTCkCQOudSCF9HWsmMKtWzbSrsi4C2r1HNZ+kgH06rhSBxpHtH+j/vgV/z9y7ES1VwdcaRQMRoSi14lBOlK7FF7uxcFSNqJsztKK951onx3GZcNznkVT0U9a86wtyR5d83tqoykYj+YhIxZz5Ree5ziTdp339cN9vE/lk8G1K7saKxaZSbK+wrGK7mwKKIQTlAo/cU64qsv7/pWUtAMWL7clNhpIHtGnXg4oquEau5UPzf9rbE5fSw0ZSMZd70J0xfS9pE8nqZNUUN7AcmO+66xC5V73m4ny+UTIDzuhq5dtQV1GNnQSmrHTE/tY+HU9ybyy/D8NuZYausjZceJ087S8eY5dOHSRFVmpeZWL0l0+vZEfBa+PohcTpodTMRfL70hdig4lH3MsU9Wxf0ELVlb06JQCzjyu0t9uJtfJmXOcBrkHDezXAN6gBtnPzJ4GbMbMbLfaWaJsEkmkN3Sf9MSguy91yLgWtnv3MzVJVoTQLWiMgVSjPkLQOxlSbsuSin32HzQQDYYYARiNAyB/2oJph1MPtaGL6faQmTfdJR3DIMVll5Q0mUl+d//nZHq3Fv+IEx1Ucvj X-Microsoft-Antispam-Message-Info: NFFpBw1iHMrbqb+MMqUE1gZ/NuxNZHKSSVCwXzcBxa8rMrZrAVp7eztKPSS6bPEOpAKy3WZ6sMnnenKyW8lXCO4cHjAENdRYSRCdTdHC5V/vpgoqmMjG747bpcHY35LXRZoizrvdplE6x2H/HGPZtSYcUuZrkHeD3P0wTKXANLZJfYgrsMlMv28I88qlJmOK+p82vLnsQ0bKxzO1O6UHrsszfeQXG+Dry4Rpjf78PgOWglsDoRA8T2psoPny5Qxq6erfJ9/hShcw6X9RL6AfaVeM61BAG9Z9M3U5eFNeGRPm51c2Dw3UMXYOGjNwCWKStePEBPJi7m3wAEosAE8HiRT/7/1JwQjowIR1QMNCrEU= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 6:S6As38LgE08uQiu6QQbco2aMYSqm2cGV+t+ltcdTV8z82HA6s61ttNLGN+eoTNZFQbqT4N13p+po1qIMHJ2lF7UWVKce7IOxO3Kf+I79YtvzmlqUpTG5JtMZErWIl23zenFqG9vURSPtzMbHIoSrja0DFK7uLdpITQNjQ4N8/uvRArED5hzrFRFNdoPc7MWjNpPDtk8/IYq0i96Cym1hd+RhtljIwcSzH34JAUEUEpBB4ANPT490xutz2KQYc6mjJVNueUUnDcYkbckOyK+/mNo9jibL2p78q/pvwcT6voS+H9dQRCzpVhIeb4DBOJS9iEJ6qK2NYzXs2zUERRTXsrFQ6iHZGSFnVbIY/KcDLZhNboHGEe1bO7SGQJz80wpIuoyCTRVkjdTiLwvJzfBr12SreVGVDPGJCtvwMthKaEhBKLfP4hhoXs5IVsE7t0lAcVRReoVakskUE5UPDqqV+A==; 5:edIIrv481OzacY1IH6J3VtGssDhrfhiYuFL2jJxxjf2v9F9WQbLg0nmgiOsiJONt+yYr1fkKYH8OJ8p/PqUgmRnoFRNpGRSUamClyQ9u9CC2cePRO60myxlZvzdKG3WnKUYGnHevF4byStpCm5pMUiznrY8kDKcoOKTJabM6KDk=; 7:gtZtVDB/Rh/y7eE90wwYyHE9RASPgfuMh5BkMdhZdLz4EdDXUVhT1sazogucNhz5KYI4vH0OmQxcU4BlZqOtlma1RH3xPT/FpiS61STG2zWBmncfpVcdX4Kl7GyS/fNVP29qSe/RXJiCpmeI51ud1lDiwvHTvAb41pPjT39TY1e+2+bxpHuJssnq1KLrTAWU3swyl6E7K9o17IaNLDPPxzMy0XWkt5BDwuBpA01bYtUS4Ie436hQBkBjjmlX8iZe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2018 10:34:12.1782 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e7e4e7b-485d-4efc-ce0c-08d5f6d1289b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4675 Subject: [dpdk-dev] [PATCH 1/2] rawdev: fix missing queue count API 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" Rawdev queue count API prototype was declared, but the definition was missing from the library. This patch implements the function. This API is used to query the device about the count of queues it has been configured with. Fixes: c88b3f2558ed ("rawdev: introduce raw device library") Cc: shreyansh.jain@nxp.com Signed-off-by: Shreyansh Jain Suggested-by: Keith Wiles --- lib/librte_rawdev/rte_rawdev.c | 12 ++++++++++++ lib/librte_rawdev/rte_rawdev.h | 1 + lib/librte_rawdev/rte_rawdev_pmd.h | 20 ++++++++++++++++++++ lib/librte_rawdev/rte_rawdev_version.map | 1 + 4 files changed, 34 insertions(+) diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c index 7378bfede..62b6b97ef 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -172,6 +172,18 @@ rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id) return (*dev->dev_ops->queue_release)(dev, queue_id); } +uint16_t +rte_rawdev_queue_count(uint16_t dev_id) +{ + struct rte_rawdev *dev; + + RTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL); + dev = &rte_rawdevs[dev_id]; + + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_count, -ENOTSUP); + return (*dev->dev_ops->queue_count)(dev); +} + int rte_rawdev_get_attr(uint16_t dev_id, const char *attr_name, diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h index 7988e76af..684bfdb81 100644 --- a/lib/librte_rawdev/rte_rawdev.h +++ b/lib/librte_rawdev/rte_rawdev.h @@ -182,6 +182,7 @@ rte_rawdev_queue_setup(uint16_t dev_id, */ int rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id); + /** * Get the number of raw queues on a specific raw device * diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h index 6d6cf14a1..bb9bbc350 100644 --- a/lib/librte_rawdev/rte_rawdev_pmd.h +++ b/lib/librte_rawdev/rte_rawdev_pmd.h @@ -250,6 +250,24 @@ typedef int (*rawdev_queue_setup_t)(struct rte_rawdev *dev, typedef int (*rawdev_queue_release_t)(struct rte_rawdev *dev, uint16_t queue_id); +/** + * Get the count of number of queues configured on this device. + * + * Another way to fetch this information is to fetch the device configuration. + * But, that assumes that the device configuration managed by the driver has + * that kind of information. + * + * This function helps in getting queue count supported, independently. It + * can help in cases where iterator needs to be implemented. + * + * @param + * Raw device pointer + * @return + * Number of queues; 0 is assumed to be a valid response. + * + */ +typedef uint16_t (*rawdev_queue_count_t)(struct rte_rawdev *dev); + /** * Enqueue an array of raw buffers to the device. * @@ -506,6 +524,8 @@ struct rte_rawdev_ops { rawdev_queue_setup_t queue_setup; /**< Release an raw queue. */ rawdev_queue_release_t queue_release; + /**< Get the number of queues attached to the device */ + rawdev_queue_count_t queue_count; /**< Enqueue an array of raw buffers to device. */ rawdev_enqueue_bufs_t enqueue_bufs; diff --git a/lib/librte_rawdev/rte_rawdev_version.map b/lib/librte_rawdev/rte_rawdev_version.map index f5be52df9..b61dbff11 100644 --- a/lib/librte_rawdev/rte_rawdev_version.map +++ b/lib/librte_rawdev/rte_rawdev_version.map @@ -16,6 +16,7 @@ DPDK_18.08 { rte_rawdev_pmd_allocate; rte_rawdev_pmd_release; rte_rawdev_queue_conf_get; + rte_rawdev_queue_count; rte_rawdev_queue_setup; rte_rawdev_queue_release; rte_rawdev_reset; From patchwork Tue Jul 31 10:33:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 43459 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 D98A8343C; Tue, 31 Jul 2018 12:34:18 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70041.outbound.protection.outlook.com [40.107.7.41]) by dpdk.org (Postfix) with ESMTP id A5AEA14E8 for ; Tue, 31 Jul 2018 12:34:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ymd/ik5A6jw3Npzr1f7aCmK5+mxuYC+2mFQ87SD6V54=; b=W72NVudePsZAcFE6IP3qz2E4ID8BlQTD1iNqk9pQzQ3MCm3s/eXMFo7JIyZq+Wt2EhBASglgZJEKKooYFU3siiEffdsiZent5++WrNd0Y/mP3LzLO4dFo4UiFSqcRsaBJhi6uoxLZJlg7bKqm/A9ipG7VH9P2lVNJPSOy+nWeiI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shreyansh.jain@nxp.com; Received: from Tophie.ap.freescale.net (14.142.187.166) by AM0PR04MB4675.eurprd04.prod.outlook.com (2603:10a6:208:75::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.19; Tue, 31 Jul 2018 10:34:13 +0000 From: Shreyansh Jain To: ferruh.yigit@intel.com Cc: keith.wiles@intel.com, hemant.agrawal@nxp.com, dev@dpdk.org, Shreyansh Jain Date: Tue, 31 Jul 2018 16:03:03 +0530 Message-Id: <20180731103303.14988-3-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180731103303.14988-1-shreyansh.jain@nxp.com> References: <20180731103303.14988-1-shreyansh.jain@nxp.com> MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::21) To AM0PR04MB4675.eurprd04.prod.outlook.com (2603:10a6:208:75::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1f8b62c3-6131-40f4-8950-08d5f6d12977 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4675; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 3:AqtSwSasAbbeHPVCT6LsxCaxXDCgyvg841XI6AiOgUmsJ2n7N+9+rRfgtX41MhEINX7sLnS5GgSi2fyjNJOE2bDWl/Aixc6m4jL8qO2rHN/DBrQXRPWbix1a70vf0MFnjmmzmI9oCdQ67d7uiAHzFn6LiJApxfKZYPJ4DpQ4AWEkHVC56xCd4Ydx+79xDrPtZOB4gmeIlJFXhmFaJraNqO784miktrLm6FaQpiRoJDw2upGIg3I9GzNJbjU9JO2B; 25:2DANnxFoywr/k06g2Lhm6j4r+2QwhiuxBpd7WVQ2dz8u50dERMEkcxIqkm3kBlfwq5NOlF6n/wNVj4506d3SPHw4a0Qb2Ngxe7vGtB6cQwHcyc/SrrjZ3zXlAM8q5Oxg2rzXid60A2ckJP0mZ5D714rc4/feeD/F6iQcz5NzNjbTXaRRS9o/n6XM6Rm2k4+9eSvUcQmh8t2OqUKEZ/FMfmo67LkwiXL1A7Xc6ycmOC3WMW/Z1ytvqUF9I6Mo1idfXUS6Ab3Ci5C5EmNtAQ01T72p+GmtR83Xe3rCvngnYBL9KifwrixyLoS2NG4xtGTdbiYjsG+ZVd8GINdAiwAxPg==; 31:Wv4WeKu1J9Dtg0ZMqHx1dnZspZ6lTo1VecbUcS8clE3caGNMjwk/SGFZCUqFunaADxXskwXCCaZCqC/JhwOzLp6u8gsq3A++U9Kl21WksZIN8MECXJomPvPgb9LSvfqQZN1SlIBWtcvvbK2g0tFUPNXNpMf0EYEPtUBtib+TYiNuGzQ/q0k50ku76MNu/1igKeRTiatGN3g5a52Wqp5UCfX0E6P4vRahLzB3sF9nqaU= X-MS-TrafficTypeDiagnostic: AM0PR04MB4675: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 20:y229tFY+2ysyOIlljUh6nYkH20qYWftw1CkURY5JlMgthgn7HnyKZ2gwwbXxVWdzIGsQFTwKlznd4rQbroVqTTWk2jhtjzrfaqgv7Y17elaWp5CnrW1cODgK0Ck2N5QlUBi7iKSZqARAE+PoYZSSdne4RWh5JwoPL0NWqwkSJk4bX9Yubwir6AtVMQj0lFRpDJPMf8CZbMtbKGqVu6XEZtVeW1swFpRP99hGm9+2cgZkHrUiEo+dFbSDJRQ2T8heNnnZPSlm98RNlzR0EU9JCnAr3mBqG7+qXbJM7x8zn1An0j0JXIC4W4ZivbIxAH37nxIDw7Z/y1yPQaH4Mh3M+YAwDfz4TPP9xG+uNhErhYQ9DscSM3dh5uovcm1aZX238gqmvh2o4fXfJZHBCp70JV0YQ63mMM3MMLuYzfIX8nV9fDJum1qvos5kchxNTwoktuqbBMDXDsV2PcB/JPluXgR0J3nUw4wzdbQs97gVQoSyA7Gt+kWSE8hVt1SfrH1Z; 4:bw8MKJHWQ/P9Ddz3uXHW7wdEwF6GeOTfchCezX21KmeXibqkkWnTrNAaQbp798KiBAhDyq7SjNm8I1MTaUZxijOabefggQnB1s0cLtdehZgtAnIA8CipW9OfVXhRM1by/2KQ6QVyeR0ODqnRoLCsOs14yEMxy9lSGslHKctXYTLCcFvGUH3JY7QMmKTQMuGqbbu8C8X5rUthNnPizNTOuF5dtLrIV4CN/k8WT65P2E5JX3TjloTDe2U7O4svj751kp2YTQbZPb2K44AiHhXzmVoF26rqSp0sMpKE2zdFX3B4HVGmNQMnyVMtuiT/26CI X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM0PR04MB4675; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4675; X-Forefront-PRVS: 0750463DC9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(136003)(376002)(396003)(366004)(346002)(189003)(199004)(106356001)(105586002)(956004)(53936002)(6506007)(305945005)(386003)(4326008)(25786009)(47776003)(2616005)(6486002)(66066001)(6512007)(55236004)(86362001)(2351001)(186003)(6116002)(2906002)(3846002)(97736004)(36756003)(478600001)(11346002)(48376002)(16586007)(68736007)(50466002)(16526019)(446003)(26005)(5009440100003)(44832011)(51416003)(6666003)(476003)(76176011)(7736002)(52116002)(1076002)(50226002)(81166006)(5660300001)(8676002)(6916009)(316002)(81156014)(486006)(2361001)(8936002)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4675; H:Tophie.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR04MB4675; 23:bk7yPjYm/pWEqR4ItM4EaCmh6WbAhohaCDkNjZpEV?= rPxPaNSxUI8FPaKs7pB9tsagATGWzirO8Jh7eGEfHU+Bi+UznFpphvT0M/BUM+fLJ1Xqwwuk/yZrLyyFCXrjlO2F1LRJmYv6zOtbaMdWBxRwrsW4uKgrHhya9D9GG2e+PNP3QEezHgAu/GMP3VJjKzWiFZO1fsecvJIxES0i5gINI8vshXsdXGsWe4d1r0unAIYY6LKdHI7v2cMiGsGf5EW/pEXuPdQ5zNA9jK4vQOJnjDbn+T0804roSprcwLHpz0MXGdbb7+5KJ494YqnHcWtK5YuzBWy1gtxhzNwTnd5OuMP2fA0muqes1qiqToODLg+fWoU/PWMvwD+2u+ZyZ5WORIVWkLO4mnLUsRzWEqmHW1SkfFQe9l/hWxDAKfgY1Z/RblQ9LAusNeQhyxXH8H1J2G/WLgUELuQHOxH3GXOD7N7DrXaSb8TlQ1WkmaA/FaLMgqf1PqjH811op3wSGO7HwRr2nbHiSfJRUvlZoecV2nZRak4t5029pcyIxhKetLIY0rqSASrZ0omcZ8UvZP3+YvtY22Nb9ZbBj1JuoP6bqgiDz9gBOsZrIUDzo52Zvlc7CcfFdaAoAL6D2wDShmnxJTlE7xXvXM3X/6d460yOsNx9rG7uGk9koYsBk+cXkIOWYRPp7XePbS1+BeIANChCOZD5Hz2Pd51yZLiyTi++TO1ovatERRoPOvc/2DXHBsA0WPfu6hhmRMsaGgOdA76YK43CmEGSawqVVBR6LfycVsN9HkAi3a08X6KEf+dsm9SqsHpzX+rKYEFKLX9I7y4yGbkFiQXCYuRVaMbJTF0hm7/ABwxz0Ci2vVnGJfXM5FNbaUPninF27rdhB+xdC8+KA8ziHZhc/W3YiwkTSQvYD95eAm89mP7iDaTsskamWidzZLMQU9Nz0Z3kXAxKwPsKjZxlkPVxZif+pNudjznuJc+LYoEiYFqcSdeEv6jLQB7D5Ttrhwf7FyUpOS7qC2wtCQVAv8JFso18aewOXrkUL5Vz1Q+Cekq85qKF0muVI1Txmk4ZZ00wvoWqoEYkZBN/g+reenpsqsRLfCYodfr3ll+qku5NUf59+ITVfJyHJaHqfn1tCUC15fIPGViSFNnpyl7jp75OFqYDaiBioAVI6PnNpAPAukwRVRi/2hyXauRyzV/0S+n4blfnQZeKBSpUGpD66C3usWCRRSQKHRAdJeOaUR+XrtCWgMql/y0OUVuH8C+Q51tpO+CBZXcDTnlghX3Lpklmu8ZlEHgkHSjlp8LPGTCPI9vy1gEDmLfcfY= X-Microsoft-Antispam-Message-Info: ykdGfh8SqOJLosdVoXZyfukN0/EryYG7rnukxOj2bqgsDzJvZFOLBtpWGBrL2i5RvAjgi0/OIuS+QEtdw1WXA68B4zlDe8icj7a399f5SOAWtx9NAmdstkDxAtnZe/ZK4O8jnggRbo0rhBIygaVyDqc4wKqELbTepelikdv8b79c/mlkB/6DOBCzqlzCXj487CuNgn3+t2rIFBUyx3pR6dwDrIENxmqKmpLDjrKtDPqV+BnEMe+AklvmYqgF7DRYsWRYjygIDtELSJr0tkINeRusDz03F/mnDt/EFlC+k0wPahgqpFy9Wf6LzDlCyvcxCQUaxWUfXuTk8TLXw0LATclUPMBv9WZIPkKzLAjMrV0= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4675; 6:9LheyoAZldNtJx/XDSPegEORQyRfI5tkBLjkcyWPqlaYugE4R4Ae2QNk0QprGmWSNJdimUuCRua7IcRTj2sIAN/apkAb6YZD3rAk1SjDiyUufLfj/qmVFDPI4rfyu2gzdfWuXewViZBmH2evLqo2VZnAkXo27gyefiUGGjHMJo+zfl+N99le93tsWPuDzkDo5Dy1kWHLOiMPjVRCknDdePgUlmaJ5lamJdSgxxuY2GB4OZCiegmyPzZsB7w1fOLRZQnWo1FtNt7H7csGQ0eKoQIBABDoG8ND4W2zXO51nJWLtrHqZiMzKCxV304R2BwF+0xdye/qGOKGgMc+WK/KVqIFenM2S3+USrdPNcru0tm5LTcqHmJBWinf+Qc3Ve10AqMdIeyRhH/UB+7KGB3x2OQn+12t2UV00P1i+AHN/gu4lPc+uNvlleUABHQpRIgfnGRZ5wvgUugWuwafL7o5Fw==; 5:hz13ZJgcyC+KQmKrdCYkbKUtKV5Ne1Y8frFEi8U5V45uRFb3d2IDEhJ0BH+i/VbUg5l2sbeTwWPnA+qxbaBuhh0OdzJeFUpF3mXJbckjmLeSviglxtnxABmbIrMjWR5my1BiIE/gW5CgecCEZOfS1TLVV5qv/ZTmNg+Iq1sQXfo=; 7:9fF8xfhG/r1l4MWei9vjeX3KzYLYgL46wgYn+5uW9ESeRq3Kj7atTPQ0eCLXMDfhHO02P7qz0ajo65NW4HWXAes4RP3QBIBfExVqTOWLYJiQDHf/BUmLoDZJvWmYpcXhlIXSzK1fK5v03SQlSgjKHjBwLLAca4orMCG2gxARsZDQV33uv4/eYTyMNJnvc1nHyoCAgosm05VBWmdshoE2CM/axt/G07a1GtVonYyVz9fYaxsHoexrT0QLbK/WD2Tt SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2018 10:34:13.6263 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1f8b62c3-6131-40f4-8950-08d5f6d12977 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4675 Subject: [dpdk-dev] [PATCH 2/2] raw/skeleton: implement queue count API 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" Use the rte_rawdev_queue_count API in skeleton and add its unit test case. Signed-off-by: Shreyansh Jain --- drivers/raw/skeleton_rawdev/skeleton_rawdev.c | 13 +++++++++++++ drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c index d1489f8ec..6518a2d9a 100644 --- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c +++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c @@ -305,6 +305,18 @@ static int skeleton_rawdev_queue_release(struct rte_rawdev *dev, return ret; } +static uint16_t skeleton_rawdev_queue_count(struct rte_rawdev *dev) +{ + struct skeleton_rawdev *skeldev; + + SKELETON_PMD_FUNC_TRACE(); + + RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL); + + skeldev = skeleton_rawdev_get_priv(dev); + return skeldev->num_queues; +} + static int skeleton_rawdev_get_attr(struct rte_rawdev *dev, const char *attr_name, uint64_t *attr_value) @@ -524,6 +536,7 @@ static const struct rte_rawdev_ops skeleton_rawdev_ops = { .queue_def_conf = skeleton_rawdev_queue_def_conf, .queue_setup = skeleton_rawdev_queue_setup, .queue_release = skeleton_rawdev_queue_release, + .queue_count = skeleton_rawdev_queue_count, .attr_get = skeleton_rawdev_get_attr, .attr_set = skeleton_rawdev_set_attr, diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c index 3eb5c3a7b..3405b8984 100644 --- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c +++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c @@ -193,6 +193,18 @@ test_rawdev_queue_default_conf_get(void) return TEST_SUCCESS; } +static int +test_rawdev_queue_count(void) +{ + unsigned int q_count; + + /* Get the current configuration */ + q_count = rte_rawdev_queue_count(TEST_DEV_ID); + RTE_TEST_ASSERT_EQUAL(q_count, 1, "Invalid queue count (%d)", q_count); + + return TEST_SUCCESS; +} + static int test_rawdev_queue_setup(void) { @@ -429,6 +441,7 @@ test_rawdev_skeldev(void) SKELDEV_TEST_RUN(test_rawdev_configure, NULL, test_rawdev_queue_default_conf_get); SKELDEV_TEST_RUN(test_rawdev_configure, NULL, test_rawdev_queue_setup); + SKELDEV_TEST_RUN(NULL, NULL, test_rawdev_queue_count); SKELDEV_TEST_RUN(test_rawdev_queue_setup, NULL, test_rawdev_queue_release); SKELDEV_TEST_RUN(NULL, NULL, test_rawdev_attr_set_get);