>-----Original Message----- >From: Yijing Wang [mailto:wangyijing@xxxxxxxxxx] >Sent: Thursday, August 08, 2013 6:38 PM >To: James E.J. Bottomley >Cc: Hanjun Guo; jiang.liu@xxxxxxxxxx; Yijing Wang; DL-MegaRAID Linux; >linux-scsi@xxxxxxxxxxxxxxx >Subject: [PATCH 05/16] megaraid: clean up unnecessary MSI/MSI-X >capability find > >PCI core will initialize device MSI/MSI-X capability in >pci_msi_init_pci_dev(). So device driver should use pci_dev- >>msi_cap/msix_cap to determine whether the device support MSI/MSI-X >instead of using pci_find_capability(pci_dev, PCI_CAP_ID_MSI/MSIX). >Access to PCIe device config space again will consume more time. > >Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> >Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> >Cc: "James E.J. Bottomley" <JBottomley@xxxxxxxxxxxxx> >Cc: linux-scsi@xxxxxxxxxxxxxxx >--- > drivers/scsi/megaraid/megaraid_sas_base.c | 9 ++++----- > 1 files changed, 4 insertions(+), 5 deletions(-) > >diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c >b/drivers/scsi/megaraid/megaraid_sas_base.c >index 0177295..ad8fc44 100644 >--- a/drivers/scsi/megaraid/megaraid_sas_base.c >+++ b/drivers/scsi/megaraid/megaraid_sas_base.c >@@ -4072,21 +4072,20 @@ fail_set_dma_mask: > static int megasas_probe_one(struct pci_dev *pdev, > const struct pci_device_id *id) { >- int rval, pos, i, j; >+ int rval, i, j; > struct Scsi_Host *host; > struct megasas_instance *instance; > u16 control = 0; > > /* Reset MSI-X in the kdump kernel */ > if (reset_devices) { >- pos = pci_find_capability(pdev, PCI_CAP_ID_MSIX); >- if (pos) { >- pci_read_config_word(pdev, pos + PCI_MSIX_FLAGS, >+ if (pdev->msix_cap) { >+ pci_read_config_word(pdev, pdev->msix_cap + >PCI_MSIX_FLAGS, > &control); > if (control & PCI_MSIX_FLAGS_ENABLE) { > dev_info(&pdev->dev, "resetting MSI-X\n"); > pci_write_config_word(pdev, >- pos + PCI_MSIX_FLAGS, >+ pdev->msix_cap + >PCI_MSIX_FLAGS, > control & > ~PCI_MSIX_FLAGS_ENABLE); > } >-- >1.7.1 > > Acked-by: Sumit Saxena <sumit.saxena@xxxxxxx> Sumit -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html