Home
last modified time | relevance | path

Searched refs:nvec (Results 1 – 25 of 82) sorted by relevance

1234

/linux-6.6.21/drivers/staging/nvec/
Dnvec.c108 int nvec_register_notifier(struct nvec_chip *nvec, struct notifier_block *nb, in nvec_register_notifier() argument
111 return atomic_notifier_chain_register(&nvec->notifier_list, nb); in nvec_register_notifier()
123 int nvec_unregister_notifier(struct nvec_chip *nvec, struct notifier_block *nb) in nvec_unregister_notifier() argument
125 return atomic_notifier_chain_unregister(&nvec->notifier_list, nb); in nvec_unregister_notifier()
138 struct nvec_chip *nvec = container_of(nb, struct nvec_chip, in nvec_status_notifier() local
145 dev_warn(nvec->dev, "unhandled msg type %ld\n", event_type); in nvec_status_notifier()
166 static struct nvec_msg *nvec_msg_alloc(struct nvec_chip *nvec, in nvec_msg_alloc() argument
172 if (atomic_xchg(&nvec->msg_pool[i].used, 1) == 0) { in nvec_msg_alloc()
173 dev_vdbg(nvec->dev, "INFO: Allocate %i\n", i); in nvec_msg_alloc()
174 return &nvec->msg_pool[i]; in nvec_msg_alloc()
[all …]
Dnvec_kbd.c34 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
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()
[all …]
Dnvec_ps2.c44 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()
Dnvec_paz00.c23 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()
Dnvec.h164 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);
Dnvec_power.c26 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()
DKconfig11 called mfd-nvec
21 called keyboard-nvec
31 called serio-nvec-ps2
42 called nvec-power
53 called nvec-paz00
/linux-6.6.21/drivers/pci/msi/
Dmsi.c28 static int pci_msi_supported(struct pci_dev *dev, int nvec) in pci_msi_supported() argument
44 if (nvec < 1) in pci_msi_supported()
281 static int msi_setup_msi_desc(struct pci_dev *dev, int nvec, in msi_setup_msi_desc() argument
298 desc.nvec_used = nvec; in msi_setup_msi_desc()
303 desc.pci.msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_msi_desc()
347 static int msi_capability_init(struct pci_dev *dev, int nvec, in msi_capability_init() argument
355 if (nvec > 1 && !pci_msi_domain_supports(dev, MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY)) in msi_capability_init()
366 masks = irq_create_affinity_masks(nvec, affd); in msi_capability_init()
369 ret = msi_setup_msi_desc(dev, nvec, masks); in msi_capability_init()
378 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSI); in msi_capability_init()
[all …]
Dlegacy.c19 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.6.21/drivers/net/wwan/iosm/
Diosm_ipc_irq.c40 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.6.21/arch/powerpc/platforms/pseries/
Dmsi.c115 static int check_req(struct pci_dev *pdev, int nvec, char *prop_name) in check_req() argument
130 if (req_msi < nvec) { in check_req()
131 pr_debug("rtas_msi: %s requests < %d MSIs\n", prop_name, nvec); in check_req()
142 static int check_req_msi(struct pci_dev *pdev, int nvec) in check_req_msi() argument
144 return check_req(pdev, nvec, "ibm,req#msi"); in check_req_msi()
147 static int check_req_msix(struct pci_dev *pdev, int nvec) in check_req_msix() argument
149 return check_req(pdev, nvec, "ibm,req#msi-x"); in check_req_msix()
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()
[all …]
/linux-6.6.21/drivers/fpga/
Ddfl-pci.c52 int ret, nvec = pci_msix_vec_count(pcidev); in cci_pci_alloc_irq() local
54 if (nvec <= 0) { in cci_pci_alloc_irq()
59 ret = pci_alloc_irq_vectors(pcidev, nvec, nvec, PCI_IRQ_MSIX); in cci_pci_alloc_irq()
63 return nvec; in cci_pci_alloc_irq()
142 static int *cci_pci_create_irq_table(struct pci_dev *pcidev, unsigned int nvec) in cci_pci_create_irq_table() argument
147 table = kcalloc(nvec, sizeof(int), GFP_KERNEL); in cci_pci_create_irq_table()
151 for (i = 0; i < nvec; i++) in cci_pci_create_irq_table()
307 int nvec, ret = 0; in cci_enumerate_feature_devs() local
316 nvec = cci_pci_alloc_irq(pcidev); in cci_enumerate_feature_devs()
317 if (nvec < 0) { in cci_enumerate_feature_devs()
[all …]
/linux-6.6.21/Documentation/translations/zh_CN/PCI/
Dmsi-howto.rst110 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.6.21/include/linux/
Dmsi.h384 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
459 struct device *dev, int nvec,
466 struct device *dev, int nvec);
630 int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec,
636 int nvec, msi_alloc_info_t *args);
638 int virq, int nvec, msi_alloc_info_t *args);
639 void msi_domain_depopulate_descs(struct device *dev, int virq, int nvec);
643 unsigned int nvec,
649 #define platform_msi_create_device_domain(dev, nvec, write, ops, data) \ argument
650 __platform_msi_create_device_domain(dev, nvec, false, write, ops, data)
[all …]
/linux-6.6.21/arch/x86/pci/
Dxen.c161 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-6.6.21/drivers/base/
Dplatform-msi.c143 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.6.21/drivers/irqchip/
Dirq-gic-v3-its-pci-msi.c54 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()
Dirq-gic-v3-its-fsl-mc-msi.c41 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()
Dirq-gic-v3-its-platform-msi.c47 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.6.21/drivers/soc/ti/
Dti_sci_inta_msi.c97 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-6.6.21/drivers/pci/pcie/
Dportdrv.c59 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.6.21/arch/powerpc/kernel/
Dmsi.c12 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.6.21/arch/x86/include/asm/xen/
Dpci.h34 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.6.21/drivers/mmc/host/
Dcavium-thunderx.c40 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-6.6.21/drivers/gpu/drm/vmwgfx/
Dvmwgfx_irq.c331 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()

1234