Update x86_msi.restore_msi_irqs API param
PATCH v2 3/3 Update x86_msi.restore_msi_irqs API param
Change x86_msi.restore_msi_irqs(struct pci_dev *dev, int irq) to x86_msi.restore_msi_irqs(struct pci_dev *dev)
Quoted 1 line
From its naming,
restore_msi_irqsis used to restore multiple msix irqs,
param 'int irq' is unneeded. This could make code looks consistent in vm and bare metal.
Dom0 msix restore code could be optimized a bit with this change.
--- arch/x86/include/asm/pci.h | 8 ++++---- arch/x86/include/asm/x86_init.h | 2 +- arch/x86/pci/xen.c | 2 +- drivers/pci/msi.c | 17 ++++++++++++----- 4 files changed, 18 insertions(+), 11 deletions(-)
arch/x86/include/asm/pci.h +4 -4
@@ -115,9 +115,9 @@ static inline void x86_teardown_msi_irq(unsigned int irq) { x86_msi.teardown_msi_irq (irq); } -static inline void x86_restore_msi_irqs (struct pci_dev *dev,int irq) +static inline void x86_restore_msi_irqs (struct pci_dev *dev) { - x86_msi.restore_msi_irqs (dev, irq); + x86_msi.restore_msi_irqs (dev); }#define arch_setup_msi_irqs x86_setup_msi_irqs#define arch_teardown_msi_irqs x86_teardown_msi_irqs
@@ -127,14 +127,14 @@ static inline void x86_restore_msi_irqs(struct pci_dev *dev, int irq)struct msi_desc ;int native_setup_msi_irqs (struct pci_dev *dev,int nvec,int type);void native_teardown_msi_irq (unsigned int irq); -void native_restore_msi_irqs (struct pci_dev *dev,int irq); +void native_restore_msi_irqs (struct pci_dev *dev);int setup_msi_irq (struct pci_dev *dev,struct msi_desc *msidesc,unsigned int irq_base,unsigned int irq_offset);/* default to the implementation in drivers/lib/msi.c */ #define HAVE_DEFAULT_MSI_TEARDOWN_IRQS #define HAVE_DEFAULT_MSI_RESTORE_IRQS void default_teardown_msi_irqs (struct pci_dev *dev); -void default_restore_msi_irqs (struct pci_dev *dev,int irq); +void default_restore_msi_irqs (struct pci_dev *dev);#else #define native_setup_msi_irqs NULL#define native_teardown_msi_irq NULL
arch/x86/include/asm/x86_init.h +1 -1
@@ -180,7 +180,7 @@ struct x86_msi_ops { u8 hpet_id);void (*teardown_msi_irq)(unsigned int irq);void (*teardown_msi_irqs)(struct pci_dev *dev); -void (*restore_msi_irqs)(struct pci_dev *dev,int irq); +void (*restore_msi_irqs)(struct pci_dev *dev);int (*setup_hpet_msi)(unsigned int irq,unsigned int id); };
arch/x86/pci/xen.c +1 -1
@@ -337,7 +337,7 @@ out:return ret; } -static void xen_initdom_restore_msi_irqs (struct pci_dev *dev,int irq) +static void xen_initdom_restore_msi_irqs (struct pci_dev *dev) {int ret =0 ;
drivers/pci/msi.c +12 -5
@@ -214,7 +214,7 @@ void unmask_msi_irq(struct irq_data *data)#endif /* CONFIG_GENERIC_HARDIRQS */ #ifdef HAVE_DEFAULT_MSI_RESTORE_IRQS -void default_restore_msi_irqs (struct pci_dev *dev,int irq) +static void default_restore_msi_irq (struct pci_dev *dev,int irq) {int pos;u16 control;
@@ -244,6 +244,15 @@ void default_restore_msi_irqs(struct pci_dev *dev, int irq) } } } + +void default_restore_msi_irqs (struct pci_dev *dev) +{ +struct msi_desc *entry; + +list_for_each_entry (entry, &dev->msi_list, list) { +default_restore_msi_irq (dev, entry->irq); + } +}#endif void __read_msi_msg (struct msi_desc *entry,struct msi_msg *msg)
@@ -416,7 +425,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev)pci_intx_for_msi (dev,0 );msi_set_enable (dev,0 ); -arch_restore_msi_irqs (dev, dev->irq); +arch_restore_msi_irqs (dev);pci_read_config_word (dev, dev->msi_cap +PCI_MSI_FLAGS , &control); control &= ~PCI_MSI_FLAGS_QSIZE ;
@@ -440,9 +449,7 @@ static void __pci_restore_msix_state(struct pci_dev *dev) control |=PCI_MSIX_FLAGS_ENABLE |PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control); -list_for_each_entry (entry, &dev->msi_list, list) { -arch_restore_msi_irqs (dev, entry->irq); - } +arch_restore_msi_irqs (dev); control &= ~PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control);
Signature · 1 line
1.7.3
Quoted 6 lines · Zhenzhong Duan
Change
x86_msi.restore_msi_irqs(struct pci_dev *dev, int irq)tox86_msi.restore_msi_irqs(struct pci_dev *dev)Quoted 1 line
From its naming,
restore_msi_irqsis used to restore multiple msix irqs,param 'int irq' is unneeded. This could make code looks consistent in vm and bare metal.
Quoted 2 lines
Dom0 msix restore code could be optimized a bit with this change.
This part of the comment I don't think is needed.
Thanks!
Quoted 120 lines
Signed-off-by Zhenzhong Duan <[email protected]>--- arch/x86/include/asm/pci.h | 8 ++++---- arch/x86/include/asm/x86_init.h | 2 +- arch/x86/pci/xen.c | 2 +- drivers/pci/msi.c | 17 ++++++++++++----- 4 files changed, 18 insertions(+), 11 deletions(-)arch/x86/include/asm/pci.h +4
-4@@ -115,9 +115,9 @@ static inline void x86_teardown_msi_irq(unsigned int irq) { x86_msi.teardown_msi_irq (irq); } -static inline void x86_restore_msi_irqs (struct pci_dev *dev,int irq) +static inline void x86_restore_msi_irqs (struct pci_dev *dev) { - x86_msi.restore_msi_irqs (dev, irq); + x86_msi.restore_msi_irqs (dev); }#define arch_setup_msi_irqs x86_setup_msi_irqs#define arch_teardown_msi_irqs x86_teardown_msi_irqs@@ -127,14 +127,14 @@ static inline void x86_restore_msi_irqs(struct pci_dev *dev, int irq)struct msi_desc ;int native_setup_msi_irqs (struct pci_dev *dev,int nvec,int type);void native_teardown_msi_irq (unsigned int irq); -void native_restore_msi_irqs (struct pci_dev *dev,int irq); +void native_restore_msi_irqs (struct pci_dev *dev);int setup_msi_irq (struct pci_dev *dev,struct msi_desc *msidesc,unsigned int irq_base,unsigned int irq_offset);/* default to the implementation in drivers/lib/msi.c */ #define HAVE_DEFAULT_MSI_TEARDOWN_IRQS #define HAVE_DEFAULT_MSI_RESTORE_IRQS void default_teardown_msi_irqs (struct pci_dev *dev); -void default_restore_msi_irqs (struct pci_dev *dev,int irq); +void default_restore_msi_irqs (struct pci_dev *dev);#else #define native_setup_msi_irqs NULL#define native_teardown_msi_irq NULLarch/x86/include/asm/x86_init.h +1
-1@@ -180,7 +180,7 @@ struct x86_msi_ops { u8 hpet_id);void (*teardown_msi_irq)(unsigned int irq);void (*teardown_msi_irqs)(struct pci_dev *dev); -void (*restore_msi_irqs)(struct pci_dev *dev,int irq); +void (*restore_msi_irqs)(struct pci_dev *dev);int (*setup_hpet_msi)(unsigned int irq,unsigned int id); };arch/x86/pci/xen.c +1
-1@@ -337,7 +337,7 @@ out:return ret; } -static void xen_initdom_restore_msi_irqs (struct pci_dev *dev,int irq) +static void xen_initdom_restore_msi_irqs (struct pci_dev *dev) {int ret =0 ;drivers/pci/msi.c +12
-5@@ -214,7 +214,7 @@ void unmask_msi_irq(struct irq_data *data)#endif /* CONFIG_GENERIC_HARDIRQS */ #ifdef HAVE_DEFAULT_MSI_RESTORE_IRQS -void default_restore_msi_irqs (struct pci_dev *dev,int irq) +static void default_restore_msi_irq (struct pci_dev *dev,int irq) {int pos;u16 control;@@ -244,6 +244,15 @@ void default_restore_msi_irqs(struct pci_dev *dev, int irq) } } } + +void default_restore_msi_irqs (struct pci_dev *dev) +{ +struct msi_desc *entry; + +list_for_each_entry (entry, &dev->msi_list, list) { +default_restore_msi_irq (dev, entry->irq); + } +}#endif void __read_msi_msg (struct msi_desc *entry,struct msi_msg *msg)@@ -416,7 +425,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev)pci_intx_for_msi (dev,0 );msi_set_enable (dev,0 ); -arch_restore_msi_irqs (dev, dev->irq); +arch_restore_msi_irqs (dev);pci_read_config_word (dev, dev->msi_cap +PCI_MSI_FLAGS , &control); control &= ~PCI_MSI_FLAGS_QSIZE ;@@ -440,9 +449,7 @@ static void __pci_restore_msix_state(struct pci_dev *dev) control |=PCI_MSIX_FLAGS_ENABLE |PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control); -list_for_each_entry (entry, &dev->msi_list, list) { -arch_restore_msi_irqs (dev, entry->irq); - } +arch_restore_msi_irqs (dev); control &= ~PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control);Signature · 1 line
1.7.3
Quoted 6 lines · Zhenzhong Duan
Change
x86_msi.restore_msi_irqs(struct pci_dev *dev, int irq)tox86_msi.restore_msi_irqs(struct pci_dev *dev)Quoted 1 line
From its naming,
restore_msi_irqsis used to restore multiple msix irqs,param 'int irq' is unneeded. This could make code looks consistent in vm and bare metal.
Quoted 2 lines
Dom0 msix restore code could be optimized a bit with this change.
This part of the comment I don't think is needed.
Thanks!
Quoted 120 lines
Signed-off-by Zhenzhong Duan <[email protected]>--- arch/x86/include/asm/pci.h | 8 ++++---- arch/x86/include/asm/x86_init.h | 2 +- arch/x86/pci/xen.c | 2 +- drivers/pci/msi.c | 17 ++++++++++++----- 4 files changed, 18 insertions(+), 11 deletions(-)arch/x86/include/asm/pci.h +4
-4@@ -115,9 +115,9 @@ static inline void x86_teardown_msi_irq(unsigned int irq) { x86_msi.teardown_msi_irq (irq); } -static inline void x86_restore_msi_irqs (struct pci_dev *dev,int irq) +static inline void x86_restore_msi_irqs (struct pci_dev *dev) { - x86_msi.restore_msi_irqs (dev, irq); + x86_msi.restore_msi_irqs (dev); }#define arch_setup_msi_irqs x86_setup_msi_irqs#define arch_teardown_msi_irqs x86_teardown_msi_irqs@@ -127,14 +127,14 @@ static inline void x86_restore_msi_irqs(struct pci_dev *dev, int irq)struct msi_desc ;int native_setup_msi_irqs (struct pci_dev *dev,int nvec,int type);void native_teardown_msi_irq (unsigned int irq); -void native_restore_msi_irqs (struct pci_dev *dev,int irq); +void native_restore_msi_irqs (struct pci_dev *dev);int setup_msi_irq (struct pci_dev *dev,struct msi_desc *msidesc,unsigned int irq_base,unsigned int irq_offset);/* default to the implementation in drivers/lib/msi.c */ #define HAVE_DEFAULT_MSI_TEARDOWN_IRQS #define HAVE_DEFAULT_MSI_RESTORE_IRQS void default_teardown_msi_irqs (struct pci_dev *dev); -void default_restore_msi_irqs (struct pci_dev *dev,int irq); +void default_restore_msi_irqs (struct pci_dev *dev);#else #define native_setup_msi_irqs NULL#define native_teardown_msi_irq NULLarch/x86/include/asm/x86_init.h +1
-1@@ -180,7 +180,7 @@ struct x86_msi_ops { u8 hpet_id);void (*teardown_msi_irq)(unsigned int irq);void (*teardown_msi_irqs)(struct pci_dev *dev); -void (*restore_msi_irqs)(struct pci_dev *dev,int irq); +void (*restore_msi_irqs)(struct pci_dev *dev);int (*setup_hpet_msi)(unsigned int irq,unsigned int id); };arch/x86/pci/xen.c +1
-1@@ -337,7 +337,7 @@ out:return ret; } -static void xen_initdom_restore_msi_irqs (struct pci_dev *dev,int irq) +static void xen_initdom_restore_msi_irqs (struct pci_dev *dev) {int ret =0 ;drivers/pci/msi.c +12
-5@@ -214,7 +214,7 @@ void unmask_msi_irq(struct irq_data *data)#endif /* CONFIG_GENERIC_HARDIRQS */ #ifdef HAVE_DEFAULT_MSI_RESTORE_IRQS -void default_restore_msi_irqs (struct pci_dev *dev,int irq) +static void default_restore_msi_irq (struct pci_dev *dev,int irq) {int pos;u16 control;@@ -244,6 +244,15 @@ void default_restore_msi_irqs(struct pci_dev *dev, int irq) } } } + +void default_restore_msi_irqs (struct pci_dev *dev) +{ +struct msi_desc *entry; + +list_for_each_entry (entry, &dev->msi_list, list) { +default_restore_msi_irq (dev, entry->irq); + } +}#endif void __read_msi_msg (struct msi_desc *entry,struct msi_msg *msg)@@ -416,7 +425,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev)pci_intx_for_msi (dev,0 );msi_set_enable (dev,0 ); -arch_restore_msi_irqs (dev, dev->irq); +arch_restore_msi_irqs (dev);pci_read_config_word (dev, dev->msi_cap +PCI_MSI_FLAGS , &control); control &= ~PCI_MSI_FLAGS_QSIZE ;@@ -440,9 +449,7 @@ static void __pci_restore_msix_state(struct pci_dev *dev) control |=PCI_MSIX_FLAGS_ENABLE |PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control); -list_for_each_entry (entry, &dev->msi_list, list) { -arch_restore_msi_irqs (dev, entry->irq); - } +arch_restore_msi_irqs (dev); control &= ~PCI_MSIX_FLAGS_MASKALL ;pci_write_config_word (dev, dev->msix_cap +PCI_MSIX_FLAGS , control);Signature · 1 line
1.7.3