Lines Matching +full:dev +full:- +full:ctrl
1 // SPDX-License-Identifier: GPL-2.0
12 void pci_msi_init(struct pci_dev *dev) in pci_msi_init() argument
14 u16 ctrl; in pci_msi_init() local
16 dev->msi_cap = pci_find_capability(dev, PCI_CAP_ID_MSI); in pci_msi_init()
17 if (!dev->msi_cap) in pci_msi_init()
20 pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &ctrl); in pci_msi_init()
21 if (ctrl & PCI_MSI_FLAGS_ENABLE) { in pci_msi_init()
22 pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, in pci_msi_init()
23 ctrl & ~PCI_MSI_FLAGS_ENABLE); in pci_msi_init()
26 if (!(ctrl & PCI_MSI_FLAGS_64BIT)) in pci_msi_init()
27 dev->no_64bit_msi = 1; in pci_msi_init()
30 void pci_msix_init(struct pci_dev *dev) in pci_msix_init() argument
32 u16 ctrl; in pci_msix_init() local
34 dev->msix_cap = pci_find_capability(dev, PCI_CAP_ID_MSIX); in pci_msix_init()
35 if (!dev->msix_cap) in pci_msix_init()
38 pci_read_config_word(dev, dev->msix_cap + PCI_MSIX_FLAGS, &ctrl); in pci_msix_init()
39 if (ctrl & PCI_MSIX_FLAGS_ENABLE) { in pci_msix_init()
40 pci_write_config_word(dev, dev->msix_cap + PCI_MSIX_FLAGS, in pci_msix_init()
41 ctrl & ~PCI_MSIX_FLAGS_ENABLE); in pci_msix_init()