/linux/drivers/pci/msi/ |
H A D | msi.c | 23 * @nvec: how many MSIs have been requested? 29 static int pci_msi_supported(struct pci_dev *dev, int nvec) in pci_msi_supported() argument 43 * b) the list manipulation code assumes nvec >= 1. in pci_msi_supported() 45 if (nvec < 1) in pci_msi_supported() 285 static int msi_setup_msi_desc(struct pci_dev *dev, int nvec, in msi_setup_msi_desc() argument 302 desc.nvec_used = nvec; in msi_setup_msi_desc() 307 desc.pci.msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_msi_desc() 342 * @nvec: number of interrupts to allocate 351 static int msi_capability_init(struct pci_dev *dev, int nvec, in msi_capability_init() argument 359 if (nvec > 1 && !pci_msi_domain_supports(dev, MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY)) in msi_capability_init() [all …]
|
H A D | legacy.c | 19 int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument 28 if (type == PCI_CAP_ID_MSI && nvec > 1) in arch_setup_msi_irqs() 66 int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in pci_msi_legacy_setup_msi_irqs() argument 68 int ret = arch_setup_msi_irqs(dev, nvec, type); in pci_msi_legacy_setup_msi_irqs()
|
H A D | msi.h | 8 int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); 116 int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); 119 static inline int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in pci_msi_legacy_setup_msi_irqs() argument
|
/linux/drivers/staging/nvec/ |
H A D | nvec_paz00.c | 15 #include "nvec.h" 23 struct nvec_chip *nvec; member 34 nvec_write_async(led->nvec, buf, sizeof(buf)); in nvec_led_brightness_set() 41 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_paz00_probe() local 54 led->nvec = nvec; in nvec_paz00_probe() 71 .name = "nvec-paz00", 78 MODULE_DESCRIPTION("Tegra NVEC PAZ00 driver"); 80 MODULE_ALIAS("platform:nvec-paz00");
|
H A D | Kconfig | 11 called mfd-nvec 21 called keyboard-nvec 31 called serio-nvec-ps2 35 tristate "NVEC charger and battery" 42 called nvec-power 53 called nvec-paz00
|
H A D | README | 1 NVEC: An NVidia compliant Embedded Controller Protocol Implementation 3 This is an implementation of the NVEC protocol used to communicate with an 9 but the source code[1] of the published nvec reference drivers can be a guide. 13 [1] e.g. https://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=a…
|
H A D | nvec.h | 3 * NVEC: NVIDIA compliant embedded controller interface 164 int nvec_write_async(struct nvec_chip *nvec, const unsigned char *data, 167 int nvec_write_sync(struct nvec_chip *nvec, 171 int nvec_register_notifier(struct nvec_chip *nvec, 177 void nvec_msg_free(struct nvec_chip *nvec, struct nvec_msg *msg);
|
H A D | nvec-keytable.h | 3 * drivers/input/keyboard/tegra-nvec.c 5 * Keyboard class input driver for keyboards connected to an NvEc compliant
|
/linux/drivers/irqchip/ |
H A D | irq-gic-v3-its-msi-parent.c | 43 int nvec, msi_alloc_info_t *info) in its_pci_msi_prepare() argument 78 if (msi_info->hwsize > nvec) in its_pci_msi_prepare() 79 nvec = msi_info->hwsize; in its_pci_msi_prepare() 88 nvec = max(nvec, alias_count); in its_pci_msi_prepare() 91 nvec = max_t(int, minnvec, roundup_pow_of_two(nvec)); in its_pci_msi_prepare() 94 return msi_info->ops->msi_prepare(domain->parent, dev, nvec, info); in its_pci_msi_prepare() 130 int nvec, msi_alloc_info_t *info) in its_pmsi_prepare() argument 151 if (msi_info->hwsize > nvec) in its_pmsi_prepare() 152 nvec = msi_info->hwsize; in its_pmsi_prepare() 155 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_pmsi_prepare() [all …]
|
H A D | irq-gic-v3-its-fsl-mc-msi.c | 41 int nvec, msi_alloc_info_t *info) in its_fsl_mc_msi_prepare() argument 64 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_fsl_mc_msi_prepare() 65 return msi_info->ops->msi_prepare(msi_domain->parent, dev, nvec, info); in its_fsl_mc_msi_prepare()
|
/linux/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_irq.c | 40 if (instance >= ipc_pcie->nvec) in ipc_msi_interrupt() 54 while (--ipc_pcie->nvec >= 0) in ipc_release_irq() 55 free_irq(pdev->irq + ipc_pcie->nvec, ipc_pcie); in ipc_release_irq() 65 ipc_pcie->nvec = pci_alloc_irq_vectors(pdev, IPC_MSI_VECTORS, in ipc_acquire_irq() 68 if (ipc_pcie->nvec < 0) { in ipc_acquire_irq() 69 rc = ipc_pcie->nvec; in ipc_acquire_irq() 76 for (i = 0; i < ipc_pcie->nvec; ++i) { in ipc_acquire_irq() 82 ipc_pcie->nvec = i; in ipc_acquire_irq()
|
/linux/arch/x86/pci/ |
H A D | xen.c | 161 int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type); 167 static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_setup_msi_irqs() argument 173 if (type == PCI_CAP_ID_MSI && nvec > 1) in xen_setup_msi_irqs() 176 v = kcalloc(max(1, nvec), sizeof(int), GFP_KERNEL); in xen_setup_msi_irqs() 181 ret = xen_pci_frontend_enable_msix(dev, v, nvec); in xen_setup_msi_irqs() 189 (type == PCI_CAP_ID_MSI) ? nvec : 1, in xen_setup_msi_irqs() 229 static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_hvm_setup_msi_irqs() argument 235 if (type == PCI_CAP_ID_MSI && nvec > 1) in xen_hvm_setup_msi_irqs() 248 (type == PCI_CAP_ID_MSI) ? nvec : 1, in xen_hvm_setup_msi_irqs() 268 static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_initdom_setup_msi_irqs() argument [all …]
|
/linux/drivers/base/ |
H A D | platform-msi.c | 54 * @nvec: The number of interrupts to allocate 62 * a fixed size of @nvec. The domain is managed by devres and will 69 int platform_device_msi_init_and_alloc_irqs(struct device *dev, unsigned int nvec, in platform_device_msi_init_and_alloc_irqs() argument 84 nvec, NULL, write_msi_msg)) in platform_device_msi_init_and_alloc_irqs() 87 return msi_domain_alloc_irqs_range(dev, MSI_DEFAULT_DOMAIN, 0, nvec - 1); in platform_device_msi_init_and_alloc_irqs()
|
H A D | platform.c | 344 int i, ret, nvec; in devm_platform_get_irqs_affinity() local 352 nvec = platform_irq_count(dev); in devm_platform_get_irqs_affinity() 353 if (nvec < 0) in devm_platform_get_irqs_affinity() 354 return nvec; in devm_platform_get_irqs_affinity() 356 if (nvec < minvec) in devm_platform_get_irqs_affinity() 359 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in devm_platform_get_irqs_affinity() 360 if (nvec < minvec) in devm_platform_get_irqs_affinity() 363 if (nvec > maxvec) in devm_platform_get_irqs_affinity() 364 nvec = maxvec; in devm_platform_get_irqs_affinity() 366 size = sizeof(*ptr) + sizeof(unsigned int) * nvec; in devm_platform_get_irqs_affinity() [all …]
|
/linux/drivers/soc/ti/ |
H A D | ti_sci_inta_msi.c | 97 int ret, nvec; in ti_sci_inta_msi_domain_alloc_irqs() local 107 nvec = ti_sci_inta_msi_alloc_descs(dev, res); in ti_sci_inta_msi_domain_alloc_irqs() 108 if (nvec <= 0) { in ti_sci_inta_msi_domain_alloc_irqs() 109 ret = nvec; in ti_sci_inta_msi_domain_alloc_irqs() 114 ret = msi_domain_alloc_irqs_all_locked(dev, MSI_DEFAULT_DOMAIN, nvec); in ti_sci_inta_msi_domain_alloc_irqs()
|
/linux/arch/powerpc/kernel/ |
H A D | msi.c | 12 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument 23 if (type == PCI_CAP_ID_MSI && nvec > 1) in arch_setup_msi_irqs() 26 return phb->controller_ops.setup_msi_irqs(dev, nvec, type); in arch_setup_msi_irqs()
|
/linux/drivers/pci/pcie/ |
H A D | portdrv.c | 60 u32 nvec = 0, pos; in pcie_message_numbers() local 74 nvec = *pme + 1; in pcie_message_numbers() 86 nvec = max(nvec, *aer + 1); in pcie_message_numbers() 97 nvec = max(nvec, *dpc + 1); in pcie_message_numbers() 101 return nvec; in pcie_message_numbers() 115 int nr_entries, nvec, pcie_irq; in pcie_port_enable_irq_vec() local 125 nvec = pcie_message_numbers(dev, mask, &pme, &aer, &dpc); in pcie_port_enable_irq_vec() 126 if (nvec > nr_entries) { in pcie_port_enable_irq_vec() 142 if (nvec != nr_entries) { in pcie_port_enable_irq_vec() 145 nr_entries = pci_alloc_irq_vectors(dev, nvec, nvec, in pcie_port_enable_irq_vec()
|
/linux/drivers/gpu/drm/vmwgfx/ |
H A D | vmwgfx_irq.c | 331 int nvec; in vmw_irq_install() local 337 nvec = pci_alloc_irq_vectors(pdev, 1, VMWGFX_MAX_NUM_IRQS, in vmw_irq_install() 340 if (nvec <= 0) { in vmw_irq_install() 342 "IRQ's are unavailable, nvec: %d\n", nvec); in vmw_irq_install() 343 ret = nvec; in vmw_irq_install() 349 for (i = 0; i < nvec; ++i) { in vmw_irq_install()
|
/linux/drivers/mmc/host/ |
H A D | cavium-thunderx.c | 40 int nvec, ret, i; in thunder_mmc_register_interrupts() local 42 nvec = pci_alloc_irq_vectors(pdev, 1, 9, PCI_IRQ_MSIX); in thunder_mmc_register_interrupts() 43 if (nvec < 0) in thunder_mmc_register_interrupts() 44 return nvec; in thunder_mmc_register_interrupts() 47 for (i = 0; i < nvec; i++) { in thunder_mmc_register_interrupts()
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_irq.c | 735 int nvec = 1; in xe_irq_install() local 741 nvec = xe->irq.msix.nvec; in xe_irq_install() 745 err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags); in xe_irq_install() 810 int nvec = pci_msix_vec_count(pdev); in xe_irq_msix_init() local 812 if (nvec == -EINVAL) in xe_irq_msix_init() 815 if (nvec < 0) { in xe_irq_msix_init() 816 drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec); in xe_irq_msix_init() 817 return nvec; in xe_irq_msix_init() 820 xe->irq.msix.nvec = nvec; in xe_irq_msix_init() 878 limit = (dynamic_msix) ? XA_LIMIT(NUM_OF_STATIC_MSIX, xe->irq.msix.nvec - 1) : in xe_irq_msix_alloc_vector()
|
/linux/Documentation/devicetree/bindings/soc/tegra/ |
H A D | nvidia,nvec.yaml | 4 $id: http://devicetree.org/schemas/soc/tegra/nvidia,nvec.yaml# 15 const: nvidia,nvec 73 compatible = "nvidia,nvec";
|
/linux/arch/x86/include/asm/xen/ |
H A D | pci.h | 34 int (*enable_msix)(struct pci_dev *dev, int vectors[], int nvec); 53 int vectors[], int nvec) in xen_pci_frontend_enable_msix() argument 56 return xen_pci_frontend->enable_msix(dev, vectors, nvec); in xen_pci_frontend_enable_msix()
|
/linux/arch/powerpc/platforms/pasemi/ |
H A D | msi.c | 74 static int pasemi_msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) in pasemi_msi_setup_msi_irqs() argument 83 pr_debug("pasemi_msi_setup_msi_irqs, pdev %p nvec %d type %d\n", in pasemi_msi_setup_msi_irqs() 84 pdev, nvec, type); in pasemi_msi_setup_msi_irqs()
|
/linux/arch/s390/pci/ |
H A D | pci_irq.c | 299 int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) in arch_setup_msi_irqs() argument 312 msi_vecs = min_t(unsigned int, nvec, zdev->max_msi); in arch_setup_msi_irqs() 313 if (msi_vecs < nvec) { in arch_setup_msi_irqs() 315 pci_name(pdev), nvec, zdev->max_msi); in arch_setup_msi_irqs() 385 return (zdev->msi_nr_irqs == nvec) ? 0 : zdev->msi_nr_irqs; in arch_setup_msi_irqs()
|
/linux/drivers/net/ethernet/microsoft/mana/ |
H A D | gdma_main.c | 1292 int nvec, *irqs, irq; in mana_gd_setup_irqs() local 1303 nvec = pci_alloc_irq_vectors(pdev, 2, max_irqs, PCI_IRQ_MSIX); in mana_gd_setup_irqs() 1304 if (nvec < 0) { in mana_gd_setup_irqs() 1306 return nvec; in mana_gd_setup_irqs() 1308 if (nvec <= num_online_cpus()) in mana_gd_setup_irqs() 1311 irqs = kmalloc_array((nvec - start_irq_index), sizeof(int), GFP_KERNEL); in mana_gd_setup_irqs() 1317 gc->irq_contexts = kcalloc(nvec, sizeof(struct gdma_irq_context), in mana_gd_setup_irqs() 1324 for (i = 0; i < nvec; i++) { in mana_gd_setup_irqs() 1371 err = irq_setup(irqs, (nvec - start_irq_index), gc->numa_node); in mana_gd_setup_irqs() 1375 gc->max_num_msix = nvec; in mana_gd_setup_irqs() [all …]
|