Home
last modified time | relevance | path

Searched refs:msi (Results 1 – 25 of 374) sorted by relevance

12345678910>>...15

/linux/drivers/pci/controller/
H A Dpcie-iproc-msi.c333 msi = grp->msi; in iproc_msi_handler()
539 pcie->msi = msi; in iproc_msi_init()
559 if (msi->nr_irqs < msi->nr_cpus) { in iproc_msi_init()
566 msi->nr_irqs -= msi->nr_irqs % msi->nr_cpus; in iproc_msi_init()
580 msi->nr_eq_region = msi->nr_irqs; in iproc_msi_init()
581 msi->nr_msi_region = msi->nr_irqs; in iproc_msi_init()
596 msi->grps = devm_kcalloc(pcie->dev, msi->nr_irqs, sizeof(*msi->grps), in iproc_msi_init()
610 msi->grps[i].msi = msi; in iproc_msi_init()
646 msi->eq_cpu, msi->eq_dma); in iproc_msi_init()
660 struct iproc_msi *msi = pcie->msi; in iproc_msi_exit() local
[all …]
H A Dpcie-altera-msi.c55 struct altera_msi *msi; in altera_msi_isr() local
122 mutex_lock(&msi->lock); in altera_irq_domain_alloc()
124 bit = find_first_zero_bit(msi->used, msi->num_of_vectors); in altera_irq_domain_alloc()
152 mutex_lock(&msi->lock); in altera_irq_domain_free()
176 msi->inner_domain = irq_domain_add_linear(NULL, msi->num_of_vectors, in altera_allocate_domains()
185 if (!msi->msi_domain) { in altera_allocate_domains()
221 if (!msi) in altera_msi_probe()
225 msi->pdev = pdev; in altera_msi_probe()
251 if (msi->irq < 0) { in altera_msi_probe()
252 ret = msi->irq; in altera_msi_probe()
[all …]
H A Dpci-xgene-msi.c27 struct xgene_msi *msi; member
205 bitmap_set(msi->bitmap, msi_irq, msi->num_cpus); in xgene_irq_domain_alloc()
231 bitmap_clear(msi->bitmap, hwirq, msi->num_cpus); in xgene_irq_domain_free()
247 if (!msi->inner_domain) in xgene_allocate_domains()
250 msi->msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(msi->node), in xgene_allocate_domains()
254 if (!msi->msi_domain) { in xgene_allocate_domains()
264 if (msi->msi_domain) in xgene_free_domains()
266 if (msi->inner_domain) in xgene_free_domains()
359 kfree(msi->msi_groups); in xgene_msi_remove()
362 msi->bitmap = NULL; in xgene_msi_remove()
[all …]
H A Dpcie-xilinx-dma-pl.c110 struct xilinx_msi msi; member
250 msi = &port->msi; in xilinx_pl_dma_pcie_msi_handler_high()
272 msi = &port->msi; in xilinx_pl_dma_pcie_msi_handler_low()
389 struct xilinx_msi *msi = &pcie->msi; in xilinx_irq_domain_alloc() local
415 struct xilinx_msi *msi = &pcie->msi; in xilinx_irq_domain_free() local
430 struct xilinx_msi *msi = &port->msi; in xilinx_pl_dma_pcie_free_irq_domains() local
437 if (msi->dev_domain) { in xilinx_pl_dma_pcie_free_irq_domains()
451 struct xilinx_msi *msi = &port->msi; in xilinx_pl_dma_pcie_init_msi_irq_domain() local
457 if (!msi->dev_domain) in xilinx_pl_dma_pcie_init_msi_irq_domain()
463 if (!msi->msi_domain) in xilinx_pl_dma_pcie_init_msi_irq_domain()
[all …]
H A Dpcie-brcmstb.c463 dev = msi->dev; in brcm_pcie_msi_isr()
514 hwirq = bitmap_find_free_region(msi->used, msi->nr, in brcm_msi_alloc()
566 msi->inner_domain = irq_domain_add_linear(NULL, msi->nr, &msi_domain_ops, msi); in brcm_allocate_domains()
592 struct brcm_msi *msi = pcie->msi; in brcm_msi_remove() local
594 if (!msi) in brcm_msi_remove()
634 if (!msi) in brcm_pcie_enable_msi()
638 msi->dev = dev; in brcm_pcie_enable_msi()
642 msi->irq = irq; in brcm_pcie_enable_msi()
652 msi->intr_base = msi->base + PCIE_INTR2_CPU_BASE; in brcm_pcie_enable_msi()
656 msi->intr_base = msi->base + PCIE_MSI_INTR2_BASE; in brcm_pcie_enable_msi()
[all …]
H A Dpcie-rcar-host.c50 struct rcar_msi msi; member
92 return container_of(msi, struct rcar_pcie_host, msi); in msi_to_host()
568 struct rcar_msi *msi = &host->msi; in rcar_pcie_msi_irq() local
688 mutex_lock(&msi->map_lock); in rcar_msi_domain_alloc()
711 mutex_lock(&msi->map_lock); in rcar_msi_domain_free()
744 if (!msi->domain) { in rcar_allocate_domains()
765 struct rcar_msi *msi = &host->msi; in rcar_pcie_enable_msi() local
769 mutex_init(&msi->map_lock); in rcar_pcie_enable_msi()
810 rcar_free_domains(msi); in rcar_pcie_enable_msi()
858 host->msi.irq1 = i; in rcar_pcie_get_resources()
[all …]
H A Dpcie-xilinx-nwl.c168 struct nwl_msi msi; member
335 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_handle_msi_irq() local
460 struct nwl_msi *msi = &pcie->msi; in nwl_irq_domain_alloc() local
464 mutex_lock(&msi->lock); in nwl_irq_domain_alloc()
486 struct nwl_msi *msi = &pcie->msi; in nwl_irq_domain_free() local
488 mutex_lock(&msi->lock); in nwl_irq_domain_free()
504 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_init_msi_irq_domain() local
508 if (!msi->dev_domain) { in nwl_pcie_init_msi_irq_domain()
555 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_enable_msi() local
563 if (msi->irq_msi1 < 0) in nwl_pcie_enable_msi()
[all …]
/linux/Documentation/devicetree/bindings/pci/
H A Dpci-msi.txt34 (rid-base,msi-controller,msi-base,length), where:
40 * msi-base is an msi-specifier describing the msi-specifier produced for the
47 the listed msi-controller, with the msi-specifier (r - rid-base + msi-base).
50 to an msi-specifier per the msi-map property.
66 msi: msi-controller@a {
69 msi-controller;
94 msi: msi-controller@a {
123 msi: msi-controller@a {
140 msi-map = <0x0000 &msi 0x0000 0x8000>,
153 msi: msi-controller@a {
[all …]
/linux/arch/arm64/kvm/vgic/
H A Dvgic-irqfd.c55 e->msi.address_lo = ue->u.msi.address_lo; in kvm_set_routing_entry()
56 e->msi.address_hi = ue->u.msi.address_hi; in kvm_set_routing_entry()
57 e->msi.data = ue->u.msi.data; in kvm_set_routing_entry()
59 e->msi.devid = ue->u.msi.devid; in kvm_set_routing_entry()
72 msi->address_lo = e->msi.address_lo; in kvm_populate_msi()
73 msi->address_hi = e->msi.address_hi; in kvm_populate_msi()
74 msi->data = e->msi.data; in kvm_populate_msi()
75 msi->flags = e->msi.flags; in kvm_populate_msi()
76 msi->devid = e->msi.devid; in kvm_populate_msi()
89 struct kvm_msi msi; in kvm_set_msi() local
[all …]
/linux/arch/powerpc/sysdev/
H A Dfsl_msi.c328 if (msi->list.prev != NULL) in fsl_of_msi_remove()
329 list_del(&msi->list); in fsl_of_msi_remove()
331 if (msi->cascade_array[i]) { in fsl_of_msi_remove()
341 if (msi->bitmap.bitmap) in fsl_of_msi_remove()
344 iounmap(msi->msi_regs); in fsl_of_msi_remove()
345 kfree(msi); in fsl_of_msi_remove()
395 struct fsl_msi *msi; in fsl_of_msi_probe() local
409 if (!msi) { in fsl_of_msi_probe()
418 if (msi->irqhost == NULL) { in fsl_of_msi_probe()
437 if (!msi->msi_regs) { in fsl_of_msi_probe()
[all …]
/linux/arch/riscv/kvm/
H A Dvm.c71 struct kvm_msi msi; in kvm_set_msi() local
76 msi.address_lo = e->msi.address_lo; in kvm_set_msi()
77 msi.address_hi = e->msi.address_hi; in kvm_set_msi()
78 msi.data = e->msi.data; in kvm_set_msi()
79 msi.flags = e->msi.flags; in kvm_set_msi()
80 msi.devid = e->msi.devid; in kvm_set_msi()
135 e->msi.address_lo = ue->u.msi.address_lo; in kvm_set_routing_entry()
136 e->msi.address_hi = ue->u.msi.address_hi; in kvm_set_routing_entry()
137 e->msi.data = ue->u.msi.data; in kvm_set_routing_entry()
138 e->msi.flags = ue->flags; in kvm_set_routing_entry()
[all …]
/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Dloongson,pch-msi.yaml19 const: loongson,pch-msi-1.0
24 loongson,msi-base-vec:
32 loongson,msi-num-vecs:
40 msi-controller: true
45 - msi-controller
46 - loongson,msi-base-vec
47 - loongson,msi-num-vecs
54 msi: msi-controller@2ff00000 {
57 msi-controller;
58 loongson,msi-base-vec = <64>;
[all …]
H A Dfsl,ls-scfg-msi.txt5 - compatible: should be "fsl,<soc-name>-msi" to identify
7 "fsl,ls1021a-msi"
8 "fsl,ls1043a-msi"
9 "fsl,ls1046a-msi"
10 "fsl,ls1043a-v1.1-msi"
11 "fsl,ls1012a-msi"
12 - msi-controller: indicates that this is a PCIe MSI controller node
20 Each PCIe node needs to have property msi-parent that points to
25 msi1: msi-controller@1571000 {
26 compatible = "fsl,ls1043a-msi";
[all …]
H A Dfsl,mu-msi.yaml33 - fsl,imx6sx-mu-msi
34 - fsl,imx7ulp-mu-msi
35 - fsl,imx8ulp-mu-msi
36 - fsl,imx8ulp-mu-msi-s4
67 msi-controller: true
69 "#msi-cells":
77 - msi-controller
78 - "#msi-cells"
87 msi-controller@5d270000 {
89 msi-controller;
[all …]
H A Dmsi.txt45 - #msi-cells: The number of cells in an msi-specifier, required if not zero.
64 - msi-parent: A list of phandle + msi-specifier pairs, one for each MSI
73 When #msi-cells is non-zero, busses with an msi-parent will require
85 msi_a: msi-controller@a {
88 msi-controller;
92 msi_b: msi-controller@b {
95 msi-controller;
97 #msi-cells = <1>;
103 msi-controller;
105 #msi-cells = <1>;
[all …]
H A Dmsi-controller.yaml4 $id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml#
18 "#msi-cells":
20 The number of cells in an msi-specifier, required if not zero.
26 The meaning of the msi-specifier is defined by the device tree
30 msi-controller:
35 msi-ranges:
44 "#msi-cells": [ msi-controller ]
/linux/drivers/ntb/
H A Dmsi.c45 ntb->msi = devm_kzalloc(&ntb->dev, struct_size(ntb->msi, peer_mws, peers), in ntb_msi_init()
47 if (!ntb->msi) in ntb_msi_init()
62 if (!ntb->msi->peer_mws[i]) { in ntb_msi_init()
72 if (ntb->msi->peer_mws[i]) in ntb_msi_init()
76 ntb->msi = NULL; in ntb_msi_init()
106 if (!ntb->msi) in ntb_msi_setup_mws()
150 ntb->msi->base_addr = addr; in ntb_msi_setup_mws()
203 if (addr < ntb->msi->base_addr || addr >= ntb->msi->end_addr) { in ntb_msi_set_desc()
207 ntb->msi->end_addr); in ntb_msi_set_desc()
289 if (!ntb->msi) in ntbm_msi_request_threaded_irq()
[all …]
/linux/drivers/pci/controller/mobiveil/
H A Dpcie-mobiveil-host.c88 struct mobiveil_msi *msi = &rp->msi; in mobiveil_pcie_isr() local
202 struct mobiveil_msi *msi = &pcie->rp.msi; in mobiveil_pcie_enable_msi() local
398 struct mobiveil_msi *msi = &pcie->rp.msi; in mobiveil_irq_msi_domain_alloc() local
402 mutex_lock(&msi->lock); in mobiveil_irq_msi_domain_alloc()
404 bit = find_first_zero_bit(msi->msi_irq_in_use, msi->num_of_vectors); in mobiveil_irq_msi_domain_alloc()
425 struct mobiveil_msi *msi = &pcie->rp.msi; in mobiveil_irq_msi_domain_free() local
427 mutex_lock(&msi->lock); in mobiveil_irq_msi_domain_free()
446 struct mobiveil_msi *msi = &pcie->rp.msi; in mobiveil_allocate_msi_domains() local
448 mutex_init(&msi->lock); in mobiveil_allocate_msi_domains()
449 msi->dev_domain = irq_domain_add_linear(NULL, msi->num_of_vectors, in mobiveil_allocate_msi_domains()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pci/
H A Dbase.c35 if (pci && pci->msi) in nvkm_pci_msi_rearm()
131 if (pci->msi) in nvkm_pci_init()
144 if (pci->msi) in nvkm_pci_dtor()
187 pci->msi = true; in nvkm_pci_new_()
193 pci->msi = false; in nvkm_pci_new_()
196 pci->msi = nvkm_boolopt(device->cfgopt, "NvMSI", pci->msi); in nvkm_pci_new_()
197 if (pci->msi && func->msi_rearm) { in nvkm_pci_new_()
198 pci->msi = pci_enable_msi(pci->pdev) == 0; in nvkm_pci_new_()
199 if (pci->msi) in nvkm_pci_new_()
202 pci->msi = false; in nvkm_pci_new_()
/linux/drivers/virt/acrn/
H A Dvm.c106 struct acrn_msi_entry *msi; in acrn_msi_inject() local
110 msi = kzalloc(sizeof(*msi), GFP_ATOMIC); in acrn_msi_inject()
111 if (!msi) in acrn_msi_inject()
118 msi->msi_addr = msi_addr; in acrn_msi_inject()
119 msi->msi_data = msi_data; in acrn_msi_inject()
120 ret = hcall_inject_msi(vm->vmid, virt_to_phys(msi)); in acrn_msi_inject()
124 kfree(msi); in acrn_msi_inject()
/linux/arch/mips/boot/dts/loongson/
H A Dloongson64c_4core_ls7a.dts28 msi: msi-controller@2ff00000 { label
29 compatible = "loongson,pch-msi-1.0";
32 msi-controller;
33 loongson,msi-base-vec = <64>;
34 loongson,msi-num-vecs = <64>;
H A Dloongson64g_4core_ls7a.dts32 msi: msi-controller@2ff00000 { label
33 compatible = "loongson,pch-msi-1.0";
36 msi-controller;
37 loongson,msi-base-vec = <64>;
38 loongson,msi-num-vecs = <192>;
/linux/Documentation/devicetree/bindings/powerpc/fsl/
H A Dmsi-pic.txt5 The first is "fsl,CHIP-msi", where CHIP is the processor(mpc8610, mpc8572,
6 etc.) and the second is "fsl,mpic-msi" or "fsl,ipic-msi" or
7 "fsl,mpic-msi-v4.3" depending on the parent type and version. If mpic
21 be set as edge sensitive. If msi-available-ranges is present, only
26 msi interrupt can be used in the 256 msi interrupts. This property is
43 msi@41600 {
44 compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
46 msi-available-ranges = <0 0x100>;
59 msi@41600 {
60 compatible = "fsl,mpic-msi-v4.3";
[all …]
/linux/virt/kvm/
H A Dirqchip.c48 int kvm_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi) in kvm_send_userspace_msi() argument
52 if (!kvm_arch_irqchip_in_kernel(kvm) || (msi->flags & ~KVM_MSI_VALID_DEVID)) in kvm_send_userspace_msi()
55 route.msi.address_lo = msi->address_lo; in kvm_send_userspace_msi()
56 route.msi.address_hi = msi->address_hi; in kvm_send_userspace_msi()
57 route.msi.data = msi->data; in kvm_send_userspace_msi()
58 route.msi.flags = msi->flags; in kvm_send_userspace_msi()
59 route.msi.devid = msi->devid; in kvm_send_userspace_msi()
/linux/drivers/media/pci/ddbridge/
H A Dddbridge-main.c37 static int msi = 1; variable
39 static int msi; variable
41 module_param(msi, int, 0444);
62 if (dev->msi) in ddb_msi_exit()
70 if (dev->msi == 2) in ddb_irq_exit()
98 if (msi && pci_msi_enabled()) { in ddb_irq_msi()
102 dev->msi = stat; in ddb_irq_msi()
104 dev->msi); in ddb_irq_msi()
129 if (dev->msi) in ddb_irq_init()
131 if (dev->msi == 2) { in ddb_irq_init()
[all …]

12345678910>>...15