{"id":2196202,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2196202/?format=json","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.0/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260213040852.3340547-4-sherry.sun@nxp.com>","date":"2026-02-13T04:08:43","name":"[V5,03/12] PCI: dwc: Allow external allocation of pci_host_bridge","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"fea745241e68aa0b6854bd52d1246e3fc2d534d4","submitter":{"id":77063,"url":"http://patchwork.ozlabs.org/api/1.0/people/77063/?format=json","name":"Sherry Sun","email":"sherry.sun@nxp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260213040852.3340547-4-sherry.sun@nxp.com/mbox/","series":[{"id":492056,"url":"http://patchwork.ozlabs.org/api/1.0/series/492056/?format=json","date":"2026-02-13T04:08:40","name":"pci-imx6: Add support for parsing the reset property in new Root Port binding","version":5,"mbox":"http://patchwork.ozlabs.org/series/492056/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2196202/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-47247-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=eCCSP2gJ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-47247-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"eCCSP2gJ\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.69.48","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fBzDd3S6Jz1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 15:08:33 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id DD97430B3D98\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 04:08:14 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 9DA60257827;\n\tFri, 13 Feb 2026 04:08:11 +0000 (UTC)","from AM0PR83CU005.outbound.protection.outlook.com\n (mail-westeuropeazon11010048.outbound.protection.outlook.com [52.101.69.48])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 471F9257828;\n\tFri, 13 Feb 2026 04:08:10 +0000 (UTC)","from VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13) by DBBPR04MB7929.eurprd04.prod.outlook.com\n (2603:10a6:10:1ec::21) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.13; Fri, 13 Feb\n 2026 04:08:06 +0000","from VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994]) by VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994%5]) with mapi id 15.20.9611.008; Fri, 13 Feb 2026\n 04:08:06 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770955691; cv=fail;\n b=oGEbbCx7xx3dlJYKoRem1Vqj7sScTtUC00lC4mpIusikgxM2R32wa7U3c/a2Ix2vIGtt72J1iWIW0KO+chB1d0shyb6n8a/9D+SYFkgbIrBBHUCSHLEVsypP7tnwtcPphomvhc+KRtSwymAWvGBo7V6x3HvgZ0GsSjwCjHzxgvU=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=p4kHzhsI5QVJnC08uyNoHFaNU0M9jYd/4kNLuVN68cSD5SGAClmoPWoTSN5Fxaq4hsOIxdwTJ1v9MjA8O/vPUS38c6RGEL45zWr+tEFxZUzXnlnbaU+GD1h6wrjcZ6zvctRTQ3U0P2mNtR19A8l1nDTupQoTp6N9dUFVFZ+2HOmU9nPsXyUgCiKslOCHb544Kt4NTHBjs5NCxheyWtMV0DRpEsb90UataHbxrSinchyfxg1tOiL5sRonMgvITTlQ69uQvzu0J8k8JLBtsWeQs707TUdPXnfxAJiGR/GapB1r9RRa+bsX+F012wGo1jw7C0s4U9nLEape8TXuCicBew=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770955691; c=relaxed/simple;\n\tbh=xE8Q83yHNTmvq4CWDOHKTeH6bOHFqLYApsCRB+VaYjM=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=jidxXiD+wZ+SPkDrkhbCRHfFw0KU6jw1I8WOykXrQu8fE1DVnAxZHjqGf5lJtKZcqA7LCB4eBf6TrDwO1lrG38Vij6SPicckkrbhK0Cff9V/xkkEpXPAyXcss31NCDGLRsPq9p2yxwAswi0jmb5f5SN9UHAtccF514Kxls/lBvw=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=T+95R0i2WWJfcfpWyEuMjB3sWKWRO4FvgEoPb2B9MyU=;\n b=KNmU7wZZh8xLDSiAbApAfaKXNDLQOc+yIO218a6NpWCFRmuJGueOa3dXEU+o+DKgzOT/3V082WwnlyAHomsQ1E5ws92v9q6Jd/cTgpBa9sVkm469UqpzazMaGiOPnp0Fh/6aebHofgI492lUmkH6u5s3OQ/IT/HwR+JQaAB18bOEmI0Gcnm/rt+ZKNA/Bqau80dhYitowCnsHsuLqv3FAaqXnUfborn6Qcs8MT5sDbB3HFphNH5R9aa90afVm6hKBbkTcv3uHUldkYoSgPE2A9IbccBA9Hl+Piyc7S8/laoCMaXFWEmSnpzK9e4spA4eB1OPtFuXDnQgknixB6MBpQ=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=eCCSP2gJ; arc=fail smtp.client-ip=52.101.69.48","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=T+95R0i2WWJfcfpWyEuMjB3sWKWRO4FvgEoPb2B9MyU=;\n b=eCCSP2gJFcDP+ZOnGid81Yv/9rdVXwBO2nAuLmyWzBA7x1HI5/PcSc4tR0jdQMHdHPXeWafaOe3JJ9MDLHAEfJVvPy0ynqReywi5sLsNJDNNZKjE6PmIQWNpdojD7jAVD/vMs+Lspk0YqZ4M7PYp6+035nZjLoVocfFcZ7H6Hm/LW8LsHuMvaEgFr6hon1FAMS1hjR2fdP519056v0wZ2KZRRwsEfFbsJdHYfMnIj4aJx/OiZIp2ziBbmby0wG129xNJxsevocGvwHL2lmaVfiUG96TTTtVsUEkMpurogNSxkHAknpqHdooBZpNbHoF4p1fTkIMEunzZKAw4TiEzkA==","From":"Sherry Sun <sherry.sun@nxp.com>","To":"hongxing.zhu@nxp.com,\n\tl.stach@pengutronix.de,\n\tFrank.Li@nxp.com,\n\tbhelgaas@google.com,\n\tlpieralisi@kernel.org,\n\tkwilczynski@kernel.org,\n\tmani@kernel.org,\n\trobh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org,\n\ts.hauer@pengutronix.de,\n\tfestevam@gmail.com","Cc":"imx@lists.linux.dev,\n\tkernel@pengutronix.de,\n\tlinux-pci@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"[PATCH V5 03/12] PCI: dwc: Allow external allocation of\n pci_host_bridge","Date":"Fri, 13 Feb 2026 12:08:43 +0800","Message-Id":"<20260213040852.3340547-4-sherry.sun@nxp.com>","X-Mailer":"git-send-email 2.37.1","In-Reply-To":"<20260213040852.3340547-1-sherry.sun@nxp.com>","References":"<20260213040852.3340547-1-sherry.sun@nxp.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"SG2PR06CA0206.apcprd06.prod.outlook.com\n (2603:1096:4:68::14) To VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13)","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"VI0PR04MB12114:EE_|DBBPR04MB7929:EE_","X-MS-Office365-Filtering-Correlation-Id":"f600322b-908e-42f5-049b-08de6ab57deb","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|19092799006|1800799024|52116014|366016|7416014|376014|921020|38350700014;","X-Microsoft-Antispam-Message-Info":"\n mExc/OC6eyX5QIX8/ot7XTuUcuKsBafiOnWBvez5trp2YgTzmWCKUIVTNd/OvsAtMvW2RpeJZftxiprbDNHLjXb9wAX4qxYBSuY16BiUbaJ6kdc4jxUJm/i4GczysHM+XP+M/dPDXkqlOdebk3kuvSyeIUdBnj8legM/WJnjN/2fi9BV4167AoQYIv/ZX1eNN3CCCaFjPynAs+TFV8dVpgQVy0qfXHxBpg4DJcgeECAnyR7uK+G+dognIprK+7a01Ao6FMusgZkQATrXwx+4RvhNBzjMyzPt22sIRJ27qLgw+w5DGOFGe8fXUmDSeAaqMTiN/cWWkmx8wf3FoTIdZ/6FjopUh4HqOb5/I/e4f60VLz9DXNMz8YkQjWsX5JKXyM6ZO/u53C42kkcsk0rxiKeZPCzThhGMosHS0uaxlbi6yEoULFMGnseGJz5r9Zu3E6deIoZkIc5lS3Gs0geQODVYidZl33lkxq9oRwMNM1otPo7FCWf0c/oeLpAw13VIEjaK5HcU2BkSJ3zrpYvdoQz3G6JNEITGr05sBc41pfw+vbY8tcwAF3+CyXvttl5tJW+EeSIpaQku4VsYNB0CN3MCsQOvmIWws84iYWbFMckDTzvNwXpiLE02ZLvjjv0vMTVmzHBSR7oNzjwQn7cvGtg6gu/kVydculSyN5BvKyXT9uEnPLuA1y/NJeUlbllY4J7cLZM526763emooyjTCnU8sCoR5AXOjNIZcDjQa0mcqTPjZ0fdaLfDpe4q1/OFKKQXRVBkb54aUkvd6RhYL4IKV1rXommpp7f1j9ReMQlvqAeQe4DVs+/N6MNTpPdfXXQeTI0tdzfkKNMG+iWuCdf9pzt8tkHWhG/Pe3b+uImXgV7X8/glah+kiF/2lw9UR/SkBgwjrOsuetvzLxGD98D29490b0/SQPstmnPeBVJW940l0aTpFhntYFqc+6pdDat6KmAVPtu4ykvJAJSY2KoDD7H3gVxQ6tak/M1bQgTD3N9CFHrbkRP6Mk4nOgQlZMnDhvPMcRGCysCP9+qLKyJmI/hm8QeLHtAHgblsmo0/MGK7jYcOGifOq6w6bywAnCLiGscU5FmR7GuvvW+ixKz9/LUw+pfr9XKFPX6UMUpBwg8BFiVdM5LNfuNf3drkN0DUgrkRMCch4+xcbQ8ve4A66sOaNDHYsn6/DZnwBI2tljcZMkJYk66sP5ngzXdLSOamGjqU+nGJBEZy9hBKdsvv1sKIMMUpydZJOc0du90G/J1cy3Hl6Z0+9B04eKfh8peYGvCNw4uog5+WUa/VsQUckl+30AViBosOzMiv9tkIv5uZZQGzxASyjccYEoTk9I8uUo1XCWuSXZx9hUqK8DegRQl5t8xiua7f9FDzNIQcAA9l2i7Isj6+6w1vdorgtyjEfhgTV7lV3wCqF0R/orchN9T1hTkfbNKK+7H4V+wg8HbinkZ6o+s8rjdRmJtbriJClZrdoxKxa5s1LkZFLWdr/8I8eG2LPVWw6X9vEB+AJTAwHMVH4ErttuWBARSuftEyEsqGHJ4v5eRvF5GPiC0G2K4qAO22XVEf5m2dJ+kE1MVj/M5CYBUwfssm0+Gka3MufbW802gkt+BYND38rd6KGp+3uU/SDeOSu4b2RNsZOlJgU/jC8lEF1yz18+cr","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR04MB12114.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(52116014)(366016)(7416014)(376014)(921020)(38350700014);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n Ge3nlijjMxYWhc2m7vnVRLMRmJmoeQyYlhVtL8od1/i0e3I6eogcphOZDK2e+VwTxe/3xJ2s9167A4Rx+qU3UUHTlYWaOpfdJHU5JvoKCb47/V5SYSEdUTfqGmpsO7ObIitxuE1GatHCNNNe7P982TJbLc1x+DUHfZos+u/54in6xFhdc4ws2G9CdN2qRz0M7mPepvsqa7pYf1FH4fyy4obEjf0C5hR5ywPnfcySnuAXKdvNZ+8fdcG6ZoKbto7gQlAttJab43sFeTzHdn1TiujiEtiCZ8Ak2Tjzf8EIvKGFI5w+7mahoypBUzz1lb6W30cthGKwaB/AKDzMbHAhrfzGmllVM9yiBYo79f1l1/KxBw6e7LeifcbsYTx39WCFX8/6CHxi/Cs7A8uotfWRp09XUgNb0Vu7e0x5tRl3oh6QdHnBadcw8BjQf+6P6/dKU2U3y/w/Yzsz+n5oIYQ5Ax7NxUjVRqJG6mawkM4iJHKalwjedciRl1K7Efs2YlLlPTW0SA3PfrAV+ABeWtGoaWg+KpRzHKswur1k5XIDNeysWsQhiLNO4ATPJVy/DifUdJ7LNxRS7tI6RMIz/1MCuHvWvGFsoYyT374WQPjsOeYza+F9UVsCLg8EFCoVK6dmRwz0ZPh/GppyVlliseUdm+9zz2j7wM6LhLqZNnF5H4ron76u2iXJF+6axKA5SNZAB6NNWM7N2YH+OSP5veWaW+tHfMW7as6E9B18d1hkBn51O20pUuho6BFZv2s0Jn+uYuAq7ea6bconSi3l1HCIh7hGC0mGUY19sfKp2iPvIq3hEYneMFIF8VKGo423a4VlshvFjWNcTp1l5suXGokjS79MPau8CboPqwELJ7im5qsbe0CTtr3dhYwjajwX67+HrmzdJupxFYMvywnIyp274wOyI8Km2chSG9/u1qUzUnXqKY3kGqWhRj6K7mTvlR6cJO4juK1lThRybSE/ki6RlR8tQ8cieNbpr7oAZqo6TnnbkbeJc2t0vC8hSQxpgsVES4AU7fNPlVvmcXiak83BHkrB3oisFA1QBFWyKnAONIrtKxdwDKODEskjEx8lcij524VYKmCIsERYdSdbaTdRJR/8y+DGUvbtqrDBELXJxu1QjNrjGhXRI1tR6dbmVa/09zpRMZlGSLIV0DgTY6jePN3rTgmvqLFmM2eZME6VQn2A35ttSExoK4yiyY/4AIXQQYD4eP7v09+qQEvT2Al/EVsS5XRGNt8vweSTNQe5/iMpG130fuZi2aLCuyuYDxIuwQn+oA7S3QnBCR4EPTEPQipjnjmf5c9fb7wcRVsaAz474LKwA4HKCMnrsVs8DNg1m6522/TW4GnZVdi1xFzweM99CGxTemg83+ZzgE9jioBsVpGK+3Oq0QSH6zycEtbkLD4rD0g260vHiK6W3tylZnRIdy7QbqocBtLwZEFJBiPWyPbPEfe2QVuGd3Va6Rm9Q5tkIlIbkeluavbJbGRxDCfOMaobyslxRKHBwI4jgLggz7QO5wpL5PjTWOc3/SZ1OxlMjnBmSpz+CPK6DNoHXmmKUmEMvZRRaJRcNzj0J5miba72BXjPFORvcBQY+oEhFl3bldf2UDOSYjO6pcCfZpQuEvmnhx6Ab21sx8FEZcbHqllUzPCpiCzw9GGyv7nVwtF4Ht8sbYffOEUw5Wd6C3ZgGbti6Igw1485bvgtws3GJbNwvCL3CSRm+3sNNHJZktAnkgiukLDtN/J8dtfJfg==","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n f600322b-908e-42f5-049b-08de6ab57deb","X-MS-Exchange-CrossTenant-AuthSource":"VI0PR04MB12114.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"13 Feb 2026 04:08:06.8663\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n JJ1+xaZVK0DyVVhEUMU532dQziZoVk9lPxkD0EyVL4cEsu3ZtuTD6XnvfnCKGvEd4KBoyF5xYmKqJ1alWiBJ9g==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DBBPR04MB7929"},"content":"Currently, dw_pcie_host_init() always allocates a new pci_host_bridge\nstructure internally using devm_pci_alloc_host_bridge(). This prevents\ndrivers from pre-allocating the bridge structure when needed.\n\nModify dw_pcie_host_init() to check if pp->bridge is already set. If\nset, use the pre-allocated bridge instead of allocating a new one. This\nmaintains backward compatibility with existing drivers that don't set\npp->bridge, while allowing new drivers to pre-allocate when needed.\n\nSigned-off-by: Sherry Sun <sherry.sun@nxp.com>\n---\n drivers/pci/controller/dwc/pcie-designware-host.c | 12 ++++++++----\n 1 file changed, 8 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c\nindex 6ae6189e9b8a..c2de9830e1e9 100644\n--- a/drivers/pci/controller/dwc/pcie-designware-host.c\n+++ b/drivers/pci/controller/dwc/pcie-designware-host.c\n@@ -575,11 +575,15 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp)\n \n \traw_spin_lock_init(&pp->lock);\n \n-\tbridge = devm_pci_alloc_host_bridge(dev, 0);\n-\tif (!bridge)\n-\t\treturn -ENOMEM;\n+\tif (!pp->bridge) {\n+\t\tbridge = devm_pci_alloc_host_bridge(dev, 0);\n+\t\tif (!bridge)\n+\t\t\treturn -ENOMEM;\n \n-\tpp->bridge = bridge;\n+\t\tpp->bridge = bridge;\n+\t} else {\n+\t\tbridge = pp->bridge;\n+\t}\n \n \tret = dw_pcie_host_get_resources(pp);\n \tif (ret)\n","prefixes":["V5","03/12"]}