From patchwork Wed Oct 14 23:25:52 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 54973 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f198.google.com (mail-wi0-f198.google.com [209.85.212.198]) by patches.linaro.org (Postfix) with ESMTPS id BAD3520490 for ; Wed, 14 Oct 2015 23:26:09 +0000 (UTC) Received: by wibzt1 with SMTP id zt1sf1739311wib.0 for ; Wed, 14 Oct 2015 16:26:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-type :spamdiagnosticoutput:spamdiagnosticmetadata:sender:precedence :list-id:x-original-sender:x-original-authentication-results :mailing-list:list-post:list-help:list-archive:list-unsubscribe; bh=1kP6PY3gqoy39dKYYE7hIBQZzCqmKMT+Y+29G4LTlDY=; b=I0NEaiI9zGK6u45OH1AC4DuY7okncfCoGVOLzzgDqHhxHO9ftB/k61xrzMaGaik/PO RJEkKYWPf72pQyavv3x4EmL9QBl8RuFKqGhqRicnsbnNobn2cNjhbJ8pQpT3Urt76Q83 1cj6qAqZKbjih428nwSjShHjtsubL5xjMYgl/Z7XtHZzSlahl6n+hztASEWtBKOxPcJR LQdp8CDbG9rgjpOj+l2nBopFKpHs8L4bjvkPgA6OXQQmvUTIJ16XfKspe3FWb5qsQinI RkrzpKh9j4fhD+xbGHvhFKQAflVwYYAl0Wppbdw7Qi+aBcaBe1OecL13mHfSW56S4/D0 qkig== X-Gm-Message-State: ALoCoQm+8CYkM4fVoUbLrwBL/RCWnBa7gruVNz8UTwFScViD9vLtWnYX0stLTCsA5Kutr+7kTWaN X-Received: by 10.181.29.103 with SMTP id jv7mr1470077wid.0.1444865168986; Wed, 14 Oct 2015 16:26:08 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.25.19.197 with SMTP id 66ls98725lft.73.gmail; Wed, 14 Oct 2015 16:26:08 -0700 (PDT) X-Received: by 10.112.180.198 with SMTP id dq6mr2921750lbc.90.1444865168835; Wed, 14 Oct 2015 16:26:08 -0700 (PDT) Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com. [209.85.217.178]) by mx.google.com with ESMTPS id 70si1647068lfw.5.2015.10.14.16.26.08 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Oct 2015 16:26:08 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.178 as permitted sender) client-ip=209.85.217.178; Received: by lbbpp2 with SMTP id pp2so28079788lbb.0 for ; Wed, 14 Oct 2015 16:26:08 -0700 (PDT) X-Received: by 10.112.163.131 with SMTP id yi3mr2922330lbb.36.1444865168664; Wed, 14 Oct 2015 16:26:08 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp279923lbq; Wed, 14 Oct 2015 16:26:07 -0700 (PDT) X-Received: by 10.68.93.133 with SMTP id cu5mr6520496pbb.71.1444865167624; Wed, 14 Oct 2015 16:26:07 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id py7si16776809pbc.119.2015.10.14.16.26.07; Wed, 14 Oct 2015 16:26:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-acpi-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754274AbbJNXZ5 (ORCPT + 6 others); Wed, 14 Oct 2015 19:25:57 -0400 Received: from mail-bl2on0098.outbound.protection.outlook.com ([65.55.169.98]:35648 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753717AbbJNXZy (ORCPT ); Wed, 14 Oct 2015 19:25:54 -0400 Received: from CY1PR1201CA0006.namprd12.prod.outlook.com (10.169.17.144) by CY1PR12MB0715.namprd12.prod.outlook.com (10.163.238.21) with Microsoft SMTP Server (TLS) id 15.1.300.14; Wed, 14 Oct 2015 23:25:50 +0000 Received: from BY2NAM03FT029.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::208) by CY1PR1201CA0006.outlook.office365.com (2a01:111:e400:5b9a::16) with Microsoft SMTP Server (TLS) id 15.1.293.16 via Frontend Transport; Wed, 14 Oct 2015 23:25:51 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from atltwp02.amd.com (165.204.84.222) by BY2NAM03FT029.mail.protection.outlook.com (10.152.84.213) with Microsoft SMTP Server id 15.1.300.4 via Frontend Transport; Wed, 14 Oct 2015 23:25:49 +0000 X-WSS-ID: 0NW8H2V-08-IVF-02 X-M-MSG: Received: from satlvexedge01.amd.com (satlvexedge01.amd.com [10.177.96.28]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp02.amd.com (Axway MailGate 5.3.1) with ESMTPS id 2485FBD88D5; Wed, 14 Oct 2015 19:25:43 -0400 (EDT) Received: from SATLEXDAG02.amd.com (10.181.40.5) by satlvexedge01.amd.com (10.177.96.28) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 14 Oct 2015 18:25:49 -0500 Received: from ssuthiku-fedora-lt.amd.com (10.180.168.240) by SATLEXDAG02.amd.com (10.181.40.5) with Microsoft SMTP Server id 14.3.266.1; Wed, 14 Oct 2015 19:25:45 -0400 From: Suravee Suthikulpanit To: , , , CC: Lorenzo Pieralisi , Will Deacon , Catalin Marinas , , , , , , , , Suravee Suthikulpanit Subject: [PATCH V2 2/6] acpi: pci: Setup MSI domain for ACPI based pci devices Date: Wed, 14 Oct 2015 16:25:52 -0700 Message-ID: <1444865156-9870-3-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1444865156-9870-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1444865156-9870-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(5003940100001)(5003600100002)(64706001)(2201001)(5007970100001)(86362001)(87936001)(50466002)(47776003)(92566002)(36756003)(189998001)(5008740100001)(48376002)(5001770100001)(53416004)(105586002)(5001920100001)(77096005)(46102003)(50226001)(2950100001)(19580395003)(19580405001)(229853001)(106466001)(76176999)(101416001)(50986999)(97736004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0715; H:atltwp02.amd.com; FPR:; SPF:None; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0715; 2:RKTiw+DILv1lL/PuOCVB4vD9Pa08OM/sZgkOWUtV3nEnquXEoBv6iz5c0ConYd3lq/TjsOLYzf40Zyk6u7ZNDN61zcjwsi8LUiEftR8W/lNEmc4uAMLlo/tG4DTSrH7+VzTz1GO+D4M+oZd8eqZUEY4Hj2rNSTFJ3o9O08uw5jA=; 3:piDkIiOVzv0GXa+f0PMP3M7FBuKcRguo7DGnJYShLkfQVe/tddjSRHpDOc1UCbA7o+758jiBLY5yf19UMuUhOFaTbfmLBmm4ebwLliQfaY9GTqN1f9Tuiskt92L9gXKnHpTPcl1G532eu7pixlque2WbdVvRP7Hk3aPFEGtSmGI3USB2tjTJGuecmX9rJl8eoOV6lPX3iw6d1vNYklJ8i7Usy6MtOO0h0mtgD7DsXnA+u36WL7aOil6SxISkJJi3; 25:RMTflPRGY9zKV0cUZ0CZM5gix8LfITXC0gCXU/BazMKvzrQb29oHQcU0od4CpAXg9RoY81nQ1KgN7ZBDri1Z51IkQ31EZmGCi9v6lTV+wdLoLy21ydbnNro69pshB3eb52voWxygN0/3lHYkH9cyvaEcUsZPNl/RUiUGmzugZBEJbY/QAGH3S5Aul/vx3cxzrXkcDs9+1fT/FttdaqKfG51Rr5meAF+Y+nReXqiCrQ4Jt5YLisMPrPYy9DkgjOqEMl/T+swd05QEFrhixYsU0w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0715; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0715; 20:sRuPb3fXvZCde5tdZ2raifcvjSbtoAbNyyL6j5vZMc5iePS01FP8gYTh6iaADpKvF+8G0fEErMVUasHAi9V8r1ti5zHvDipAtNmLhQPg/Zk8jeLW1E13bnD5MKQT5XEHtzzw1lnw7s6Kv83hwWHIGs29lQQ6ykVYTQnJip7498gJTFMGeqRETrv8D0lFfUuhyppoKP0T1vjAC5uEPUA3HsrI6p2mHtQE0LBId1TwqRxjZzm87XwzUDrfHmkYpQvWNtNO63I9Bxmm1x/66dN6PwXYjJjZDQGK2VNsIecId8EuZr18l8lsADxKmHkO6JgFpfv+aITIMjVNCORhgioRiLAiFK+WmR/90RWDsM28BRLi2bFyAXJyGeJXYdi9GpadNeUORBplmuBi/Y6KJrQ/xRUbC6i6u+pPJhHEvA4D+Ia7hEpvM4wpZ/tdqsqiitEBT8eDqSfk2nF38rvMEFxombgxDFpQKor+NdmcWIqIvSW4wB3rCrtjHAF+LoNYAW9R; 4:zaInwRADpLEiLh6rlTGxmSZe73P3+7EZb9lpa3Dvcr/qB5xcYSw66c4V9Q5oic/9MVdVKTYteFeiisnSdIfGDT0lho6wjmaMz67dHBKlk9OWvxPmJLZsXHY4uVUeAtroFj46qDBkHJeHh02tK7VJumBSPVYD7jLy21ltDF+3WOPsZPX0XLqEV/5ygyq+CNf8mZy/jzsuLmWutWYaLdmgd131PK2cS0mUmhpf5zCa3xk3MXjm8ggq5xTKuADQWmLyHtoeuzicR9w0OjVEif9en+gxM3HfzC3BhT+6SumhtMzAj9s0zEaHwzcFLbsxzlEA6+fwPl3riH9KCGDl3M6LXkG95RWSDQW6xsVwmmMpFgo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001); SRVR:CY1PR12MB0715; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0715; X-Forefront-PRVS: 0729050452 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0715; 23:vzFbk4PQZTPZEYVuYL8FQMViSvsxR2amRp/feoZH1?= =?us-ascii?Q?M88blzY3KoSyKnYDupEjmy7SXTm9GCG4TnOCLZ46NjDCba3g3TD1vgHsmZMx?= =?us-ascii?Q?tFLc1QPfeMmO2GJCSgQFeJWlovwO/KbxkisWwe3jFbRFGInl8a2lX5NWiFWw?= =?us-ascii?Q?SBGnsrw6s6KWD4d9thn+UnUr9qNAwwGjsO51VKjnvh/CmGG3N23JFUCO1bea?= =?us-ascii?Q?MatPio2cA23FZTJppHjE8IvfOAIBo/XLL6gagDUQHZIwywuxVLyM8HuCOxeH?= =?us-ascii?Q?NztScuiArjwMLNNRmo74O30JL9fGPoN9+WxhD2qmKwkb6ylKrUyxEFo4LQFI?= =?us-ascii?Q?7Fh88XvDlyBVh/c6h3wGdi3rSpziiZEtPJYaGNWtKe4XUa3cKAIs5ctfVx65?= =?us-ascii?Q?Ie8/edLoorLCSar0Cs04s/xAy7XLUl4fVoF4TkffPP8xlw6qGckOGXNJs0jq?= =?us-ascii?Q?F6sPbbti7VlJyCr2eIiG0n7WnrqYigrv/cWLBmuLRrU+bIYTWb+RkoOCpc3b?= =?us-ascii?Q?2TxHbY1sSnOsQnCLDJwpkPn2OxuzxzF5sp5mtRYYYA/YK9aqRCnaLBkJOmuf?= =?us-ascii?Q?QsBjgDAj3TXmjW3T0NRLrSxsuzeLWwr7mrSThNXlGKcH6eByWnGl6cpEA+CY?= =?us-ascii?Q?VZLG90KOYevwO1ai0IkbtC8Di1RkZWS6FS/CDiZzDWHDbAV+3j6llEeDo5XV?= =?us-ascii?Q?JKOmGzyeSUtiLxBo1k9ExTXIaa6ZJhmOUs/7AvppnsNYUo9vfLVmebSfVviG?= =?us-ascii?Q?SlW34h76fXji0k/f2NRE/quho73qgzipXuzOzqiF/+jREIAyyfwDjvzz3LnO?= =?us-ascii?Q?oCR0EFnFw5XpHQ1AIiWBJTMtnoTi7YSD1S5IXUVB33ShlBa/UNtU74qcK21K?= =?us-ascii?Q?83E0pLaPUrNrfhRtEjkVSjBHDaqFOC8NIy8U2P05CyeR4RFFCspcFMNX6WKy?= =?us-ascii?Q?3eWBdxPZi8YbSQ0TjEN7g0Yl6y0Jy0fZl3mm3hLLZEoo8XGtFC5I1RMEQbv5?= =?us-ascii?Q?vI=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0715; 5:TXYXhKLvTyul/eV2sxlfhYbJRFkrbwuJY90k2A5XiVVwHgz9T7sL4OtCfhlmQbD3s+nZmoeh7sMErBgUOLql2e8s3mZAtYQf8BQ209iL+pnuwpW7NEhQqBwqwAY3BYg9F2xa4Lm6kP7CFEFeCmemRA==; 24:H/8V3ETkpRfKeVvwyR5+Ftezerytc4WA+0zwANk+okBOYUBN8J4JCvM+iHld7DrxNjcRyuDG4lamu3Iuym+2rvldlK2xIU3RCK71jp/QRcM=; 20:zf3YdlhrJbn93kr3DVrdRwvcncMGDssaWOI295A6y54hBpgGUhXVD37Hxn/iG8NszxfwGFBzxbdbOnDdLybmKoomZw/ZMdFPQJJN3/w13HdTwNYkFLJkTSxFencmvjITCz6gUpjku9n6VjeDb/nqT3QwT/mp++v6pr8MbcwAFnQHZQCja3SZaaEOg8tWiUEyorpXf1/SBQSALE1iqXuh3B+pEkDbQE4PHWB1pdbRx4iU6YRvS1XLBEMHUuoUmF4c SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2015 23:25:49.3219 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.222]; Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0715 Sender: linux-acpi-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: suravee.suthikulpanit@amd.com X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.178 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , This patch introduces pci_host_bridge_acpi_msi_domain(), which returns the MSI domain of the specified PCI host bridge with DOMAIN_BUS_PCI_MSI bus token. Then, it is assigned to pci device. Signed-off-by: Suravee Suthikulpanit --- drivers/pci/pci-acpi.c | 13 +++++++++++++ drivers/pci/probe.c | 2 ++ include/linux/pci.h | 7 +++++++ 3 files changed, 22 insertions(+) diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index a32ba75..0e21ef4 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -9,7 +9,9 @@ #include #include +#include #include +#include #include #include #include @@ -689,6 +691,17 @@ static struct acpi_bus_type acpi_pci_bus = { .cleanup = pci_acpi_cleanup, }; +struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) +{ + struct irq_domain *dom = NULL; + struct fwnode_handle *fwnode = pci_msi_get_fwnode(&bus->dev); + + if (fwnode) + dom = irq_find_matching_fwnode(fwnode, + DOMAIN_BUS_PCI_MSI); + return dom; +} + static int __init acpi_pci_init(void) { int ret; diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 0dbc7fb..bea1840 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -671,6 +671,8 @@ static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus) * should be called from here. */ d = pci_host_bridge_of_msi_domain(bus); + if (!d) + d = pci_host_bridge_acpi_msi_domain(bus); return d; } diff --git a/include/linux/pci.h b/include/linux/pci.h index e90eb22..4a7f6a9 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1925,6 +1925,13 @@ static inline struct irq_domain * pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } #endif /* CONFIG_OF */ +#ifdef CONFIG_ACPI +struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus); +#else +static inline struct irq_domain * +pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) { return NULL; } +#endif + #ifdef CONFIG_EEH static inline struct eeh_dev *pci_dev_to_eeh_dev(struct pci_dev *pdev) {