netxen: 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@huawei.com> Cc: Manish Chopra <manish.chopra@qlogic.com> Cc: Sony Chacko <sony.chacko@qlogic.com> Cc: Rajesh Borundia <rajesh.borundia@qlogic.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
40b2956250
Коммит
b83082e95e
|
@ -459,16 +459,14 @@ static void netxen_pcie_strap_init(struct netxen_adapter *adapter)
|
|||
static void netxen_set_msix_bit(struct pci_dev *pdev, int enable)
|
||||
{
|
||||
u32 control;
|
||||
int pos;
|
||||
|
||||
pos = pci_find_capability(pdev, PCI_CAP_ID_MSIX);
|
||||
if (pos) {
|
||||
pci_read_config_dword(pdev, pos, &control);
|
||||
if (pdev->msix_cap) {
|
||||
pci_read_config_dword(pdev, pdev->msix_cap, &control);
|
||||
if (enable)
|
||||
control |= PCI_MSIX_FLAGS_ENABLE;
|
||||
else
|
||||
control = 0;
|
||||
pci_write_config_dword(pdev, pos, control);
|
||||
pci_write_config_dword(pdev, pdev->msix_cap, control);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче