From: Jiang Liu <jiang.liu@linux.intel.com> To: Bjorn Helgaas <bhelgaas@google.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Grant Likely <grant.likely@linaro.org>, Marc Zyngier <marc.zyngier@arm.com>, Stuart Yoder <stuart.yoder@freescale.com>, Yijing Wang <wangyijing@huawei.com>, Borislav Petkov <bp@alien8.de> Cc: Jiang Liu <jiang.liu@linux.intel.com>, Tony Luck <tony.luck@intel.com>, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Date: Thu, 9 Jul 2015 16:00:35 +0800 [thread overview] Message-ID: <1436428847-8886-1-git-send-email-jiang.liu@linux.intel.com> (raw) Recently Marc Zyngier <marc.zyngier@arm.com> has posted a patch set at https://lkml.org/lkml/2015/7/7/712 to enhance PCI MSI code to support generic MSI. This is a companion patch set to refine struct msi_desc and related data structures to support generic MSI, and it would be better to combined with Marc's patch set. It's also requested by Stuart Yoder <stuart.yoder@freescale.com> It first introduces a helper function msi_desc_to_pci_sysdata(), and convert current PCI drivers to use helper functions to access fields in struct msi_desc. Then it moves msi_list from struct pci_dev into struct device and refines struct msi_desc. At last it moves alloc_msi_entry() into kernel/irq/msi.c for reuse. Currently msi_desc_to_pci_sysdata() and msi_desc_to_pci_dev() are implemented as normal functions instead of inlines to avoid header file inclusion issue. If inlined version is preferred for performance, we could move all of first_pci_msi_entry, for_each_pci_msi_entry, msi_desc_to_pci_dev and msi_desc_to_pci_sysdata from linxu/kernel/msi.h into linux/kernel/pci.h. This patch set is based on v4.2-rc1 and passes 0day test suite. You may access the code at: https://github.com/jiangliu/linux.git msi_desc_v1 Thanks! Gerry Jiang Liu (12): PCI: Add helper function msi_desc_to_pci_sysdata() MIPS, PCI: Use for_pci_msi_entry() to access MSI device list PowerPC, PCI: Use for_pci_msi_entry() to access MSI device list s390/pci: Use for_pci_msi_entry() to access MSI device list x86, PCI: Use for_pci_msi_entry() to access MSI device list PCI: Use for_pci_msi_entry() to access MSI device list sparc, PCI: Use helper functions to access fields in struct msi_desc PCI: Use helper functions to access fields in struct msi_desc genirq: Move msi_list from struct pci_dev to struct device genirq, PCI: Store 'struct device *' instead 'struct pci_dev *' in struct msi_desc genirq, PCI: Reorginize struct msi_desc to prepare for support of generic MSI genirq, PCI: Move alloc_msi_entry() from PCI MSI code into generic MSI code arch/mips/pci/msi-octeon.c | 2 +- arch/powerpc/platforms/cell/axon_msi.c | 6 +-- arch/powerpc/platforms/pasemi/msi.c | 4 +- arch/powerpc/platforms/powernv/pci.c | 4 +- arch/powerpc/platforms/pseries/msi.c | 6 +-- arch/powerpc/sysdev/fsl_msi.c | 4 +- arch/powerpc/sysdev/mpic_u3msi.c | 4 +- arch/powerpc/sysdev/ppc4xx_hsta_msi.c | 4 +- arch/powerpc/sysdev/ppc4xx_msi.c | 4 +- arch/s390/pci/pci.c | 6 +-- arch/sparc/kernel/pci.c | 2 +- arch/x86/pci/xen.c | 8 ++-- drivers/base/core.c | 3 ++ drivers/pci/host/pci-keystone-dw.c | 6 +-- drivers/pci/host/pcie-designware.c | 4 +- drivers/pci/host/pcie-xilinx.c | 12 ++--- drivers/pci/msi.c | 82 +++++++++++++++++--------------- drivers/pci/xen-pcifront.c | 2 +- include/linux/device.h | 4 ++ include/linux/msi.h | 55 +++++++++++---------- include/linux/pci.h | 1 - kernel/irq/msi.c | 17 +++++++ 22 files changed, 136 insertions(+), 104 deletions(-) -- 1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: jiang.liu@linux.intel.com (Jiang Liu) To: linux-arm-kernel@lists.infradead.org Subject: [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Date: Thu, 9 Jul 2015 16:00:35 +0800 [thread overview] Message-ID: <1436428847-8886-1-git-send-email-jiang.liu@linux.intel.com> (raw) Recently Marc Zyngier <marc.zyngier@arm.com> has posted a patch set at https://lkml.org/lkml/2015/7/7/712 to enhance PCI MSI code to support generic MSI. This is a companion patch set to refine struct msi_desc and related data structures to support generic MSI, and it would be better to combined with Marc's patch set. It's also requested by Stuart Yoder <stuart.yoder@freescale.com> It first introduces a helper function msi_desc_to_pci_sysdata(), and convert current PCI drivers to use helper functions to access fields in struct msi_desc. Then it moves msi_list from struct pci_dev into struct device and refines struct msi_desc. At last it moves alloc_msi_entry() into kernel/irq/msi.c for reuse. Currently msi_desc_to_pci_sysdata() and msi_desc_to_pci_dev() are implemented as normal functions instead of inlines to avoid header file inclusion issue. If inlined version is preferred for performance, we could move all of first_pci_msi_entry, for_each_pci_msi_entry, msi_desc_to_pci_dev and msi_desc_to_pci_sysdata from linxu/kernel/msi.h into linux/kernel/pci.h. This patch set is based on v4.2-rc1 and passes 0day test suite. You may access the code at: https://github.com/jiangliu/linux.git msi_desc_v1 Thanks! Gerry Jiang Liu (12): PCI: Add helper function msi_desc_to_pci_sysdata() MIPS, PCI: Use for_pci_msi_entry() to access MSI device list PowerPC, PCI: Use for_pci_msi_entry() to access MSI device list s390/pci: Use for_pci_msi_entry() to access MSI device list x86, PCI: Use for_pci_msi_entry() to access MSI device list PCI: Use for_pci_msi_entry() to access MSI device list sparc, PCI: Use helper functions to access fields in struct msi_desc PCI: Use helper functions to access fields in struct msi_desc genirq: Move msi_list from struct pci_dev to struct device genirq, PCI: Store 'struct device *' instead 'struct pci_dev *' in struct msi_desc genirq, PCI: Reorginize struct msi_desc to prepare for support of generic MSI genirq, PCI: Move alloc_msi_entry() from PCI MSI code into generic MSI code arch/mips/pci/msi-octeon.c | 2 +- arch/powerpc/platforms/cell/axon_msi.c | 6 +-- arch/powerpc/platforms/pasemi/msi.c | 4 +- arch/powerpc/platforms/powernv/pci.c | 4 +- arch/powerpc/platforms/pseries/msi.c | 6 +-- arch/powerpc/sysdev/fsl_msi.c | 4 +- arch/powerpc/sysdev/mpic_u3msi.c | 4 +- arch/powerpc/sysdev/ppc4xx_hsta_msi.c | 4 +- arch/powerpc/sysdev/ppc4xx_msi.c | 4 +- arch/s390/pci/pci.c | 6 +-- arch/sparc/kernel/pci.c | 2 +- arch/x86/pci/xen.c | 8 ++-- drivers/base/core.c | 3 ++ drivers/pci/host/pci-keystone-dw.c | 6 +-- drivers/pci/host/pcie-designware.c | 4 +- drivers/pci/host/pcie-xilinx.c | 12 ++--- drivers/pci/msi.c | 82 +++++++++++++++++--------------- drivers/pci/xen-pcifront.c | 2 +- include/linux/device.h | 4 ++ include/linux/msi.h | 55 +++++++++++---------- include/linux/pci.h | 1 - kernel/irq/msi.c | 17 +++++++ 22 files changed, 136 insertions(+), 104 deletions(-) -- 1.7.10.4
next reply other threads:[~2015-07-09 7:59 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-07-09 8:00 Jiang Liu [this message] 2015-07-09 8:00 ` [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 01/12] PCI: Add helper function msi_desc_to_pci_sysdata() Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-22 20:37 ` [tip:irq/core] " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 02/12] MIPS, PCI: Use for_pci_msi_entry() to access MSI device list Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 11:03 ` Sergei Shtylyov 2015-07-09 11:03 ` Sergei Shtylyov 2015-07-22 20:37 ` [tip:irq/core] MIPS/PCI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 03/12] PowerPC, PCI: " Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-22 20:38 ` [tip:irq/core] powerpc/PCI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 04/12] s390/pci: " Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-13 12:47 ` Sebastian Ott 2015-07-13 12:47 ` Sebastian Ott 2015-07-22 20:38 ` [tip:irq/core] " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 05/12] x86, PCI: " Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 19:07 ` Konrad Rzeszutek Wilk 2015-07-09 19:07 ` Konrad Rzeszutek Wilk 2015-07-09 19:07 ` Konrad Rzeszutek Wilk 2015-07-22 20:38 ` [tip:irq/core] x86/PCI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 06/12] PCI: " Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 19:08 ` Konrad Rzeszutek Wilk 2015-07-09 19:08 ` Konrad Rzeszutek Wilk 2015-07-09 19:08 ` Konrad Rzeszutek Wilk 2015-07-22 20:39 ` [tip:irq/core] PCI: Use for_each_pci_msi_entry() " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 06/12] PCI: Use for_pci_msi_entry() " Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 07/12] sparc, PCI: Use helper functions to access fields in struct msi_desc Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-09 8:00 ` David Miller 2015-07-09 8:00 ` David Miller 2015-07-09 8:00 ` David Miller 2015-07-22 20:39 ` [tip:irq/core] sparc/PCI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 08/12] PCI: " Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-12 11:18 ` Jingoo Han 2015-07-12 11:18 ` Jingoo Han 2015-07-22 20:39 ` [tip:irq/core] " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-10 0:19 ` Paul Gortmaker 2015-07-10 0:19 ` Paul Gortmaker 2015-07-21 22:02 ` Thomas Gleixner 2015-07-21 22:02 ` Thomas Gleixner 2015-07-22 20:40 ` [tip:irq/core] genirq/MSI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 10/12] genirq, PCI: Store 'struct device *' instead 'struct pci_dev *' in struct msi_desc Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-22 20:40 ` [tip:irq/core] genirq/MSI: Store 'struct device' instead of ' struct pci_dev' " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 11/12] genirq, PCI: Reorginize struct msi_desc to prepare for support of generic MSI Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-10 12:41 ` Marc Zyngier 2015-07-10 12:41 ` Marc Zyngier 2015-07-10 12:41 ` Marc Zyngier 2015-07-22 20:41 ` [tip:irq/core] genirq/MSI: " tip-bot for Jiang Liu 2015-07-09 8:00 ` [RFC Patch V1 12/12] genirq, PCI: Move alloc_msi_entry() from PCI MSI code into generic MSI code Jiang Liu 2015-07-09 8:00 ` Jiang Liu 2015-07-22 20:41 ` [tip:irq/core] genirq/MSI: Move alloc_msi_entry() from PCI " tip-bot for Jiang Liu 2015-07-10 1:41 ` [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Yijing Wang 2015-07-10 1:41 ` Yijing Wang 2015-07-10 12:54 ` Marc Zyngier 2015-07-10 12:54 ` Marc Zyngier 2015-07-10 12:54 ` Marc Zyngier 2015-07-21 8:31 ` Thomas Gleixner 2015-07-21 8:31 ` Thomas Gleixner 2015-07-21 13:30 ` Bjorn Helgaas 2015-07-21 13:30 ` Bjorn Helgaas 2015-07-21 15:51 ` Thomas Gleixner 2015-07-21 15:51 ` Thomas Gleixner
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1436428847-8886-1-git-send-email-jiang.liu@linux.intel.com \ --to=jiang.liu@linux.intel.com \ --cc=bhelgaas@google.com \ --cc=bp@alien8.de \ --cc=grant.likely@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mingo@redhat.com \ --cc=stuart.yoder@freescale.com \ --cc=tglx@linutronix.de \ --cc=tony.luck@intel.com \ --cc=wangyijing@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.