/Linux-v4.19/drivers/staging/nvec/ |
D | nvec.c | 107 int nvec_register_notifier(struct nvec_chip *nvec, struct notifier_block *nb, in nvec_register_notifier() argument 110 return atomic_notifier_chain_register(&nvec->notifier_list, nb); in nvec_register_notifier() 122 int nvec_unregister_notifier(struct nvec_chip *nvec, struct notifier_block *nb) in nvec_unregister_notifier() argument 124 return atomic_notifier_chain_unregister(&nvec->notifier_list, nb); in nvec_unregister_notifier() 137 struct nvec_chip *nvec = container_of(nb, struct nvec_chip, in nvec_status_notifier() local 144 dev_warn(nvec->dev, "unhandled msg type %ld\n", event_type); in nvec_status_notifier() 165 static struct nvec_msg *nvec_msg_alloc(struct nvec_chip *nvec, in nvec_msg_alloc() argument 171 if (atomic_xchg(&nvec->msg_pool[i].used, 1) == 0) { in nvec_msg_alloc() 172 dev_vdbg(nvec->dev, "INFO: Allocate %i\n", i); in nvec_msg_alloc() 173 return &nvec->msg_pool[i]; in nvec_msg_alloc() [all …]
|
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() 108 struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); in nvec_kbd_probe() local 145 keys_dev.nvec = nvec; in nvec_kbd_probe() 146 nvec_register_notifier(nvec, &keys_dev.notifier, 0); in nvec_kbd_probe() 149 nvec_write_async(nvec, enable_kbd, 2); in nvec_kbd_probe() 152 nvec_write_async(nvec, cnfg_wake, 4); in nvec_kbd_probe() 154 nvec_write_async(nvec, cnfg_wake_key_reporting, 3); in nvec_kbd_probe() [all …]
|
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()
|
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()
|
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);
|
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()
|
D | Kconfig | 10 called mfd-nvec 20 called keyboard-nvec 30 called serio-nvec-ps2 41 called nvec-power 52 called nvec-paz00
|
D | README | 9 but the source code[1] of the published nvec reference drivers can be a guide. 13 [1] e.g. http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=an…
|
/Linux-v4.19/drivers/base/ |
D | platform-msi.c | 109 static void platform_msi_free_descs(struct device *dev, int base, int nvec) in platform_msi_free_descs() argument 115 desc->platform.msi_index < (base + nvec)) { in platform_msi_free_descs() 123 int nvec, in platform_msi_alloc_descs_with_irq() argument 136 for (i = 0; i < nvec; i++) { in platform_msi_alloc_descs_with_irq() 148 if (i != nvec) { in platform_msi_alloc_descs_with_irq() 150 platform_msi_free_descs(dev, base, nvec); in platform_msi_alloc_descs_with_irq() 158 static int platform_msi_alloc_descs(struct device *dev, int nvec, in platform_msi_alloc_descs() argument 162 return platform_msi_alloc_descs_with_irq(dev, 0, nvec, data); in platform_msi_alloc_descs() 196 platform_msi_alloc_priv_data(struct device *dev, unsigned int nvec, in platform_msi_alloc_priv_data() argument 206 if (!dev->msi_domain || !write_msi_msg || !nvec || nvec > MAX_DEV_MSIS) in platform_msi_alloc_priv_data() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/pseries/ |
D | msi.c | 132 static int check_req(struct pci_dev *pdev, int nvec, char *prop_name) in check_req() argument 147 if (req_msi < nvec) { in check_req() 148 pr_debug("rtas_msi: %s requests < %d MSIs\n", prop_name, nvec); in check_req() 159 static int check_req_msi(struct pci_dev *pdev, int nvec) in check_req_msi() argument 161 return check_req(pdev, nvec, "ibm,req#msi"); in check_req_msi() 164 static int check_req_msix(struct pci_dev *pdev, int nvec) in check_req_msix() argument 166 return check_req(pdev, nvec, "ibm,req#msi-x"); in check_req_msix() 380 int nvec = nvec_in; in rtas_setup_msi_irqs() local 384 rc = check_req_msix(pdev, nvec); in rtas_setup_msi_irqs() 386 rc = check_req_msi(pdev, nvec); in rtas_setup_msi_irqs() [all …]
|
/Linux-v4.19/drivers/pci/ |
D | msi.c | 35 static int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in pci_msi_setup_msi_irqs() argument 41 return msi_domain_alloc_irqs(domain, &dev->dev, nvec); in pci_msi_setup_msi_irqs() 43 return arch_setup_msi_irqs(dev, nvec, type); in pci_msi_setup_msi_irqs() 90 int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument 97 return chip->setup_irqs(chip, dev, nvec, type); in arch_setup_msi_irqs() 102 if (type == PCI_CAP_ID_MSI && nvec > 1) in arch_setup_msi_irqs() 535 msi_setup_entry(struct pci_dev *dev, int nvec, const struct irq_affinity *affd) in msi_setup_entry() argument 542 masks = irq_create_affinity_masks(nvec, affd); in msi_setup_entry() 546 entry = alloc_msi_entry(&dev->dev, nvec, masks); in msi_setup_entry() 558 entry->msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_entry() [all …]
|
/Linux-v4.19/drivers/pci/pcie/ |
D | portdrv_core.c | 48 u32 nvec = 0, pos; in pcie_message_numbers() local 61 nvec = *pme + 1; in pcie_message_numbers() 73 nvec = max(nvec, *aer + 1); in pcie_message_numbers() 84 nvec = max(nvec, *dpc + 1); in pcie_message_numbers() 88 return nvec; in pcie_message_numbers() 102 int nr_entries, nvec; in pcie_port_enable_irq_vec() local 112 nvec = pcie_message_numbers(dev, mask, &pme, &aer, &dpc); in pcie_port_enable_irq_vec() 113 if (nvec > nr_entries) { in pcie_port_enable_irq_vec() 129 if (nvec != nr_entries) { in pcie_port_enable_irq_vec() 132 nr_entries = pci_alloc_irq_vectors(dev, nvec, nvec, in pcie_port_enable_irq_vec()
|
/Linux-v4.19/include/linux/ |
D | msi.h | 138 struct msi_desc *alloc_msi_entry(struct device *dev, int nvec, 174 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); 190 int nvec, int type); 238 struct device *dev, int nvec, 303 int nvec); 310 int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec, 316 int nvec, msi_alloc_info_t *args); 318 int virq, int nvec, msi_alloc_info_t *args); 321 unsigned int nvec, 328 unsigned int nvec);
|
/Linux-v4.19/arch/x86/pci/ |
D | xen.c | 162 static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_setup_msi_irqs() argument 168 if (type == PCI_CAP_ID_MSI && nvec > 1) in xen_setup_msi_irqs() 171 v = kcalloc(max(1, nvec), sizeof(int), GFP_KERNEL); in xen_setup_msi_irqs() 176 ret = xen_pci_frontend_enable_msix(dev, v, nvec); in xen_setup_msi_irqs() 184 (type == PCI_CAP_ID_MSI) ? nvec : 1, in xen_setup_msi_irqs() 227 static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_hvm_setup_msi_irqs() argument 233 if (type == PCI_CAP_ID_MSI && nvec > 1) in xen_hvm_setup_msi_irqs() 246 (type == PCI_CAP_ID_MSI) ? nvec : 1, in xen_hvm_setup_msi_irqs() 266 static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in xen_initdom_setup_msi_irqs() argument 290 if (type == PCI_CAP_ID_MSI && nvec > 1) { in xen_initdom_setup_msi_irqs() [all …]
|
/Linux-v4.19/drivers/irqchip/ |
D | irq-gic-v3-its-pci-msi.c | 65 int nvec, msi_alloc_info_t *info) in its_pci_msi_prepare() argument 96 nvec = max(nvec, alias_count); in its_pci_msi_prepare() 99 nvec = max_t(int, minnvec, roundup_pow_of_two(nvec)); in its_pci_msi_prepare() 100 return msi_info->ops->msi_prepare(domain->parent, dev, nvec, info); in its_pci_msi_prepare()
|
D | irq-gic-v3-its-fsl-mc-msi.c | 28 int nvec, msi_alloc_info_t *info) in its_fsl_mc_msi_prepare() argument 50 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_fsl_mc_msi_prepare() 51 return msi_info->ops->msi_prepare(msi_domain->parent, dev, nvec, info); in its_fsl_mc_msi_prepare()
|
D | irq-gic-v3-its-platform-msi.c | 58 int nvec, msi_alloc_info_t *info) in its_pmsi_prepare() argument 77 nvec = max_t(int, 32, roundup_pow_of_two(nvec)); in its_pmsi_prepare() 79 dev, nvec, info); in its_pmsi_prepare()
|
/Linux-v4.19/arch/powerpc/kernel/ |
D | msi.c | 16 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument 27 if (type == PCI_CAP_ID_MSI && nvec > 1) in arch_setup_msi_irqs() 30 return phb->controller_ops.setup_msi_irqs(dev, nvec, type); in arch_setup_msi_irqs()
|
/Linux-v4.19/kernel/irq/ |
D | msi.c | 30 alloc_msi_entry(struct device *dev, int nvec, const struct cpumask *affinity) in alloc_msi_entry() argument 40 desc->nvec_used = nvec; in alloc_msi_entry() 43 nvec * sizeof(*desc->affinity), GFP_KERNEL); in alloc_msi_entry() 198 int nvec, msi_alloc_info_t *arg) in msi_domain_ops_prepare() argument 302 int nvec, msi_alloc_info_t *arg) in msi_domain_prepare_irqs() argument 310 ret = ops->msi_prepare(domain, dev, nvec, arg); in msi_domain_prepare_irqs() 316 int virq, int nvec, msi_alloc_info_t *arg) in msi_domain_populate_irqs() argument 330 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in msi_domain_populate_irqs() 346 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in msi_domain_populate_irqs() 400 int nvec) in msi_domain_alloc_irqs() argument [all …]
|
/Linux-v4.19/arch/x86/include/asm/xen/ |
D | pci.h | 50 int (*enable_msix)(struct pci_dev *dev, int vectors[], int nvec); 69 int vectors[], int nvec) in xen_pci_frontend_enable_msix() argument 72 return xen_pci_frontend->enable_msix(dev, vectors, nvec); in xen_pci_frontend_enable_msix()
|
/Linux-v4.19/drivers/mmc/host/ |
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-v4.19/drivers/infiniband/hw/qib/ |
D | qib_pcie.c | 214 int nvec; in qib_pcie_params() local 223 nvec = -1; in qib_pcie_params() 230 nvec = pci_alloc_irq_vectors(dd->pcidev, 1, maxvec, flags); in qib_pcie_params() 231 if (nvec < 0) in qib_pcie_params() 240 *nent = !dd->pcidev->msix_enabled ? 0 : nvec; in qib_pcie_params() 284 return nvec < 0 ? nvec : 0; in qib_pcie_params()
|
/Linux-v4.19/arch/x86/kernel/ |
D | x86_init.c | 136 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument 138 return x86_msi.setup_msi_irqs(dev, nvec, type); in arch_setup_msi_irqs()
|
/Linux-v4.19/arch/powerpc/platforms/pasemi/ |
D | msi.c | 83 static int pasemi_msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) in pasemi_msi_setup_msi_irqs() argument 93 pdev, nvec, type); in pasemi_msi_setup_msi_irqs()
|
/Linux-v4.19/drivers/vfio/pci/ |
D | vfio_pci_intrs.c | 250 static int vfio_msi_enable(struct vfio_pci_device *vdev, int nvec, bool msix) in vfio_msi_enable() argument 259 vdev->ctx = kcalloc(nvec, sizeof(struct vfio_pci_irq_ctx), GFP_KERNEL); in vfio_msi_enable() 264 ret = pci_alloc_irq_vectors(pdev, 1, nvec, flag); in vfio_msi_enable() 265 if (ret < nvec) { in vfio_msi_enable() 272 vdev->num_ctx = nvec; in vfio_msi_enable() 281 vdev->msi_qmax = fls(nvec * 2 - 1) - 1; in vfio_msi_enable()
|