From patchwork Mon Nov 10 19:24:40 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suravee Suthikulpanit X-Patchwork-Id: 5268821 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A6069C11AC for ; Mon, 10 Nov 2014 19:27:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C9B6B2011D for ; Mon, 10 Nov 2014 19:27:31 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E3AF02010E for ; Mon, 10 Nov 2014 19:27:30 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1Xnuan-0003zH-BE; Mon, 10 Nov 2014 19:25:37 +0000 Received: from mail-bl2on0112.outbound.protection.outlook.com ([65.55.169.112] helo=na01-bl2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Xnuab-0003E7-Tv for linux-arm-kernel@lists.infradead.org; Mon, 10 Nov 2014 19:25:27 +0000 Received: from BN1PR02CA0047.namprd02.prod.outlook.com (10.141.56.47) by BY2PR02MB201.namprd02.prod.outlook.com (10.242.232.12) with Microsoft SMTP Server (TLS) id 15.1.11.14; Mon, 10 Nov 2014 19:25:02 +0000 Received: from BN1AFFO11FD016.protection.gbl (2a01:111:f400:7c10::198) by BN1PR02CA0047.outlook.office365.com (2a01:111:e400:2a::47) with Microsoft SMTP Server (TLS) id 15.1.16.15 via Frontend Transport; Mon, 10 Nov 2014 19:25:02 +0000 Received: from atltwp02.amd.com (165.204.84.222) by BN1AFFO11FD016.mail.protection.outlook.com (10.58.52.76) with Microsoft SMTP Server id 15.1.6.13 via Frontend Transport; Mon, 10 Nov 2014 19:25:01 +0000 X-WSS-ID: 0NEU8LL-08-XQ9-02 X-M-MSG: Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (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 2B764D1601D; Mon, 10 Nov 2014 13:24:56 -0600 (CST) Received: from SATLEXDAG06.amd.com (10.181.40.13) by SATLVEXEDGE02.amd.com (10.177.96.29) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 10 Nov 2014 13:25:12 -0600 Received: from ssuthiku-fedora-lt.amd.com (10.180.168.240) by satlexdag06.amd.com (10.181.40.13) with Microsoft SMTP Server id 14.3.195.1; Mon, 10 Nov 2014 14:24:58 -0500 From: To: Subject: [PATCH 2/2] PCI: generic: Add set_msi_parent callback Date: Mon, 10 Nov 2014 13:24:40 -0600 Message-ID: <1415647480-3320-3-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1415647480-3320-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1415647480-3320-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:(10019020)(6009001)(428002)(189002)(199003)(229853001)(50466002)(77096003)(62966003)(77156002)(76176999)(50986999)(120916001)(102836001)(48376002)(107046002)(2351001)(44976005)(50226001)(95666004)(19580405001)(4396001)(19580395003)(20776003)(64706001)(99396003)(92566001)(92726001)(47776003)(89996001)(110136001)(86152002)(36756003)(93916002)(33646002)(53416004)(87286001)(87936001)(88136002)(106466001)(68736004)(105586002)(21056001)(97736003)(84676001)(101416001)(104166001)(46102003)(86362001)(31966008)(41533002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR02MB201; H:atltwp02.amd.com; FPR:; MLV:sfv; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB201; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA: BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB201; X-Forefront-PRVS: 039178EF4A Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; X-Exchange-Antispam-Report-CFA: BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB201; X-OriginatorOrg: amd4.onmicrosoft.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20141110_112526_311049_A8366F62 X-CRM114-Status: GOOD ( 11.21 ) X-Spam-Score: -0.0 (/) Cc: lorenzo.pieralisi@arm.com, liviu.dudau@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, Suravee Suthikulpanit , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Suravee Suthikulpanit This patch implement set_msi_parent callback for PCI generic host controller. Cc: Bjorn Helgass Cc: Liviu Dudau Cc: Lorenzo Pieralisi Signed-off-by: Suravee Suthikulpanit --- drivers/pci/host/pci-host-generic.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c index 036ab1b..f9bb97a 100644 --- a/drivers/pci/host/pci-host-generic.c +++ b/drivers/pci/host/pci-host-generic.c @@ -42,6 +42,7 @@ struct gen_pci { struct pci_host_bridge host; struct gen_pci_cfg_windows cfg; struct list_head resources; + struct msi_chip *mchip; }; #ifdef CONFIG_ARM @@ -128,9 +129,19 @@ static int gen_pci_config_write(struct pci_bus *bus, unsigned int devfn, return PCIBIOS_SUCCESSFUL; } +static int gen_pci_set_msi_parent(struct pci_bus *bus) +{ + struct gen_pci *pci = bus_to_gen_pci(bus); + + bus->msi = pci->mchip; + + return PCIBIOS_SUCCESSFUL; +} + static struct pci_ops gen_pci_ops = { .read = gen_pci_config_read, .write = gen_pci_config_write, + .set_msi_parent = gen_pci_set_msi_parent, }; static const struct of_device_id gen_pci_of_match[] = { @@ -313,6 +324,9 @@ static int gen_pci_probe(struct platform_device *pdev) return err; } + pci->mchip = of_pci_find_msi_chip_by_node(of_parse_phandle(np, + "msi-parent", 0)); + #ifdef CONFIG_ARM pci_common_init_dev(dev, &hw); #else