From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e06smtp10.uk.ibm.com (e06smtp10.uk.ibm.com [195.75.94.106]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 8A3361A009F for ; Tue, 16 Sep 2014 21:36:03 +1000 (EST) Received: from /spool/local by e06smtp10.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 16 Sep 2014 12:35:59 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id A1BD52190043 for ; Tue, 16 Sep 2014 12:35:36 +0100 (BST) Received: from d06av05.portsmouth.uk.ibm.com (d06av05.portsmouth.uk.ibm.com [9.149.37.229]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id s8GBZuXM20709582 for ; Tue, 16 Sep 2014 11:35:56 GMT Received: from d06av05.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av05.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s8GBZsiV004269 for ; Tue, 16 Sep 2014 05:35:56 -0600 Date: Tue, 16 Sep 2014 13:35:53 +0200 (CEST) From: Sebastian Ott To: Yijing Wang Subject: Re: [PATCH v1 16/21] s390/MSI: Use MSI chip framework to configure MSI/MSI-X irq In-Reply-To: <1409911806-10519-17-git-send-email-wangyijing@huawei.com> Message-ID: References: <1409911806-10519-1-git-send-email-wangyijing@huawei.com> <1409911806-10519-17-git-send-email-wangyijing@huawei.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: linux-mips@linux-mips.org, linux-ia64@vger.kernel.org, linux-pci@vger.kernel.org, Bharat.Bhushan@freescale.com, sparclinux@vger.kernel.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, Russell King , Joerg Roedel , x86@kernel.org, xen-devel@lists.xenproject.org, arnab.basu@freescale.com, Arnd Bergmann , Konrad Rzeszutek Wilk , Chris Metcalf , Bjorn Helgaas , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Xinwei Hu , Tony Luck , Ralf Baechle , iommu@lists.linux-foundation.org, Wuyun , linuxppc-dev@lists.ozlabs.org, "David S. Miller" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hello, On Fri, 5 Sep 2014, Yijing Wang wrote: > Use MSI chip framework instead of arch MSI functions to configure > MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework. > > Signed-off-by: Yijing Wang > --- > arch/s390/pci/pci.c | 18 ++++++++++++++---- > 1 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c > index 2fa7b14..da5316e 100644 > --- a/arch/s390/pci/pci.c > +++ b/arch/s390/pci/pci.c > @@ -358,7 +358,7 @@ static void zpci_irq_handler(struct airq_struct *airq) > } > } > > -int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) > +int zpci_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) > { > struct zpci_dev *zdev = get_zdev(pdev); > unsigned int hwirq, msi_vecs; > @@ -434,7 +434,7 @@ out: > return rc; > } > > -void arch_teardown_msi_irqs(struct pci_dev *pdev) > +static void zpci_teardown_msi_irqs(struct pci_dev *pdev) > { > struct zpci_dev *zdev = get_zdev(pdev); > struct msi_desc *msi; > @@ -448,9 +448,9 @@ void arch_teardown_msi_irqs(struct pci_dev *pdev) > /* Release MSI interrupts */ > list_for_each_entry(msi, &pdev->msi_list, list) { > if (msi->msi_attrib.is_msix) > - default_msix_mask_irq(msi, 1); > + __msix_mask_irq(msi, 1); > else > - default_msi_mask_irq(msi, 1, 1); > + __msi_mask_irq(msi, 1, 1); The default_msi_mask_irq to __msi_mask_irq renaming is hidden in your patch "x86/xen/MSI: Eliminate arch_msix_mask_irq() and arch_msi_mask_irq()" This means that between that patch and this one s390 will not compile. Could you please move this hunk to the other patch or even make an extra patch with the renaming. Other than that: Acked-by: Sebastian Ott Regards, Sebastian > irq_set_msi_desc(msi->irq, NULL); > irq_free_desc(msi->irq); > msi->msg.address_lo = 0; > @@ -464,6 +464,16 @@ void arch_teardown_msi_irqs(struct pci_dev *pdev) > airq_iv_free_bit(zpci_aisb_iv, zdev->aisb); > } > > +static struct msi_chip zpci_msi_chip = { > + .setup_irqs = zpci_setup_msi_irqs, > + .teardown_irqs = zpci_teardown_msi_irqs, > +}; > + > +struct msi_chip *arch_find_msi_chip(struct pci_dev *dev) > +{ > + return &zpci_msi_chip; > +} > + > static void zpci_map_resources(struct zpci_dev *zdev) > { > struct pci_dev *pdev = zdev->pdev; > -- > 1.7.1 > >