From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ZRAP278CU002.outbound.protection.outlook.com (mail-switzerlandnorthazon11020091.outbound.protection.outlook.com [52.101.186.91]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2B1D3EFD3D for ; Thu, 26 Feb 2026 15:14:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.186.91 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772118879; cv=fail; b=N0iJ1OxoKsKqEApBTpdWQZA1jijcscrQfkjzTyumvjn8LmRT5gcGvS1v3RhCjbLi5LxCImR7H1slYi1lfOGSQzcDCF4dapcD7SvxJh8/p49uqTNdIiTlLFlXtejwAIiQN4tr7OiQTdY07I/Ezadx5tyRHwucbCe5wuE50R+uwHA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772118879; c=relaxed/simple; bh=aDhDEGNN49GWbEMHLfpKfHlgSFXIMza70hw6SD6GIyo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YA6dk3jrhXNmWyjGCF1PT6k2dPp6JiBqftwhCpjnA260ELyAwUn+eOAx8jvYhACiYqIYAXQn/CTH4Amiw5wOqsWydZsFWPWUl9KAnofbWAWLptked2nJikFV7UvKK9QFrsKc0gQE4aYmBu/dbOgyxEb7P2RjN073nL77aA5TswI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=duagon.com; spf=pass smtp.mailfrom=duagon.com; dkim=pass (1024-bit key) header.d=duagon.com header.i=@duagon.com header.b=nKvXWk+5; arc=fail smtp.client-ip=52.101.186.91 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=duagon.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=duagon.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=duagon.com header.i=@duagon.com header.b="nKvXWk+5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VUVQxGOvnnhP0u99Ffr9/d6wh0ECahbr1UA1SnYSl9tYCUWFmTEavXlhEpTPjBGgKL9mqQg1vGdul+jdB/wRgWCA8c7aQ1Ibun5RRAJfViUr6TJPvkA0nSfN1O4O1pB2CAfBLoyehVM4NR6LvthRrUOrIVCIuyd4dgBjDHMs6JhKX5GYaxwGCor/DJr9JZBOwMTGEBHDcv7kisLY53uhkRmuzp55eWU0NeC56ZoPQaI0vvOH5L4SjSLBjhsiKzSshoZGvtlaebRzkycCa629EexiqDlcmxmz/oVcgMkL1t8YbXWfp+22rq8at5j9TERfpPQzBoaSvQqzmixnwIdEGw== 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=80iWvjBZdMaQjW5j9OJfzuB+EIQBCfCNJrEf2lCXnU0=; b=R8M7qIpaIGD1hxPVhIAoIvaAgmky95Wh6bbBtm0V5aGwoYhewzD5hxEbWh4TgF97biHUVIO3AgNmWQxGtbK1y+XrDLLcs7ZQARgsHl0V6++hRI8USzJV8cgF0hfIIWuYxbPS95COj2UdzIGZAw1lKhZfYxhRqYNlpTgdJdZbJ57Vxo2F/Z774bUb6IKLzlK3CKSvDRrJvnsO9sG1dM0U/KqnejXytpBSg7zJEEFLra3YBJl9J7UpXjGI4kvRy1ffJRzI+5gY5heSkaDiaLVNiKH0ufV5kqQLodfFITIYi205yohG33z0YfFVIh+BlHlfdIaxC+iQqWsRvWzmY7rgvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.93.86.6) smtp.rcpttodomain=gmail.com smtp.mailfrom=duagon.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=duagon.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=duagon.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=80iWvjBZdMaQjW5j9OJfzuB+EIQBCfCNJrEf2lCXnU0=; b=nKvXWk+5CQ2UHsJ5FVEpwcs35kRZ0SzAzGBUZa6msh3fS/5N//ds7PWDEpYnWScsoJQT7ofeInMCtEN7UU/A6C7PyYKKodTIKWi5jppB71yaiiAq3k0YrmsFPfxPtlW79WRvh5sWcFp9FeI1SbnI0d4NGlHfgqaHDN2LBYEhWhQ= Received: from AS4P191CA0033.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:657::20) by GV0P278MB1768.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:6d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.23; Thu, 26 Feb 2026 15:14:30 +0000 Received: from AM4PEPF00025F9B.EURPRD83.prod.outlook.com (2603:10a6:20b:657:cafe::5b) by AS4P191CA0033.outlook.office365.com (2603:10a6:20b:657::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.26 via Frontend Transport; Thu, 26 Feb 2026 15:14:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.93.86.6) smtp.mailfrom=duagon.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=duagon.com; Received-SPF: Pass (protection.outlook.com: domain of duagon.com designates 40.93.86.6 as permitted sender) receiver=protection.outlook.com; client-ip=40.93.86.6; helo=GVAP278CU002.outbound.protection.outlook.com; pr=C Received: from hz-deliver01.de.seppmail.cloud (2a01:4f8:a0:13df::219) by AM4PEPF00025F9B.mail.protection.outlook.com (2603:10a6:20f:fff4::a) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.0 via Frontend Transport; Thu, 26 Feb 2026 15:14:30 +0000 Received: from hz-glue01.de.seppmail.cloud (unknown [10.11.0.26]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hz-deliver01.de.seppmail.cloud (Postfix) with ESMTPS id 4fMFP14Wnyz4x2D; Thu, 26 Feb 2026 16:14:29 +0100 (CET) Received: from hz-glue01.de.seppmail.cloud (unknown [172.18.0.6]) by hz-glue01.de.seppmail.cloud (Postfix) with ESMTP id 4fMFP14GqWz1vgl; Thu, 26 Feb 2026 16:14:29 +0100 (CET) X-SEPP-Suspect: dd2879324d1946c18c5c9516f0531d3f Received: from hz-scan09.de.seppmail.cloud (unknown [10.11.0.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hz-glue05.de.seppmail.cloud (Postfix) with ESMTPS id 4fMFP13k7Zz1x0r; Thu, 26 Feb 2026 16:14:29 +0100 (CET) Received: from hz-scan09 (localhost [127.0.0.1]) by hz-scan09.de.seppmail.cloud (Postfix) with SMTP id 4fMFP133D2z19TK; Thu, 26 Feb 2026 16:14:29 +0100 (CET) Received: from hz-m365gate01.de.seppmail.cloud (unknown [10.11.0.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hz-scan09.de.seppmail.cloud (Postfix) with ESMTPS; Thu, 26 Feb 2026 16:14:28 +0100 (CET) Received: from GVAP278CU002.outbound.protection.outlook.com (mail-switzerlandwestazlp17010006.outbound.protection.outlook.com [40.93.86.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (not verified)) by hz-m365gate01.de.seppmail.cloud (Postfix) with ESMTPS id 4fMFNz4C6nz2sqD; Thu, 26 Feb 2026 16:14:27 +0100 (CET) Received: from ZR0P278MB1218.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:80::5) by ZRAP278MB0963.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:49::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.14; Thu, 26 Feb 2026 15:14:25 +0000 Received: from ZR0P278MB1218.CHEP278.PROD.OUTLOOK.COM ([fe80::311:4b5c:48da:9514]) by ZR0P278MB1218.CHEP278.PROD.OUTLOOK.COM ([fe80::311:4b5c:48da:9514%5]) with mapi id 15.20.9654.013; Thu, 26 Feb 2026 15:14:25 +0000 From: Filip Jensen To: morbidrsa@gmail.com Cc: linux-kernel@vger.kernel.org, Filip Jensen , Jose Javier Rodriguez Barbarin Subject: [PATCH 2/3] mcb: Fix detection of iomapped pci devices Date: Thu, 26 Feb 2026 16:13:38 +0100 Message-Id: <20260226151339.48800-3-dev-Felipe.Jensen@duagon.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260226151339.48800-1-dev-Felipe.Jensen@duagon.com> References: <20260226151339.48800-1-dev-Felipe.Jensen@duagon.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MA3P292CA0019.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:47::9) To ZR0P278MB1218.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:80::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: ZR0P278MB1218:EE_|ZRAP278MB0963:EE_|AM4PEPF00025F9B:EE_|GV0P278MB1768:EE_ X-MS-Office365-Filtering-Correlation-Id: e232ccef-8e99-4888-394e-08de7549bd5d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info-Original: xXY8xpTwGJrEy7IZOqNFaavZXGF9sbhWmuOZaIRBsF3gaWeg0eKZYiHXBsbAkChgi2c+uO7mz2IB4dgA4J/BqcauDe3a7KwPUbrX06wbJ9HqfPI46rSJWne7vEpgakobOvfEr3ULi9mkOgOqYW/UG1Z0cfic5QUL9EmqMsSMuwEZSJMbfkBG1/tua4rHghzFRpHIh5ZirIUJ1PvFa7gIBz25s8lbPgcMZDnRtmXU/zBiERqmKZNHmWZxG+4NPYUcSiAFOrBhvULMJe9ZjLnuG9/NkgOdFevHdcq+pHMTlJ865yqTP98AbK1w6qfmEqBUdBln7xExlnq2lc201ZV/lTcSlHur2wVvdeIuQurbiqgJZpOm8gFHk1qVOHXDp16rYsYYibIXWOXSA7vrhyDZk4e8ZvECM1HvWkQjcOX2pAYfvAieH3OHpfrh/hjKmEauhEzbwN6Dxi21HcjfR0RGp6nbN2v8QBp+r2qHNd1glfeDG1nYt+PEySXLlfdkuK12KckniM940gi1A0Yx7MpgsuZZEySTTJ8C8dgChPTyp8shvYJv0aDrz1eaUjpKklajqFrewXRznF8ovk7j4yRjcGfqMrpg3JYmcSfCvS4Qd/PjWf9j6YRJ4FYleqm27L66LU4Fi5hGarx8yqLUS03mNr91Il+OViawFOigsUa0PSH9p5BWn02tUJGbOC+izzrECD6/NKCBEsHBc8wqU9Bn+KKWnxAfuSXypux2QMENZ4lueKaizkS+H5VNLE9EMagk8AsTFZNAnquUr3LXYxNzuE7jv3K0TcPpL4dhZSJi2cE= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR0P278MB1218.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZRAP278MB0963 X-SEPP-CCCVersion: 2025-12-11T08:12:51+01:00 9ed91da2 X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[40.93.86.6];domain=GVAP278CU002.outbound.protection.outlook.com X-MS-Exchange-ExternalOriginalInternetSender: ip=[40.93.86.6];domain=GVAP278CU002.outbound.protection.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F9B.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fe3b41f6-7df2-494a-02fe-08de7549ba76 X-SM-ruleversion: 2.1.0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|10070799003|35042699022|36860700013|14060799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LBHd/hBiXku4D0f/ljnSM3iEgKOhY0cc9iEsAhWwlP4eClhjAdxEg2skcbuQ?= =?us-ascii?Q?6cvM35amv570GAYUU65MKptTW56iWh1eFL+bOPkcHi16RthcOOX6i8j1wn/w?= =?us-ascii?Q?u/iTMYofxBHSKfUIwHkYKf1oT4VSHnhiDrNioLLgpvpq6gNEjJ/shvpuXZuQ?= =?us-ascii?Q?9qRT3UHUCNgWk12bWLKuGpdNO/vbealnWuRl+iUAKFOM4kYmPkBDm5TtsNwL?= =?us-ascii?Q?pYE7Bcd/lCy3KwLWG27Myn1nfwaOlJz/WtZLX1dMuxEMuJ0H1RfFWf1jrO/G?= =?us-ascii?Q?mW5l1pTPpy7SbMO7sdBT2klh6YSp1IoFsF/bXaRIn7PCoA10OCXraGSD3BiO?= =?us-ascii?Q?wu7KItNa5wVQ5dGSfBOdoIbQVSSD49kD4wqC9nzYzhKknhGPnfOM6tWnCFGv?= =?us-ascii?Q?mgzZIMzIHM+oOvhyKP1SArg5LwYRLKwueF/KrNekmW4CxOVqYLpRxgdbZRWx?= =?us-ascii?Q?uX5uVsYD65FNbU3iYwseneO+iMB1ydoQy/IpePbyhyaHOARTTiyl/QoKdd6I?= =?us-ascii?Q?m/XgaU5MGinuO9cwuLiz5AVOJt26rQdXi2Gx5RRURt57hHe0YuBpcitjhzeq?= =?us-ascii?Q?IQhEEZUoijlC/IU+2NEiYFR6LmiPVEiY1DrilLnaW7vnvYsAOljjBTum+cte?= =?us-ascii?Q?nc7o0cobQNvT+F4x21iOEvERqhvhIJLxwCVj4lU4TEIBu/ahun2QpzByVKOI?= =?us-ascii?Q?RvtE6UeidonCEEjLFA76MYTaCeZGz8PuOAFPPYhBNiPTX7/XWZv+XfD8TdmE?= =?us-ascii?Q?47NigHsQiXUuqVhVth4hIqDdYFq5PgK8gelEv7UX5lakuFf32JYtPFPFHC2n?= =?us-ascii?Q?vHedIIPon4gOk2wGBR2c+RJ8ZvwB+3ZUegSR5H3LWBULS6sfhbLYNFb2fgLO?= =?us-ascii?Q?3UFUZxQBUZY/KiDy5Vcc2OY63uAyMPCOupIWv0PI27IAiypigFYYypNaPYti?= =?us-ascii?Q?WTheip63jFCheZxd8x6Ere/Nn/lFvA1e4umDBQoXef2CIOfuFn4m9QoyXAS9?= =?us-ascii?Q?HkV5CUOtksmu5vko+tDoSdvWQwUnAXgJ+n/0mweKEKYWKYkDcL734ZBnnQFZ?= =?us-ascii?Q?8mHMq5L3hrAzeL1B8SO/DpLFtV/j+jjymM9HycKKpohtmDuohYpf1k2wydjN?= =?us-ascii?Q?Y0v0GtxQJCri?= X-Forefront-Antispam-Report: CIP:2a01:4f8:a0:13df::219;CTRY:CH;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GVAP278CU002.outbound.protection.outlook.com;PTR:mail-switzerlandwestazlp17010006.outbound.protection.outlook.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(10070799003)(35042699022)(36860700013)(14060799003)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: v24sILwmbc9gjJwMUf5gH0gz8pvcyhBZSN9RFFkJSgEYwO3gbJaSKedpTP+ydUcXX2xfR+a+I+ryIOeOyFhXwcQ33FCqPimO4QeOpAlQEbekTVVUfs8yp0pfH2si7GGJMf0F5VXNbe5Fy7VZyR4+CgzeVjpkDtCcOIkuYwMu5HuibVmBqrn6KALIRNC42GLFR42KqZXCGzKYQyAz5nvl0TekWgZIsk4VoWSNAIwhJQYZfP7yG0rB40khECTX3QWzaehDnlViEGsxXhAMtncASopWICTi42orCmNXEYeXwLxVBeRHxTPCaivGmfUap/jb8jRCsulm9DYnc9bg/YTZNlRBcA9sLj5obttVeUl6FeOSgqVWm5cq6JLKYchnzaB2QLnhK2WELbh736LOTIP+hdEF1l4qEH3S5uyHq6CoSvyZi4ep6jdS/Hbr4s+b7Oiz X-OriginatorOrg: duagon.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2026 15:14:30.2345 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e232ccef-8e99-4888-394e-08de7549bd5d X-MS-Exchange-CrossTenant-Id: e5e7e96e-8a28-45d6-9093-a40dd5b51a57 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5e7e96e-8a28-45d6-9093-a40dd5b51a57;Ip=[2a01:4f8:a0:13df::219];Helo=[hz-deliver01.de.seppmail.cloud] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00025F9B.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB1768 The mcb driver in a PCI bus is not detecting if an attached device has an iomapped or a memory mapped BAR, as all the addresses returned by pci_resource_start end in 0. Instead of the low level approach, which is still valid for lpc buses, here it will be used the standard PCI helper pci_resource_flags for checking if the PCI BAR is IO mapped (as it is done in mcb_pci_probe) Reviewed-by: Jose Javier Rodriguez Barbarin Signed-off-by: Filip Jensen --- drivers/mcb/mcb-parse.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/drivers/mcb/mcb-parse.c b/drivers/mcb/mcb-parse.c index 806be67b960d..251be2428873 100644 --- a/drivers/mcb/mcb-parse.c +++ b/drivers/mcb/mcb-parse.c @@ -29,9 +29,9 @@ static int chameleon_parse_bdd(struct mcb_bus *bus, return 0; } -static int chameleon_parse_gdd(struct mcb_bus *bus, - struct chameleon_bar *cb, - void __iomem *base, int bar_count) +static int chameleon_parse_gdd(struct mcb_bus *bus, struct chameleon_bar *cb, + void __iomem *base, int bar_count, + bool mcb_is_pci_device) { struct chameleon_gdd __iomem *gdd = (struct chameleon_gdd __iomem *) base; @@ -76,8 +76,12 @@ static int chameleon_parse_gdd(struct mcb_bus *bus, ret = 0; goto err; } - - if (dev_mapbase & 0x01) { + if (mcb_is_pci_device) { + if (pci_resource_flags(to_pci_dev(bus->carrier), mdev->bar) & + IORESOURCE_IO) + goto io_unsupported; + } else if (dev_mapbase & 0x01) { +io_unsupported: pr_info("IO mapped Device (16z%03d) not yet supported\n", mdev->id); ret = 0; @@ -125,7 +129,7 @@ static void chameleon_parse_bar(void __iomem *base, } static int chameleon_get_bar(void __iomem **base, struct chameleon_bar **cb, - struct device *dev) + struct device *dev, bool *mcb_is_pci_device) { struct chameleon_bar *c; int bar_count; @@ -154,6 +158,7 @@ static int chameleon_get_bar(void __iomem **base, struct chameleon_bar **cb, chameleon_parse_bar(*base, c, bar_count); *base += BAR_DESC_SIZE(bar_count); + *mcb_is_pci_device = false; } else { pdev = to_pci_dev(dev); bar_count = PCI_STD_NUM_BARS; @@ -164,6 +169,7 @@ static int chameleon_get_bar(void __iomem **base, struct chameleon_bar **cb, c[i].addr = pci_resource_start(pdev, i); c[i].size = pci_resource_len(pdev, i); } + *mcb_is_pci_device = true; } *cb = c; @@ -182,6 +188,7 @@ int chameleon_parse_cells(struct mcb_bus *bus, void __iomem *base) int ret; u32 hsize; u32 table_size; + bool mcb_is_pci_device; hsize = sizeof(struct chameleon_fpga_header); @@ -207,7 +214,8 @@ int chameleon_parse_cells(struct mcb_bus *bus, void __iomem *base) memcpy(bus->name, header->filename, CHAMELEON_FILENAME_LEN); bus->name[CHAMELEON_FILENAME_LEN] = '\0'; - bar_count = chameleon_get_bar(&p, &cb, bus->carrier); + bar_count = + chameleon_get_bar(&p, &cb, bus->carrier, &mcb_is_pci_device); if (bar_count < 0) { ret = bar_count; goto free_header; @@ -216,7 +224,8 @@ int chameleon_parse_cells(struct mcb_bus *bus, void __iomem *base) for_each_chameleon_cell(dtype, p) { switch (dtype) { case CHAMELEON_DTYPE_GENERAL: - ret = chameleon_parse_gdd(bus, cb, p, bar_count); + ret = chameleon_parse_gdd(bus, cb, p, bar_count, + mcb_is_pci_device); if (ret < 0) goto free_bar; p += sizeof(struct chameleon_gdd); -- 2.34.1