Message ID | 20181009112548.7025-2-shreyansh.jain@nxp.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Thomas Monjalon |
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 EF2711B4D5; Tue, 9 Oct 2018 13:26:49 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50075.outbound.protection.outlook.com [40.107.5.75]) by dpdk.org (Postfix) with ESMTP id C10B91B104 for <dev@dpdk.org>; Tue, 9 Oct 2018 13:26:47 +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=yKBjTAgYkZix3r2mMQurdHBhsiV1svbpcyaqJB4a8Zc=; b=ldmubNcOi1QsBW899xYZWhVJr8B0ZHu+IjifIAojkP7+hJQzDljgd9EsBrSE17A7y6Cro15VLbSvxnQ2fbPMreg+k8IV+sfDyLQXkSkNz+vfZ/MV2KmnMUTlo1xT78G+aFx1buwJhsv9A4u4CtICfhUNRJboaxXGM0jiRrX8ImY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shreyansh.jain@nxp.com; Received: from Tophie.ap.freescale.net (14.142.187.166) by VI1PR04MB4686.eurprd04.prod.outlook.com (2603:10a6:803:71::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.27; Tue, 9 Oct 2018 11:26:45 +0000 From: Shreyansh Jain <shreyansh.jain@nxp.com> To: ferruh.yigit@intel.com Cc: anatoly.burakov@intel.com, dev@dpdk.org, Shreyansh Jain <shreyansh.jain@nxp.com>, hemant.agrawal@nxp.com Date: Tue, 9 Oct 2018 16:55:44 +0530 Message-Id: <20181009112548.7025-2-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181009112548.7025-1-shreyansh.jain@nxp.com> References: <20180925125423.7505-1-shreyansh.jain@nxp.com> <20181009112548.7025-1-shreyansh.jain@nxp.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR01CA0097.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::13) To VI1PR04MB4686.eurprd04.prod.outlook.com (2603:10a6:803:71::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2e7666d-edc8-4af4-12c3-08d62dda1906 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4686; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4686; 3:nMDk3S+g+klyKKGVWShuvHQhM7ySowpgCL/2aTDCEp1zWflITMJzcZb0jqnpK/QZ3rMwVzeivaTttlFws93gzmv2AteyIJ2nITeAA0sETVAQdpCsQvHlxH22G1vxNwcX04YtGcZqIZjXLzQOhVKqoyQqcFT7O4mP0YNGYlD0hhjQvlwe2IjuI12lrSb8cdMSVz6meshly+FCQPR0oOCqImW3SpjvXxmVX9Xb7R5UNsiWUIEj/ocOQirnAPp0y13R; 25:tYdS6P7xbaM6XQI/xPrXZ4ihUy61x04/OT9SN1SJobeInECBL7VvM/FaXauxDRqoRKjiW7VzEs1fg8lA7tRxqfIDVDqDo1Pr47dhFB3YWdNGmMoCijOlYcsDTUu/1tR0f+9IeGFawfkPJ7/1Dib+tBE9dgJ4pWPrZK2boNK8XLhUq/4to/dXjNxP2Qdre7h9WhoUWKWViUJhRXbx8VZx8vR/AtircP4jzoHC+LettzO8uiIlYq2AVBML/78JmcytjGcn4GECTOkPMkw2HLDOFqPNDVjt/RWWiczkuGLluBQhCE/rm89sifXPRtoIUyr63bpGWWZS8NVU8ZQRVAqsUg==; 31:Y9LLhfjFMJZ985kVSH17sOJx7fqv5MCYrv2EJZlKs1P9Tks1VoyTmGCglMIVBGw2o65iE4DgDQI2WI6yu8r7/VsIAOwrYMnZSbwU4NZANzwgEX2ovg+riBsVKsyKqVSHhqrERyJebb4Ap2XYYvqse06G8s7UA00+FGDd2kYRU8Wc19v0OkiMB3gKN2xiPn+AchWIAzKZC665EhCajVIlgapHlGcfc0XBWhjIWtI5uiE= X-MS-TrafficTypeDiagnostic: VI1PR04MB4686: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4686; 20:r4+M7Voo6FoOWprC+K1sKpHDiiTbdhggyplVQn/dLRyjruGSssKO/rSBPJurnMiYt22pZIDPBZWqM4PPJxA1Og1pUqle/JYRyUKfWsyZHi2d8mRPWff51xQzjMwDPIH72kUYmd4lXqvfBwGg9MO2cFq/z98hS0gzefXhAmwzq2wehR7w+OdHh6uHJrLntej0vpRRduWeKUTftaT7XML1q6lOT7Dk4h7oTSjc3t7jPISZ6CpY5WGBbC9ZDNkjDtOc3zK7ndYO7Ck+3Ge7wESVs3oohBuqctO6A2U2/I7mKhqhdYI8KjlW3sd14oV5DwovvLO9qFOqvUgJI1z0IYmLDphwB5D0vaQrylSKwyTsGTyLWYO74b5FvmfO8sp/ygYVOdeZp6UFopAk8Z8sY73If6yFcBRNcvKYy97CWTAGuqysSYJJOkCjHcD86oWFJXH+5MCBESg2zHgqnh+Iy8GFGfJ9DqO3cKVRTuO4flf5IUjU9tcDKvOcT0icXDvYcE80; 4:snXtjrLS7PZsMjC7azPlrPy1wKcpaBF0mY98W6tMpdEmF4ijQBtZYv1mOj2BpubdKTKO90wEG3q9ewlqDs6tCxXg8alzn/gNkqaGrtk02/QJt7QYCo7tEm06vz+PrDTh9STHHTcFnlq0wZfyqzSA8Kr+GwCPxurk/Fc7VIoknRAGuAYDKvgTw8j5C54vIDjmscAXbebrGj/fED7qZq6yOXTBD9BPjSIvCXmSAPtpafzkjHlqcESfpKPXBBFzHPE64vUdDNWZcLk/NcQdsIM4o6ycwtkKTqCtNmm1pF4k+e0zo2LYVskW7b09dLAgu44/ X-Microsoft-Antispam-PRVS: <VI1PR04MB46865CC98BC4E8152CA2BD6D90E70@VI1PR04MB4686.eurprd04.prod.outlook.com> 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)(93006095)(93001095)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051); SRVR:VI1PR04MB4686; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4686; X-Forefront-PRVS: 08200063E9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(376002)(346002)(366004)(396003)(136003)(199004)(189003)(2616005)(476003)(6486002)(446003)(1076002)(8676002)(25786009)(50226002)(81156014)(4326008)(81166006)(6512007)(956004)(97736004)(11346002)(386003)(55236004)(6506007)(86362001)(68736007)(76176011)(50466002)(486006)(51416003)(16526019)(8936002)(26005)(48376002)(44832011)(52116002)(53936002)(186003)(305945005)(5660300001)(478600001)(105586002)(7736002)(2906002)(6116002)(3846002)(106356001)(36756003)(47776003)(5009440100003)(2351001)(316002)(66066001)(6916009)(2361001)(16586007)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4686; H:Tophie.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB4686; 23:agXpsPEjAyYRCi8GIPQl2vt3rL+lCwUpkt4BFxAiu?= x/QGcGwOsQv3i1edVAWbHg+qPvtp30BEfQFlRMZW6k3YYE+NW4sFeU6xlkqXhkjOGe1iMBuWMs8oQ6ammQZgSOJGAt60eNkAeRin/kvng0qplgnCa//Tw0yl2v7vBolD2yvNnTvwFWYPbnxKf52i0UP1k4fWIqXL1ukPRnDS2sgrB82pLaWvI2d863FNwL9oNVOvYh6ZhgmpVA1qvOb3nuXaL3YktU0h8iodj+0KrVV43zkZU2wmdSJknGoL1c+w6xnyoHazMO7+azjyCHeKH7+Qwtfe4eoFhzqTtfjDIOfUhu6r170z7HQ3y6fQfvEVA8or73Q6R0Fxn3wmDSNNo1EbCEVYJFG++Cjy5DRYpGQFxRSbhbu6Jgv7wKRVHIJAUt/Xj/5pgStfKG6Av0VlcIxRtcVHmuWresNgeUh33k5N+3v1KZB12k2cU8tsDo6Cf8ofEQpmCqY/KXpJ382vzPpDxrgP+eZfTu1/FBfrtjbqY726OQQEFn9CE2SR1nfGBQ7rP+5r8+gmwaY7Bu1uS/Oa1Urh9MZrwPxCRTIpxuYUUfkf5duZOcZyqEjfamJ29JgDCnaZhLXB2ZNiyamMTud793iVPj4YXOJpasIAo2P8QrRiZtxAXBV2YnO0N5JGNiHIQcfU1cgkmKFq9ntndLm96DFl5ZLla5U0mmw3JfMG2GstoXcxhpg+Rc2JLofZ/O9oDiX0CmDLQCXQ4hWJviyVDfsUoasYejBLs1Mvtpo08361ccT7jCPotUeWY9GGlBSIKz+kO5QqlcOXZYpgn2DF67aDF8B8yD51nRIVkEmSCGVGIhFWcsK02rH929LCgOhM+7/mjfU+kvndypneWrqtolvyCS9p3qz+UDLs4fByARJgepiG3joG3LYQJSbxEVopNgv4JYLEizrS0GhyvIekkfMRNImRxMM5Tt5D7kfV8KrcNGcdkQQShJK9WLVbcdw1cmLhzN+CJlwTYC+lsnrWJu+6uTKtUxpq381OrF1NYYix330cHf7b+rRlEHMyYz2rOXN+/+WTK0Wzj+Ud5prNvexsa4NrjnsUhJsWzZUQK/G/W7djSzn5GwMce/fYfHsfpC8rmtoZjj91I8GilSdItkS5ZXC0BjZjj65FrXoB90l1qcehl9sSin2Ia9CVjbJs8NjSCN4IURTIu9SXu+Ny6UeA/2FFQ2nH9Vd73qcKFmBHHKu8uDBRijUt9+L2tsJzzM8Ug4HFG5Cn66tjfSVvxEkYK8KWWUt1o8LrK57Kg4m3IM9z/yL1V8VpAPFO3I= X-Microsoft-Antispam-Message-Info: pwFCSJEMvPpIVeZPNIwMLCFbPWFHQv6Uoyt3sjH+Xi838i0/quTik6vv7EusIfUJhPkHj2ufLTX5gdiFz3kGGNlioLP+kmZcxpYb8R3edG2P0JRftBiQ2wUkXWCbv727xCyp8n2zFwFQJF2xdyDddHhoSaLLZRzCtqvBgVgQ0juYTLn8JwTlKtONmjaWQo6U8O0NJxl6WhTW4OaW2uE8HtT7OXd0JZtSYoypc4Cb9JmipofPwJXuYHPZBd2WDk1XAfFmv7fH/3tiviLfY/h0h2giL4lT77i3FQ1/+swTGw9wNZXI19CsZArZuoie541RKV0zlxayCcNVHzOa9sLg5n2Gb2wxW5VH/9w6DUpgfOo= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4686; 6:tk7rqNIuu8ZtoJJ4EPhXGnK+MkqrTN5qJmRnno07e/ZHTNumzkPMkFq+A3UgCinfRmMVjYYU9M0If5DZxwuAsgSTgM6VH4K5vp5NGLcujQqKGDiROHc7jxncCUXa9E9pJntTJjV9Ih7y8D3j9x8dps6EcLPVh5lSZFvweya6hTH17NlLlMiOKPdbIGgtmjVeBCM1wNeFR2TlnZJnxEEvY3abDhpeym3ZXfaKqCQvJY0mLf44JsdYIakX3AGDD9Jzc4ibLiKbZjs5dspC/PH1EghIE+pNTmMSykKT34p1kCfAmMJNmsDOa15LHvkDka1ONIZH621LMAB7JCdXAGlA0FLf+dS0iLtFm+ori1trf5Z4GiGLjAq1w9HAMz18jITBhgG4G8qZMn2YbZreJSgMRpJJscIFAdzbGVEmB9TuMDs4qXJVqtp6Jk7syEe9/030VGwY68xbsQJegmJdOZrP3g==; 5:v9lfq9xvduAS6rpHFW/gryLYVAvDh3jdk8HPocaxfJniPYsw5jesF3CkjajFABdVeJxU21jYR1tqeiuvUz9ZZiLo50K+txCASi2t+03VcoLOqDgBGWfEFdtPmWWQThiXoDf6/Z2TqPBTzt7QGpCohvAMdViUsMKsqH6F/Yu36C4=; 7:2+pD5lrT2nbdddmI30Kp1A90yRBDL5NJZ/0gH5wtiBX9SNUiD3pz/SFP4lwciwZgvNGmB/LHafx/vSeSs0F2Yz4Yb8vv9R5meKYKil9uGW4o2iKWa37osTlWKv7y89XlXxYjIyqYfIpzfIXA0jcsWQlb3yXsBRgaBq+781lDYUZVyeoNxcnBdTY8oy3CO8ct5fQj1qUsn6zLkQVPyi6QiAZ7lZCyBPy8LqUMqP39PSCBhfldEjZL6AQZ4Gtkmor5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2018 11:26:45.4234 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a2e7666d-edc8-4af4-12c3-08d62dda1906 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4686 Subject: [dpdk-dev] [PATCH v2 1/5] bus/fslmc: fix physical addressing check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | Add a PA-VA Translation table for DPAAx | |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | fail | Compilation issues |
Commit Message
Shreyansh Jain
Oct. 9, 2018, 11:25 a.m. UTC
In case RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is enabled, only supported
class is RTE_IOVA_PA.
Fixes: f7768afac101 ("bus/fslmc: support dynamic IOVA")
Cc: hemant.agrawal@nxp.com
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
drivers/bus/fslmc/fslmc_bus.c | 4 ++++
1 file changed, 4 insertions(+)
Comments
Hi Shreyansh, On Tue, Oct 09, 2018 at 04:55:44PM +0530, Shreyansh Jain wrote: > In case RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is enabled, only supported > class is RTE_IOVA_PA. > > Fixes: f7768afac101 ("bus/fslmc: support dynamic IOVA") > Cc: hemant.agrawal@nxp.com > > Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> > --- > drivers/bus/fslmc/fslmc_bus.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c > index bfe81e236..a4f9a9eee 100644 > --- a/drivers/bus/fslmc/fslmc_bus.c > +++ b/drivers/bus/fslmc/fslmc_bus.c > @@ -491,6 +491,10 @@ rte_dpaa2_get_iommu_class(void) > bool is_vfio_noiommu_enabled = 1; > bool has_iova_va; > > +#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA > + return RTE_IOVA_PA; > +#endif > + As, RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is set to true by default[1] and fslmc bus being always registered[2] irrespective of the underlying platform, the IOVA class will be always returned as PA. This will break multiple platforms as some work only when IOVA as VA. I think you need to verify if the underlying platform is really FLMC similar to DPAA[3] [1] ->[master]ltp-pvn[dpdk] $ grep -nir "RTE_LIBRTE_DPAA2_USE_PHYS_IOVA" config/ config/meson.build:86:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true) config/common_base:218:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y [2] config/common_linuxapp:45:CONFIG_RTE_LIBRTE_FSLMC_BUS=y [3] static enum rte_iova_mode rte_dpaa_get_iommu_class(void) { if ((access(DPAA_DEV_PATH1, F_OK) != 0) && (access(DPAA_DEV_PATH2, F_OK) != 0)) { return RTE_IOVA_DC; } return RTE_IOVA_PA; } > if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) > return RTE_IOVA_DC; > > -- > 2.17.1 > Thanks, Pavan.
On Friday 12 October 2018 02:31 PM, Pavan Nikhilesh wrote: > Hi Shreyansh, > > On Tue, Oct 09, 2018 at 04:55:44PM +0530, Shreyansh Jain wrote: >> In case RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is enabled, only supported >> class is RTE_IOVA_PA. >> >> Fixes: f7768afac101 ("bus/fslmc: support dynamic IOVA") >> Cc: hemant.agrawal@nxp.com >> >> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> >> --- >> drivers/bus/fslmc/fslmc_bus.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c >> index bfe81e236..a4f9a9eee 100644 >> --- a/drivers/bus/fslmc/fslmc_bus.c >> +++ b/drivers/bus/fslmc/fslmc_bus.c >> @@ -491,6 +491,10 @@ rte_dpaa2_get_iommu_class(void) >> bool is_vfio_noiommu_enabled = 1; >> bool has_iova_va; >> >> +#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA >> + return RTE_IOVA_PA; >> +#endif >> + > > As, RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is set to true by default[1] and fslmc bus > being always registered[2] irrespective of the underlying platform, the IOVA class > will be always returned as PA. > This will break multiple platforms as some work only when IOVA as VA. I think > you need to verify if the underlying platform is really FLMC similar to DPAA[3] Thats a good catch and bad patch from me :( - Thanks for review. I will do this now: ---->8--- static enum rte_iova_mode rte_dpaa2_get_iommu_class(void) { bool is_vfio_noiommu_enabled = 1; bool has_iova_va; - #ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA - return RTE_IOVA_PA; - #endif if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) return RTE_IOVA_DC; + #ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA + return RTE_IOVA_PA; + #endif ---->8--- In this case, in case no FSLMC device is detected (which would be cases you are referring to), DC would be returned. There is no other explicit way for me to check the PA/VA combination on the DPAA2 bus. Even for the DPAA function [3]that you have mentioned, that is not actually checking PA/VA applicability - it is just checking if we have DPAA enabled or not (complete bus). Is that OK? > > [1] > ->[master]ltp-pvn[dpdk] $ grep -nir "RTE_LIBRTE_DPAA2_USE_PHYS_IOVA" config/ > config/meson.build:86:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true) > config/common_base:218:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y > > [2] > config/common_linuxapp:45:CONFIG_RTE_LIBRTE_FSLMC_BUS=y > > [3] > static enum rte_iova_mode > rte_dpaa_get_iommu_class(void) > { > if ((access(DPAA_DEV_PATH1, F_OK) != 0) && > (access(DPAA_DEV_PATH2, F_OK) != 0)) { > return RTE_IOVA_DC; > } > return RTE_IOVA_PA; > } > > >> if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) >> return RTE_IOVA_DC; >>
On Fri, Oct 12, 2018 at 04:14:36PM +0530, Shreyansh Jain wrote: > On Friday 12 October 2018 02:31 PM, Pavan Nikhilesh wrote: > > Hi Shreyansh, > > > > On Tue, Oct 09, 2018 at 04:55:44PM +0530, Shreyansh Jain wrote: > > > In case RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is enabled, only supported > > > class is RTE_IOVA_PA. > > > > > > Fixes: f7768afac101 ("bus/fslmc: support dynamic IOVA") > > > Cc: hemant.agrawal@nxp.com > > > > > > Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> > > > --- > > > drivers/bus/fslmc/fslmc_bus.c | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c > > > index bfe81e236..a4f9a9eee 100644 > > > --- a/drivers/bus/fslmc/fslmc_bus.c > > > +++ b/drivers/bus/fslmc/fslmc_bus.c > > > @@ -491,6 +491,10 @@ rte_dpaa2_get_iommu_class(void) > > > bool is_vfio_noiommu_enabled = 1; > > > bool has_iova_va; > > > > > > +#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA > > > + return RTE_IOVA_PA; > > > +#endif > > > + > > > > As, RTE_LIBRTE_DPAA2_USE_PHYS_IOVA is set to true by default[1] and fslmc bus > > being always registered[2] irrespective of the underlying platform, the IOVA class > > will be always returned as PA. > > This will break multiple platforms as some work only when IOVA as VA. I think > > you need to verify if the underlying platform is really FLMC similar to DPAA[3] > > Thats a good catch and bad patch from me :( - Thanks for review. > I will do this now: > > ---->8--- > static enum rte_iova_mode > rte_dpaa2_get_iommu_class(void) > { > bool is_vfio_noiommu_enabled = 1; > bool has_iova_va; > > - #ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA > - return RTE_IOVA_PA; > - #endif > > if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) > return RTE_IOVA_DC; > > + #ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA > + return RTE_IOVA_PA; > + #endif > ---->8--- > > In this case, in case no FSLMC device is detected (which would be cases > you are referring to), DC would be returned. > > There is no other explicit way for me to check the PA/VA combination on > the DPAA2 bus. Even for the DPAA function [3]that you have mentioned, > that is not actually checking PA/VA applicability - it is just checking > if we have DPAA enabled or not (complete bus). > > Is that OK? Looks good to me :) cheers - Pavan. > > > > > [1] > > ->[master]ltp-pvn[dpdk] $ grep -nir "RTE_LIBRTE_DPAA2_USE_PHYS_IOVA" config/ > > config/meson.build:86:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true) > > config/common_base:218:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y > > > > [2] > > config/common_linuxapp:45:CONFIG_RTE_LIBRTE_FSLMC_BUS=y > > > > [3] > > static enum rte_iova_mode > > rte_dpaa_get_iommu_class(void) > > { > > if ((access(DPAA_DEV_PATH1, F_OK) != 0) && > > (access(DPAA_DEV_PATH2, F_OK) != 0)) { > > return RTE_IOVA_DC; > > } > > return RTE_IOVA_PA; > > } > > > > > > > if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) > > > return RTE_IOVA_DC; > > > >
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c index bfe81e236..a4f9a9eee 100644 --- a/drivers/bus/fslmc/fslmc_bus.c +++ b/drivers/bus/fslmc/fslmc_bus.c @@ -491,6 +491,10 @@ rte_dpaa2_get_iommu_class(void) bool is_vfio_noiommu_enabled = 1; bool has_iova_va; +#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA + return RTE_IOVA_PA; +#endif + if (TAILQ_EMPTY(&rte_fslmc_bus.device_list)) return RTE_IOVA_DC;