/linux-6.3-rc2/drivers/staging/nvec/ |
A D | nvec.c | 474 if (nvec->tx->pos != nvec->tx->size) { in nvec_tx_completed() 496 nvec_msg_free(nvec, nvec->rx); in nvec_rx_completed() 555 nvec->tx = &nvec->tx_scratch; in nvec_tx_set() 565 (uint)nvec->tx->size, nvec->tx->data[1]); in nvec_tx_set() 637 nvec_msg_free(nvec, nvec->rx); in nvec_interrupt() 655 } else if (nvec->tx && nvec->tx->pos < nvec->tx->size) { in nvec_interrupt() 656 to_send = nvec->tx->data[nvec->tx->pos++]; in nvec_interrupt() 661 (uint)(nvec->tx ? nvec->tx->pos : 0), in nvec_interrupt() 662 (uint)(nvec->tx ? nvec->tx->size : 0)); in nvec_interrupt() 676 nvec->rx, nvec->rx ? nvec->rx->pos : 0, in nvec_interrupt() [all …]
|
A D | nvec_kbd.c | 34 struct nvec_chip *nvec; member 50 nvec_write_async(keys_dev.nvec, buf, sizeof(buf)); in nvec_kbd_toggle_led() 88 struct nvec_chip *nvec = keys_dev.nvec; in nvec_kbd_event() local 101 nvec_write_async(nvec, buf, sizeof(buf)); in nvec_kbd_event() 147 keys_dev.nvec = nvec; in nvec_kbd_probe() 148 nvec_register_notifier(nvec, &keys_dev.notifier, 0); in nvec_kbd_probe() 151 nvec_write_async(nvec, enable_kbd, 2); in nvec_kbd_probe() 154 nvec_write_async(nvec, cnfg_wake, 4); in nvec_kbd_probe() 156 nvec_write_async(nvec, cnfg_wake_key_reporting, 3); in nvec_kbd_probe() 171 nvec_write_async(nvec, disable_kbd, 2); in nvec_kbd_remove() [all …]
|
A D | nvec_ps2.c | 44 struct nvec_chip *nvec; member 53 return nvec_write_async(ps2_dev.nvec, buf, sizeof(buf)); in ps2_startstreaming() 60 nvec_write_async(ps2_dev.nvec, buf, sizeof(buf)); in ps2_stopstreaming() 70 return nvec_write_async(ps2_dev.nvec, buf, sizeof(buf)); in ps2_sendcommand() 103 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_mouse_probe() local 120 ps2_dev.nvec = nvec; in nvec_mouse_probe() 121 nvec_register_notifier(nvec, &ps2_dev.notifier, 0); in nvec_mouse_probe() 130 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_mouse_remove() local 134 nvec_unregister_notifier(nvec, &ps2_dev.notifier); in nvec_mouse_remove()
|
A D | nvec_paz00.c | 26 struct nvec_chip *nvec; member 37 nvec_write_async(led->nvec, buf, sizeof(buf)); in nvec_led_brightness_set() 44 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_paz00_probe() local 57 led->nvec = nvec; in nvec_paz00_probe()
|
A D | nvec.h | 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);
|
A D | nvec_power.c | 26 struct nvec_chip *nvec; member 116 nvec_write_async(power->nvec, buf, 2); in get_bat_mfg_data() 358 nvec_write_async(power->nvec, buf, 2); in nvec_power_poll() 367 nvec_write_async(power->nvec, buf, 2); in nvec_power_poll() 377 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_power_probe() local 385 power->nvec = nvec; in nvec_power_probe() 409 nvec_register_notifier(nvec, &power->notifier, NVEC_SYS); in nvec_power_probe() 424 nvec_unregister_notifier(power->nvec, &power->notifier); in nvec_power_remove()
|
A D | Kconfig | 11 called mfd-nvec 21 called keyboard-nvec 31 called serio-nvec-ps2 42 called nvec-power 53 called nvec-paz00
|
/linux-6.3-rc2/drivers/pci/msi/ |
A D | msi.c | 44 if (nvec < 1) in pci_msi_supported() 408 int nvec; in __pci_enable_msi_range() local 427 if (nvec < 0) in __pci_enable_msi_range() 428 return nvec; in __pci_enable_msi_range() 433 nvec = maxvec; in __pci_enable_msi_range() 444 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msi_range() 451 return nvec; in __pci_enable_msi_range() 458 nvec = rc; in __pci_enable_msi_range() 831 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msix_range() 838 return nvec; in __pci_enable_msix_range() [all …]
|
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()
|
/linux-6.3-rc2/drivers/net/wwan/iosm/ |
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-6.3-rc2/arch/powerpc/platforms/pseries/ |
A D | msi.c | 130 if (req_msi < nvec) { in check_req() 347 int nvec = nvec_in; in rtas_prepare_msi_irqs() local 351 rc = check_req_msix(pdev, nvec); in rtas_prepare_msi_irqs() 353 rc = check_req_msi(pdev, nvec); in rtas_prepare_msi_irqs() 360 if (quota && quota < nvec) in rtas_prepare_msi_irqs() 368 int m = roundup_pow_of_two(nvec); in rtas_prepare_msi_irqs() 372 nvec = m; in rtas_prepare_msi_irqs() 412 if (rc != nvec) { in rtas_prepare_msi_irqs() 413 if (nvec != nvec_in) { in rtas_prepare_msi_irqs() 414 nvec = nvec_in; in rtas_prepare_msi_irqs() [all …]
|
/linux-6.3-rc2/drivers/fpga/ |
A D | dfl-pci.c | 53 int ret, nvec = pci_msix_vec_count(pcidev); in cci_pci_alloc_irq() local 55 if (nvec <= 0) { in cci_pci_alloc_irq() 60 ret = pci_alloc_irq_vectors(pcidev, nvec, nvec, PCI_IRQ_MSIX); in cci_pci_alloc_irq() 64 return nvec; in cci_pci_alloc_irq() 148 table = kcalloc(nvec, sizeof(int), GFP_KERNEL); in cci_pci_create_irq_table() 152 for (i = 0; i < nvec; i++) in cci_pci_create_irq_table() 315 int nvec, ret = 0; in cci_enumerate_feature_devs() local 324 nvec = cci_pci_alloc_irq(pcidev); in cci_enumerate_feature_devs() 325 if (nvec < 0) { in cci_enumerate_feature_devs() 327 ret = nvec; in cci_enumerate_feature_devs() [all …]
|
/linux-6.3-rc2/arch/x86/pci/ |
A D | xen.c | 161 int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type); 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() 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() 292 if (type == PCI_CAP_ID_MSI && nvec > 1) { in xen_initdom_setup_msi_irqs() 294 map_irq.entry_nr = nvec; in xen_initdom_setup_msi_irqs() 316 if (type == PCI_CAP_ID_MSI && nvec > 1 && ret) { in xen_initdom_setup_msi_irqs() [all …]
|
/linux-6.3-rc2/Documentation/translations/zh_CN/PCI/ |
A D | msi-howto.rst | 110 MSI或MSI-X中断的典型用法是分配尽可能多的向量,可能达到设备支持的极限。如果nvec大于 113 nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES) 114 if (nvec < 0) 120 ret = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_ALL_TYPES); 133 nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX); 134 if (nvec < 0)
|
/linux-6.3-rc2/include/linux/ |
A D | msi.h | 384 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); 452 struct device *dev, int nvec, 459 struct device *dev, int nvec); 629 int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec, 635 int nvec, msi_alloc_info_t *args); 637 int virq, int nvec, msi_alloc_info_t *args); 642 unsigned int nvec, 648 #define platform_msi_create_device_domain(dev, nvec, write, ops, data) \ argument 649 __platform_msi_create_device_domain(dev, nvec, false, write, ops, data) 651 __platform_msi_create_device_domain(dev, nvec, true, write, ops, data) [all …]
|
/linux-6.3-rc2/drivers/base/ |
A D | platform-msi.c | 143 static int platform_msi_alloc_priv_data(struct device *dev, unsigned int nvec, in platform_msi_alloc_priv_data() argument 155 if (!dev->msi.domain || !write_msi_msg || !nvec || nvec > MAX_DEV_MSIS) in platform_msi_alloc_priv_data() 207 int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec, in platform_msi_domain_alloc_irqs() argument 212 err = platform_msi_alloc_priv_data(dev, nvec, write_msi_msg); in platform_msi_domain_alloc_irqs() 216 err = msi_domain_alloc_irqs_range(dev, MSI_DEFAULT_DOMAIN, 0, nvec - 1); in platform_msi_domain_alloc_irqs() 270 unsigned int nvec, in __platform_msi_create_device_domain() argument 280 err = platform_msi_alloc_priv_data(dev, nvec, write_msi_msg); in __platform_msi_create_device_domain() 294 is_tree ? 0 : nvec, in __platform_msi_create_device_domain() 300 err = msi_domain_prepare_irqs(domain->parent, dev, nvec, &data->arg); in __platform_msi_create_device_domain()
|
/linux-6.3-rc2/drivers/irqchip/ |
A D | irq-gic-v3-its-pci-msi.c | 54 int nvec, msi_alloc_info_t *info) in its_pci_msi_prepare() argument 90 nvec = max(nvec, alias_count); in its_pci_msi_prepare() 93 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()
|
A D | irq-gic-v3-its-fsl-mc-msi.c | 43 int nvec, msi_alloc_info_t *info) in its_fsl_mc_msi_prepare() argument 66 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_fsl_mc_msi_prepare() 67 return msi_info->ops->msi_prepare(msi_domain->parent, dev, nvec, info); in its_fsl_mc_msi_prepare()
|
A D | irq-gic-v3-its-platform-msi.c | 47 int nvec, msi_alloc_info_t *info) in its_pmsi_prepare() argument 66 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_pmsi_prepare() 68 dev, nvec, info); in its_pmsi_prepare()
|
/linux-6.3-rc2/drivers/soc/ti/ |
A D | ti_sci_inta_msi.c | 96 int ret, nvec; in ti_sci_inta_msi_domain_alloc_irqs() local 106 nvec = ti_sci_inta_msi_alloc_descs(dev, res); in ti_sci_inta_msi_domain_alloc_irqs() 107 if (nvec <= 0) { in ti_sci_inta_msi_domain_alloc_irqs() 108 ret = nvec; in ti_sci_inta_msi_domain_alloc_irqs() 113 ret = msi_domain_alloc_irqs_all_locked(dev, MSI_DEFAULT_DOMAIN, nvec); in ti_sci_inta_msi_domain_alloc_irqs()
|
/linux-6.3-rc2/drivers/pci/pcie/ |
A D | portdrv.c | 59 u32 nvec = 0, pos; in pcie_message_numbers() local 73 nvec = *pme + 1; in pcie_message_numbers() 85 nvec = max(nvec, *aer + 1); in pcie_message_numbers() 96 nvec = max(nvec, *dpc + 1); in pcie_message_numbers() 100 return nvec; in pcie_message_numbers() 114 int nr_entries, nvec, pcie_irq; in pcie_port_enable_irq_vec() local 124 nvec = pcie_message_numbers(dev, mask, &pme, &aer, &dpc); in pcie_port_enable_irq_vec() 125 if (nvec > nr_entries) { in pcie_port_enable_irq_vec() 141 if (nvec != nr_entries) { in pcie_port_enable_irq_vec() 144 nr_entries = pci_alloc_irq_vectors(dev, nvec, nvec, in pcie_port_enable_irq_vec()
|
/linux-6.3-rc2/arch/powerpc/kernel/ |
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-6.3-rc2/arch/x86/include/asm/xen/ |
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-6.3-rc2/drivers/mmc/host/ |
A D | cavium-thunderx.c | 39 int nvec, ret, i; in thunder_mmc_register_interrupts() local 41 nvec = pci_alloc_irq_vectors(pdev, 1, 9, PCI_IRQ_MSIX); in thunder_mmc_register_interrupts() 42 if (nvec < 0) in thunder_mmc_register_interrupts() 43 return nvec; in thunder_mmc_register_interrupts() 46 for (i = 0; i < nvec; i++) { in thunder_mmc_register_interrupts()
|
/linux-6.3-rc2/drivers/gpu/drm/vmwgfx/ |
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()
|