Message ID | 1410399055-27562-1-git-send-email-wangyijing@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Thu, Sep 11, 2014 at 09:30:55AM +0800, Yijing Wang wrote: > Both MSI and MSI-X irq will be associate to msi_desc, > Use irq_get_msi_desc() to get the msi_desc for MSI-X > to simplify code. Also use __write_msi_msg() instead > of write_msi_msg() to avoid the redundant calls. Again, this should mention exactly where the MSI and MSI-X IRQs are associated with the msi_desc. > Signed-off-by: Yijing Wang <wangyijing@huawei.com> > --- > drivers/pci/msi.c | 13 ++----------- > 1 files changed, 2 insertions(+), 11 deletions(-) > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c > index 5a40516..9ad920a 100644 > --- a/drivers/pci/msi.c > +++ b/drivers/pci/msi.c > @@ -119,18 +119,9 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq) > { > struct msi_desc *entry; > > - entry = NULL; > - if (dev->msix_enabled) { > - list_for_each_entry(entry, &dev->msi_list, list) { > - if (irq == entry->irq) > - break; > - } > - } else if (dev->msi_enabled) { > - entry = irq_get_msi_desc(irq); > - } > - > + entry = irq_get_msi_desc(irq); > if (entry) > - write_msi_msg(irq, &entry->msg); > + __write_msi_msg(entry, &entry->msg); > } > > void __weak arch_restore_msi_irqs(struct pci_dev *dev) > -- > 1.7.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2014/9/24 2:24, Bjorn Helgaas wrote: > On Thu, Sep 11, 2014 at 09:30:55AM +0800, Yijing Wang wrote: >> Both MSI and MSI-X irq will be associate to msi_desc, >> Use irq_get_msi_desc() to get the msi_desc for MSI-X >> to simplify code. Also use __write_msi_msg() instead >> of write_msi_msg() to avoid the redundant calls. > > Again, this should mention exactly where the MSI and MSI-X IRQs are > associated with the msi_desc. As mentioned in another mail, ARCH MSI code call irq_set_msi_desc() regardless of MSI or MSI-X type. So I think use irq_get_msi_desc() for MSI-X is ok . Thanks! Yijing. > >> Signed-off-by: Yijing Wang <wangyijing@huawei.com> >> --- >> drivers/pci/msi.c | 13 ++----------- >> 1 files changed, 2 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c >> index 5a40516..9ad920a 100644 >> --- a/drivers/pci/msi.c >> +++ b/drivers/pci/msi.c >> @@ -119,18 +119,9 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq) >> { >> struct msi_desc *entry; >> >> - entry = NULL; >> - if (dev->msix_enabled) { >> - list_for_each_entry(entry, &dev->msi_list, list) { >> - if (irq == entry->irq) >> - break; >> - } >> - } else if (dev->msi_enabled) { >> - entry = irq_get_msi_desc(irq); >> - } >> - >> + entry = irq_get_msi_desc(irq); >> if (entry) >> - write_msi_msg(irq, &entry->msg); >> + __write_msi_msg(entry, &entry->msg); >> } >> >> void __weak arch_restore_msi_irqs(struct pci_dev *dev) >> -- >> 1.7.1 >> > >
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 5a40516..9ad920a 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -119,18 +119,9 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq) { struct msi_desc *entry; - entry = NULL; - if (dev->msix_enabled) { - list_for_each_entry(entry, &dev->msi_list, list) { - if (irq == entry->irq) - break; - } - } else if (dev->msi_enabled) { - entry = irq_get_msi_desc(irq); - } - + entry = irq_get_msi_desc(irq); if (entry) - write_msi_msg(irq, &entry->msg); + __write_msi_msg(entry, &entry->msg); } void __weak arch_restore_msi_irqs(struct pci_dev *dev)
Both MSI and MSI-X irq will be associate to msi_desc, Use irq_get_msi_desc() to get the msi_desc for MSI-X to simplify code. Also use __write_msi_msg() instead of write_msi_msg() to avoid the redundant calls. Signed-off-by: Yijing Wang <wangyijing@huawei.com> --- drivers/pci/msi.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-)