Home
last modified time | relevance | path

Searched +full:ipi +full:- +full:id (Results 1 – 25 of 185) sorted by relevance

12345678

/openbmc/linux/drivers/remoteproc/
H A Dmtk_scp_ipi.c1 // SPDX-License-Identifier: GPL-2.0
21 * scp_ipi_register() - register an ipi function
24 * @id: IPI ID
25 * @handler: IPI handler
26 * @priv: private data for IPI handler
28 * Register an ipi function to receive ipi interrupt from SCP.
30 * Return: 0 if ipi registers successfully, -error on error.
33 u32 id, in scp_ipi_register() argument
38 return -EPROBE_DEFER; in scp_ipi_register()
40 if (WARN_ON(id >= SCP_IPI_MAX) || WARN_ON(handler == NULL)) in scp_ipi_register()
[all …]
H A Dxlnx_r5_remoteproc.c1 // SPDX-License-Identifier: GPL-2.0
7 #include <dt-bindings/power/xlnx-zynqmp-power.h>
8 #include <linux/dma-mapping.h>
9 #include <linux/firmware/xlnx-zynqmp.h>
12 #include <linux/mailbox/zynqmp-ipi-message.h>
22 /* IPI buffer MAX length */
30 * reflects possible values of xlnx,cluster-mode dt-property
34 LOCKSTEP_MODE = 1, /* cores execute same code in lockstep,clk-for-clk */
39 * struct mem_bank_data - Memory Bank description
43 * @pm_domain_id: Power-domains id of memory bank for firmware to turn on/off
[all …]
H A Dmtk_scp.c1 // SPDX-License-Identifier: GPL-2.0
7 #include <linux/dma-mapping.h>
27 * scp_get() - get a reference to SCP.
36 struct device *dev = &pdev->dev; in scp_get()
40 scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0); in scp_get()
59 * scp_put() - "free" the SCP
65 put_device(scp->dev); in scp_put()
71 dev_err(scp->dev, "SCP watchdog timeout! 0x%x", scp_to_host); in scp_wdt_handler()
72 rproc_report_crash(scp->rproc, RPROC_WATCHDOG); in scp_wdt_handler()
80 scp->run.signaled = run->signaled; in scp_init_ipi_handler()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/mailbox/
H A Dxlnx,zynqmp-ipi-mailbox.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Xilinx IPI(Inter Processor Interrupt) mailbox controller
10 The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage
11 messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI
14 +-------------------------------------+
15 | Xilinx ZynqMP IPI Controller |
16 +-------------------------------------+
[all …]
/openbmc/linux/arch/mips/kvm/
H A Dloongson_ipi.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Loongson-3 Virtual IPI interrupt support.
51 static int loongson_vipi_read(struct loongson_kvm_ipi *ipi, in loongson_vipi_read() argument
56 uint32_t id = core + node * 4; in loongson_vipi_read() local
59 struct ipi_state *s = &(ipi->ipistate[id]); in loongson_vipi_read()
61 BUG_ON(offset & (len - 1)); in loongson_vipi_read()
65 *(uint64_t *)val = s->status; in loongson_vipi_read()
69 *(uint64_t *)val = s->en; in loongson_vipi_read()
81 pbuf = (void *)s->buf + (offset - 0x20); in loongson_vipi_read()
96 static int loongson_vipi_write(struct loongson_kvm_ipi *ipi, in loongson_vipi_write() argument
[all …]
/openbmc/linux/include/linux/rpmsg/
H A Dmtk_rpmsg.h1 /* SPDX-License-Identifier: GPL-2.0 */
15 * struct mtk_rpmsg_info - IPI functions tied to the rpmsg device.
16 * @register_ipi: register IPI handler for an IPI id.
17 * @unregister_ipi: unregister IPI handler for a registered IPI id.
18 * @send_ipi: send IPI to an IPI id. wait is the timeout (in msecs) to wait
20 * @ns_ipi_id: the IPI id used for name service, or -1 if name service isn't
24 int (*register_ipi)(struct platform_device *pdev, u32 id,
26 void (*unregister_ipi)(struct platform_device *pdev, u32 id);
27 int (*send_ipi)(struct platform_device *pdev, u32 id,
/openbmc/linux/drivers/mailbox/
H A Dzynqmp-ipi-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
3 * Xilinx Inter Processor Interrupt(IPI) Mailbox Driver
8 #include <linux/arm-smccc.h>
15 #include <linux/mailbox/zynqmp-ipi-message.h>
21 /* IPI agent ID any */
24 /* indicate if ZynqMP IPI mailbox driver uses SMC calls or HVC calls */
28 /* Default IPI SMC function IDs */
37 /* IPI SMC Macros */
47 /* IPI mailbox status */
52 #define IPI_MB_CHNL_TX 0 /* IPI mailbox TX channel */
[all …]
/openbmc/linux/drivers/media/platform/mediatek/vpu/
H A Dmtk_vpu.h1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Author: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
25 * enum ipi_id - the id of inter-processor interrupt
32 * For other IPI below, AP should send the request
52 * @IPI_MAX: The maximum IPI number
67 * enum rst_id - reset id to register reset function for VPU watchdog timeout
69 * @VPU_RST_ENC: encoder reset id
70 * @VPU_RST_DEC: decoder reset id
71 * @VPU_RST_MDP: MDP (Media Data Path) reset id
72 * @VPU_RST_MAX: maximum reset id
[all …]
H A Dmtk_vpu.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
18 #include <linux/dma-mapping.h>
33 /* maximum program/data TCM (Tightly-Coupled Memory) size */
68 /* vpu inter-processor communication interrupt */
74 * enum vpu_fw_type - VPU firmware type
86 * struct vpu_mem - VPU extended program/data memory information
98 * struct vpu_regs - VPU TCM and configuration registers
100 * @tcm: the register for VPU Tightly-Coupled Memory
111 * struct vpu_wdt_handler - VPU watchdog reset handler
[all …]
/openbmc/linux/tools/testing/selftests/kvm/x86_64/
H A Dxapic_ipi_test.c1 // SPDX-License-Identifier: GPL-2.0
9 * Test that when the APIC is in xAPIC mode, a vCPU can send an IPI to wake
15 * has reentered HLT before sending the next IPI. While the vCPUs are running,
19 * Migration is a command line option. When used on non-numa machines will
20 * exit with error. Test is still usefull on non-numa for testing IPIs.
43 * Vector for IPI from sender vCPU to halting vCPU.
50 * Incremented in the IPI handler. Provides evidence to the sender that the IPI
69 * Record local version register as a cross-check that APIC access
96 data->halter_apic_id = GET_APIC_ID_FIELD(xapic_read_reg(APIC_ID)); in halter_guest_code()
97 data->halter_lvr = xapic_read_reg(APIC_LVR); in halter_guest_code()
[all …]
/openbmc/linux/arch/arc/kernel/
H A Dsmp.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 * -- Added support for Inter Processor Interrupts
9 * -- Initial Write (Borrowed heavily from ARM)
54 return -EINVAL; in arc_get_cpu_map()
57 return -EINVAL; in arc_get_cpu_map()
64 * "possible-cpus" property in DeviceTree pretend all [0..NR_CPUS-1] exist.
70 if (arc_get_cpu_map("possible-cpus", &cpumask)) { in arc_init_cpu_possible()
71 pr_warn("Failed to get possible-cpus from dtb, pretending all %u cpus exist\n", in arc_init_cpu_possible()
86 * - Initialise the CPU possible map early - this describes the CPUs
[all …]
/openbmc/linux/arch/riscv/include/asm/
H A Dsmp.h1 /* SPDX-License-Identifier: GPL-2.0-only */
28 /* print IPI stats */
42 /* Enable IPI for CPU hotplug */
45 /* Disable IPI for CPU hotplug */
48 /* Check if IPI interrupt numbers are available */
51 /* Set the IPI interrupt numbers for arch (called by irqchip drivers) */
66 * Obtains the hart ID of the currently executing task. This relies on
69 #define raw_smp_processor_id() (current_thread_info()->cpu)
87 return -1; in riscv_hartid_to_cpuid()
/openbmc/qemu/hw/loongarch/
H A Dvirt.c1 /* SPDX-License-Identifier: GPL-2.0-or-later */
12 #include "hw/char/serial-mm.h"
21 #include "exec/address-spaces.h"
30 #include "hw/pci-host/ls7a.h"
31 #include "hw/pci-host/gpex.h"
36 #include "qapi/qapi-visit-common.h"
39 #include "hw/platform-bus.h"
41 #include "hw/uefi/var-service-api.h"
42 #include "hw/mem/pc-dimm.h"
44 #include "system/block-backend.h"
[all …]
/openbmc/linux/include/linux/remoteproc/
H A Dmtk_scp.h1 /* SPDX-License-Identifier: GPL-2.0 */
17 * enum ipi_id - the id of inter-processor interrupt
24 * For other IPI below, AP should send the request
26 * @SCP_IPI_MAX: The maximum IPI number
56 int scp_ipi_register(struct mtk_scp *scp, u32 id, scp_ipi_handler_t handler,
58 void scp_ipi_unregister(struct mtk_scp *scp, u32 id);
60 int scp_ipi_send(struct mtk_scp *scp, u32 id, void *buf, unsigned int len,
/openbmc/linux/drivers/media/platform/mediatek/vcodec/decoder/
H A Dvdec_vpu_if.c1 // SPDX-License-Identifier: GPL-2.0
15 (unsigned long)msg->ap_inst_addr; in handle_init_ack_msg()
17 mtk_vdec_debug(vpu->ctx, "+ ap_inst_addr = 0x%llx", msg->ap_inst_addr); in handle_init_ack_msg()
21 vpu->vsi = mtk_vcodec_fw_map_dm_addr(vpu->ctx->dev->fw_handler, in handle_init_ack_msg()
22 msg->vpu_inst_addr); in handle_init_ack_msg()
23 vpu->inst_addr = msg->vpu_inst_addr; in handle_init_ack_msg()
25 mtk_vdec_debug(vpu->ctx, "- vpu_inst_addr = 0x%x", vpu->inst_addr); in handle_init_ack_msg()
28 vpu->fw_abi_version = 0; in handle_init_ack_msg()
30 * Instance ID is only used if ABI version >= 2. Initialize it with in handle_init_ack_msg()
33 vpu->inst_id = 0xdeadbeef; in handle_init_ack_msg()
[all …]
H A Dvdec_ipi_msg.h1 /* SPDX-License-Identifier: GPL-2.0 */
11 * enum vdec_ipi_msgid - message id between AP and VPU
12 * @AP_IPIMSG_XXX : AP to VPU cmd message id
13 * @VPU_IPIMSG_XXX_ACK : VPU ack AP cmd message id
36 * struct vdec_ap_ipi_cmd - generic AP to VPU ipi command format
39 * @inst_id : instance ID. Used if the ABI version >= 2.
54 * struct vdec_vpu_ipi_ack - generic VPU to AP ipi command format
66 * struct vdec_ap_ipi_init - for AP_IPIMSG_DEC_INIT
78 * struct vdec_ap_ipi_dec_start - for AP_IPIMSG_DEC_START
81 * @inst_id : instance ID. Used if the ABI version >= 2.
[all …]
H A Dvdec_vpu_if.h1 /* SPDX-License-Identifier: GPL-2.0 */
13 * struct vdec_vpu_inst - VPU instance for video codec
14 * @id : ipi msg id for each decoder
15 * @core_id : core id used to separate different hardware
21 * @inst_id : if fw_abi_version >= 2, contains the instance ID to be given
23 * @signaled : 1 - Host has received ack message from VPU, 0 - not received
27 * @handler : ipi handler for each decoder
33 int id; member
50 * vpu_dec_init - init decoder instance and allocate required resource in VPU.
57 * vpu_dec_start - start decoding, basically the function will be invoked once
[all …]
/openbmc/linux/arch/powerpc/include/asm/
H A Dmpic.h1 /* SPDX-License-Identifier: GPL-2.0 */
71 * Per-Processor registers
92 * Per-source registers
149 * Per-Processor registers
162 * Per-source registers
284 /* vector numbers used for internal sources (ipi/timers) */
344 * The top 4 bits contain an MPIC bhw id that is used to index the
346 * Note setting any ID (leaving those bits to 0) means standard MPIC
355 /* Set this for a big-endian MPIC */
359 /* Broken IPI registers (autodetected) */
[all …]
/openbmc/linux/drivers/irqchip/
H A Dirq-apple-aic.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Based on irq-lpc32xx:
6 * Copyright 2015-2016 Vladimir Zapolskiy <vz@mleia.com>
7 * Based on irq-bcm2836:
14 * - 896 level-triggered hardware IRQs
15 * - Single mask bit per IRQ
16 * - Per-IRQ affinity setting
17 * - Automatic masking on event delivery (auto-ack)
18 * - Software triggering (ORed with hw line)
19 * - 2 per-CPU IPIs (meant as "self" and "other", but they are
[all …]
/openbmc/linux/arch/x86/hyperv/
H A Dhv_apic.c1 // SPDX-License-Identifier: GPL-2.0
4 * Hyper-V specific APIC code.
45 static void hv_apic_icr_write(u32 low, u32 id) in hv_apic_icr_write() argument
49 reg_val = SET_XAPIC_DEST_FIELD(id); in hv_apic_icr_write()
93 if (hvp && (xchg(&hvp->apic_assist, 0) & 0x1)) in hv_apic_eoi_write()
105 * IPI implementation on Hyper-V.
124 ipi_arg->vector = vector; in __send_ipi_mask_ex()
125 ipi_arg->reserved = 0; in __send_ipi_mask_ex()
126 ipi_arg->vp_set.valid_bank_mask = 0; in __send_ipi_mask_ex()
130 * when the IPI is sent to all currently present CPUs. in __send_ipi_mask_ex()
[all …]
/openbmc/linux/arch/powerpc/kvm/
H A Dbook3s_xive.h1 /* SPDX-License-Identifier: GPL-2.0-only */
24 * pass-through but it's easier to keep around as the same
25 * guest interrupt can alternatively be emulated or pass-through
36 u32 ipi_number; /* XIVE IPI HW number */
37 struct xive_irq_data ipi_data; /* XIVE IPI associated data */
38 u32 pt_number; /* XIVE Pass-through number if any */
39 struct xive_irq_data *pt_data; /* XIVE Pass-through associated data */
53 bool lsi; /* level-sensitive interrupt */
66 /* Select the "right" interrupt (IPI vs. passthrough) */
71 if (state->pt_number) { in kvmppc_xive_select_irq()
[all …]
/openbmc/linux/arch/x86/kernel/apic/
H A Dlocal.h1 /* SPDX-License-Identifier: GPL-2.0 */
7 * (c) 1998-99, 2000 Ingo Molnar <mingo@redhat.com>
18 unsigned int x2apic_get_apic_id(unsigned long id);
19 u32 x2apic_set_apic_id(unsigned int id);
27 /* IPI */
53 * This is used to send an IPI with no shorthand notation (the destination is
/openbmc/qemu/docs/system/i386/
H A Dkvm-pv.rst5 -----------
11 -----
17 - ``kvmclock``
18 - ``kvm-nopiodelay``
19 - ``kvm-asyncpf``
20 - ``kvm-steal-time``
21 - ``kvm-pv-eoi``
22 - ``kvmclock-stable-bit``
24 ``kvm-msi-ext-dest-id`` feature is enabled by default in x2apic mode with split
25 irqchip (e.g. "-machine ...,kernel-irqchip=split -cpu ...,x2apic").
[all …]
/openbmc/linux/Documentation/virt/kvm/x86/
H A Dhypercalls.rst1 .. SPDX-License-Identifier: GPL-2.0
8 KVM Hypercalls have a three-byte sequence of either the vmcall or the vmmcall
18 R2-R7 are used for parameters 1-6. In addition, R1 is used for hypercall
25 refer to Documentation/virt/kvm/s390/s390-diag.rst.
28 It uses R3-R10 and hypercall number in R11. R4-R11 are used as output registers.
31 KVM hypercalls uses 4 byte opcode, that are patched with 'hypercall-instructions'
33 For more information refer to Documentation/virt/kvm/ppc-pv.rst
37 number in $2 (v0). Up to four arguments may be placed in $4-$7 (a0-a3) and
50 ------------------------
58 ----------------
[all …]
/openbmc/qemu/include/hw/intc/
H A Dloongson_ipi_common.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Loongson ipi interrupt header files
22 LoongsonIPICommonState *ipi; member
27 /* 64bit buf divide into 2 32-bit buf */
49 int (*cpu_by_arch_id)(LoongsonIPICommonState *lics, int64_t id,
75 #define ANY_SEND_OFFSET (IOCSR_ANY_SEND - IOCSR_MAIL_SEND)

12345678