From patchwork Tue Mar 11 10:24:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mykyta Poturai X-Patchwork-Id: 14011470 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5B778C28B30 for ; Tue, 11 Mar 2025 10:25:58 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.907715.1314966 (Exim 4.92) (envelope-from ) id 1trwnR-0005a4-0s; Tue, 11 Mar 2025 10:25:13 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 907715.1314966; Tue, 11 Mar 2025 10:25:12 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1trwnQ-0005Yl-Mu; Tue, 11 Mar 2025 10:25:12 +0000 Received: by outflank-mailman (input) for mailman id 907715; Tue, 11 Mar 2025 10:25:11 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1trwnP-0004Ad-1F for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:11 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20605.outbound.protection.outlook.com [2a01:111:f403:2613::605]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 1bdad314-fe63-11ef-9ab9-95dc52dad729; Tue, 11 Mar 2025 11:25:09 +0100 (CET) Received: from PAVPR03MB10102.eurprd03.prod.outlook.com (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar 2025 10:24:58 +0000 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025 10:24:58 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1bdad314-fe63-11ef-9ab9-95dc52dad729 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PxLQ2DzKOIqnCcIg/+vda0ayaUYfMBT6SiC0X9VrakaEzyVODkOaUUymHVKgY23adZl0s/ryC4Y7bUdY/snkqQWYKcpdnZwHMFmmfRFxKRt+PFYlBzG0RpPt9cmkKRVc64yjWDgFqgVAv0AD4WIzB7F/zpAYoTo287HuKCDjrx5mkSSTWwj+QsKKsdmb0VGPEUXw5N9WdXWPHyZwPqCjSm5T3qf7MIyFlJY7IJj2bYneIjWDHXmmLk1vbrIUQTaNq1TPUTvNJ6pnC2drfwhq4xVR/IXV4Ea7oB1GrzqCtB3Ah6HLGcra3H/tBzzKzHnD3NuUvEN0pEHyTERHTMkwSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=gO2IjWfufULwwhkWhKMvUjMTCm7EjpS7pzTWQeUncXA=; b=VOi1jxUc25c/ZYO4pjiz/Atu4VJwFLIg1sYTQpkVipf81+cKwL/rSjgHBCja7y8zoD1Sh7QX1WM/MsiPUBAlug7GPVYhaXE1B+5z/LSCjQnLzNjjsHJfKtvfsEpsBD+XnaqFzfZ2oUyNqMNmexp+vciUFcT+iggIlmVYWhtLKZu83mc60Y8LDfzutGdgawPNw6HijIhZxrcj1paaGUafs2Q0xy+qLcIpYxpBU2gdzrY2yrMIDCnOgfp6q9cbggUTzkdIChpfNX1FKddKf+RmIohi++PJcRUE18+D68GypT7uYXCyXW4DWGjw5NwM6nm4Jw7lf0gHCPLwS2ycCfEGJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gO2IjWfufULwwhkWhKMvUjMTCm7EjpS7pzTWQeUncXA=; b=KhfBYpBAHk65esToO58MEXVmKXF5lheQxCvL2pZIPr8aewZyhnjWncnF8dGpJPVqEjg5gtc2AQnu1sJ+r6anHiFp40KsCkIvj1C0n7HGXE+Y11hJNCE/j6kmvyjsbOjatHwMJA78ocHgI8c1zaYeQrHNIFpKrYwFKuXs+Em/wct1Jn/ZBZoiAOafILwUetaDMfJbnZ9BEw2f/ajtx4YJ+5pewwfK6h5Umy/mGiQOXNGX1atGj+SoC15nb6ArAgwEt+pLpW/K9yZZ24PAZ/FtBCqaX8jaebqQ/VtgwDRPO/7/JijT63dzoMPYl2DDwufuLnfizqd0x6U9rCNxky+Wug== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Volodymyr Babchuk , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Mykyta Poturai Subject: [PATCH v2 7/7] xen/arm: rcar4: program ATU to accesses to all functions Thread-Topic: [PATCH v2 7/7] xen/arm: rcar4: program ATU to accesses to all functions Thread-Index: AQHbkm/WZsnsJQf1WkK0RbNDpdgTwg== Date: Tue, 11 Mar 2025 10:24:57 +0000 Message-ID: <10bf9a3b4489242cf9407a2f70d84be378e9c206.1741596512.git.mykyta_poturai@epam.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU4PR03MB10646:EE_ x-ms-office365-filtering-correlation-id: c4be1d56-6851-41b9-c7d1-08dd6086f954 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?q?P8B0IBehlimYY5w5wo+CR839mk?= =?iso-8859-1?q?va06YoQ1C9gzjGLwHYUu3k75xYwG0or5tJ5t5104zFrVewSEEmR5IKcHvrtk?= =?iso-8859-1?q?4Cdgpa2G8ZExpUxQcYnc1uInsB564u6pu8PBXuRR9uAHHymU5+2LV4D8+4dH?= =?iso-8859-1?q?7SdYmf2L65wL1F6nUDyPWGYcm64o7Ip3xl8ACwdrQ3St2XsHQ6kldcmTRphg?= =?iso-8859-1?q?cHmHUK1kHngDX2L4XK6RyJ6w1knDdQe0bQPq6Om3hi5dzOhn1oF/g9m0kaSx?= =?iso-8859-1?q?AquN9M8pbbyyqgYzGwi2fqUYQso6fCN+zvCQQ7hGa19ySr35SGJIlFxK3Ip/?= =?iso-8859-1?q?/qm4VDkXR0Y+aOKhl4u5KPOA8zwoJ7+fkSvuqOYrzsjIAYHkdb4ReuH2BNDP?= =?iso-8859-1?q?V6NhBkkLM7nN0EbAqSPFyfUjKDodN0p5YlPLtd1VZMQs2UZfg0EdLKiN4E8M?= =?iso-8859-1?q?L38QtZZLgoRqDyvZqf8+mqkDg+CcWU3PcUortbSlgqAxJkVlXNSU6KWL6ohf?= =?iso-8859-1?q?GaAEoFAjWmejbWSxm+ofO1xRQxnFMZhqrKVZnNlcF61dvaXa1moIJmT3qVaX?= =?iso-8859-1?q?dhJc8J5P3l/PfZ9ly8bWjjiiLXuwiBSmsJ3LnUUIZYHqseEHZbDqOjtYaLS4?= =?iso-8859-1?q?B+sS2m9Q7KGCsrN3RIgEFFGrR5yUCcr0n0L1nPKQFDON1qOG/zwF8DoJvMJu?= =?iso-8859-1?q?PjUr+zYLU+KKf1QnKw/z9v3fo4kB0K55G9L8HJDf0Di1sCjNDGn+eN4SOZGV?= =?iso-8859-1?q?AP/AsVXmo5Y8fNhmUP/afvEHW59F565azlNKooUQ9F012U+bJOq8MPnwAFQw?= =?iso-8859-1?q?4e+DDHQih5zKlsZqhD3VmLwiBhCaSegvn5tm1oDD1vljwjgCsMbqT8tqq/La?= =?iso-8859-1?q?lXrFIglwFOhESwJEW6PqUl5Vm+V2J0ynZGoAGgrpRVy7xYEGMA2FvxSGTppR?= =?iso-8859-1?q?zZjNxejAJPc4UVvif0YjDTUAuJWhZ/SAwZcvNYJg3r75vM1Dv8A2HxCV4j+A?= =?iso-8859-1?q?pLBsf3eysJwGosTEWMmBk6vp42c+9kSadh+3KLAzACWc5qB1CNNFlSrwvAPS?= =?iso-8859-1?q?GS0QLYRtAqH6jJYjcV7kApAzP7wQEId0SFSfm1T1MbB8E+bctThSKV2jbtrq?= =?iso-8859-1?q?P3JxZE852G+G/ZYTcuiotD3m/uaN8HUgsxslpCCCTw+ObOKHxEoDnHcg/4t2?= =?iso-8859-1?q?DL48/3jpiuQezXFwL81srDg4hHu8rODpM0FuuWdYHd7RW//2tL4vosONHEDY?= =?iso-8859-1?q?I/6UhkRfXlZvSuB6Ij8DdwErUKDPJ9VXI3MySciAA7GkhspZ/HN1yfrh+HY9?= =?iso-8859-1?q?B0lOmll38VQ0gkre64+xsgsQQ4+VB+0mq8SxR7WIKL+5WCSR7uazTQusHrDD?= =?iso-8859-1?q?CVP0Uo7my/WZAt+ihks6/Lp7a+Kn+NDSzKUp0Bgk/zqdfyfSllX/TVb3J0UB?= =?iso-8859-1?q?lwGvt3KhvnVkvgsBPS/1j3HDx8EN8oHTG+nClGcJD6DNe/D3srvZoGEImygH?= =?iso-8859-1?q?fVW9/z?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?GOkryCYrJrvp4VNYUsNfRl3?= =?iso-8859-1?q?pvTAwSV1j9ShbxEDPy4tpeSTdzxbgcBcYu/C357Ku5h+GzqE8NaaQt7f6lLX?= =?iso-8859-1?q?C1ehFocBV0Fs9Ybf7EukEw4I/RF9fy/FpMP1rcvxjYoxAK8jaHC6QV4pAvin?= =?iso-8859-1?q?tLdmjUrc++MrIBP6IWWKtgzzkLkEmfjkEjg6U0t1S82Pg+pLSOj57Tv0vGq9?= =?iso-8859-1?q?+30IydkpUJsdDxowhp7Sc3OUj2uvYyaPdaqoDp7FLUsrQL3K7tdXXYK9rPsN?= =?iso-8859-1?q?+h6fHFsOOI5y6evl5GmmwmFOhNwTE7eVHwTZun4xbG/HldTqoqyCgtE1O1e6?= =?iso-8859-1?q?cM0BcQxXw+aeauhUynfV9xTADwwo7vWnl1fINylmfOfCwylGZUuky/tWqosb?= =?iso-8859-1?q?Oz1n6j8EbYss+jf2MoBbdcHdJdI4S9b3KL90yspdtmqVy5xJd9qs8/WuhkyA?= =?iso-8859-1?q?gZN/W7P+KKOb40A2RHQ62cHRM9HSwWfpIfpsTMqCFUkdpcH/o/258pR8AOJl?= =?iso-8859-1?q?Bb8pu401U47vhv58sTm3ukeZpeLYr9blcMEHgNC0C6oRiuPmukDEKiRRFNG1?= =?iso-8859-1?q?XLBcqfv7rSYjNfHs+i1Xm/ZsPf8Q3jw5PDWjkNW4zmiWFk1fksExa/Qf/VUD?= =?iso-8859-1?q?jNZCEsW4//gEOF9kGnLfSXVWLtaBB8E5tFwPa8RQc7lCnRjCh+knw1OPI0uj?= =?iso-8859-1?q?M1VjhcJAzeJ50fWWIo2PgAt582FjU26LZN1U3Ioz4aUlZ6X1Zz/Va9WbqcZ1?= =?iso-8859-1?q?gW1mammK1SyfMGJdGTv3z27Elk08co8HcnuGQTgbRhOL27Hv5UjDGPFgpi7f?= =?iso-8859-1?q?cp1lAwlLF9YDYWR/LMOrGY44ELQCTP2Czb7JBmcCXuTndLoRCC4eG8h994x6?= =?iso-8859-1?q?lpu2KZ+uBkKlIoV0s873ZPeQ9secFg4C4k8GfmPodV8ePlUeJ1inTUxsrGHY?= =?iso-8859-1?q?+u3CEEeNtW0PCbYr5m0QU4KSUT3yhTReBIg9PYU1Q9tr6ZVJuga5CtJG5lbw?= =?iso-8859-1?q?yB05/wIs1N9nq2QB72n9Fu0z9hAirctOCFUmo43rdQEyQwBgEEB62M2bwd5o?= =?iso-8859-1?q?oJiZdFXEbSWR5ygwKfMQSqF+x52Lu1hP7t0TxjvEh0BmbwdV+dJg5GAp/MbQ?= =?iso-8859-1?q?ZZTPXHfUSryykEWoEAcyecwn4aVx2Uk4Og/U+1aWJp0mFhGgYaJ9XoHkRm5q?= =?iso-8859-1?q?djcMNJBAL88QEdxhwgqDREQu9uN/vdYKJ3nWYFhqdmUFo98QFA8fNQm42+XN?= =?iso-8859-1?q?cXgn5wQzicjrXpy8DIXnAhP2QPZsQaXdxKMWGHzQ4guaeTUjjbPRaGiLsK4z?= =?iso-8859-1?q?8oP9AAnSDvo75+R0S3L2Ok6w/g4ktM7xSaIVMXAXYsyRmNTfsEThyiK12s7K?= =?iso-8859-1?q?hgiG5NdGluTV7EYfMX8zTvqt4bcRZ2gbS5kv0Q7Cv6hTwFOzKXzhIs4B6zKM?= =?iso-8859-1?q?Ki6P7Lw6kNlSzECq/GKaj3jJ3xpojZ5aiHnISMLw+Y9bTznI+EiJKZiIvxiQ?= =?iso-8859-1?q?3MlW/0Lnl6FVpETUKuN53n5UiI+2DwFyHdcEv1M1DechZeVWm3BLGjNDLF/G?= =?iso-8859-1?q?Yt9r52dVxzl7Ig7EFj0B5AM856H0D0/clhTFO9/rpmp5BZfULa7T6W4KuGUl?= =?iso-8859-1?q?WkBYzdug7HUaEOlb4W228xe4gu3QbYi5dXN+kzg=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4be1d56-6851-41b9-c7d1-08dd6086f954 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:57.2139 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cg/wVhin8kV0txwdqfVNwEo/18o0O2pkXTqAhlCIpBxSqEDfLcHERnzz547ZH47YUyhoRXg5yV/1Ec+gq8MAZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646 From: Volodymyr Babchuk According to ATU documentation, bits [18:16] of accessed memory address correspond to a function number. This is somewhat similar to ECAM, but with huge holes between regions. We can use this to minimize number of ATU re-programmings: configure ATU to access BDF with F=0 and adjust memory address with function number. Taking into account the previous patch, that optimizes ATU reprogramming by skipping call to __dw_pcie_prog_outbound_atu() if we already configured pci_address, we can be sure that accesses to all functions of one device will not trigger ATU reprogramming at all. Signed-off-by: Volodymyr Babchuk Signed-off-by: Mykyta Poturai --- v1->v2: * rebased --- xen/arch/arm/pci/pci-designware.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-designware.c index cec52cf81a..fec8c7296d 100644 --- a/xen/arch/arm/pci/pci-designware.c +++ b/xen/arch/arm/pci/pci-designware.c @@ -297,7 +297,7 @@ void __iomem *dw_pcie_child_map_bus(struct pci_host_bridge *bridge, uint32_t busdev; busdev = PCIE_ATU_BUS(sbdf.bus) | PCIE_ATU_DEV(PCI_SLOT(sbdf.devfn)) | - PCIE_ATU_FUNC(PCI_FUNC(sbdf.devfn)); + PCIE_ATU_FUNC(0); /* FIXME: Parent is the root bus, so use PCIE_ATU_TYPE_CFG0. */ dw_pcie_prog_outbound_atu(bridge, PCIE_ATU_REGION_INDEX1, @@ -305,7 +305,7 @@ void __iomem *dw_pcie_child_map_bus(struct pci_host_bridge *bridge, bridge->child_cfg->phys_addr, busdev, bridge->child_cfg->size); - return bridge->child_cfg->win + where; + return bridge->child_cfg->win + ((uint32_t)sbdf.fn << 16) + where; } int dw_pcie_child_config_read(struct pci_host_bridge *bridge,