On 2015/7/9 16:00, Jiang Liu wrote: > Recently Marc Zyngier <marc.zyngier@xxxxxxx> 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@xxxxxxxxxxxxx> > > 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 Great, it loos good to me, for patch 1,6,8,9,10,11,12, Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> > > 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(-) > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html