Home
last modified time | relevance | path

Searched +full:ipa +full:- +full:reg (Results 1 – 25 of 110) sorted by relevance

12345

/linux-6.14.4/drivers/net/ipa/
Dipa_main.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
20 #include "ipa.h"
39 * This driver supports the Qualcomm IP Accelerator (IPA), which is a
40 * networking component found in many Qualcomm SoCs. The IPA is connected
44 * The IPA is the conduit between the AP and the modem that carries network
48 * The IPA provides protocol checksum calculation, offloading this work
49 * from the AP. The IPA offers additional functionality, including routing,
51 * currently supported. Despite that, some resources--including routing
[all …]
Dipa_interrupt.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
7 /* DOC: IPA Interrupts
9 * The IPA has an interrupt line distinct from the interrupt used by the GSI
11 * transfer completions), IPA interrupts are related to other events related
12 * to the IPA. Some of the IPA interrupts come from a microcontroller
13 * embedded in the IPA. Each IPA interrupt type can be both masked and
16 * Two of the IPA interrupts are initiated by the microcontroller. A third
17 * can be generated to signal the need for a wakeup/resume when an IPA
[all …]
Dipa_endpoint.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
10 #include <linux/dma-direction.h>
16 #include "ipa.h"
30 #define IPA_REPLENISH_BATCH 16 /* Must be non-zero */
33 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0))
35 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */
40 /** enum ipa_status_opcode - IPA status opcode field hardware values */
51 /** enum ipa_status_exception - IPA status exception field hardware values */
[all …]
Dipa_resource.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
9 #include "ipa.h"
15 * DOC: IPA Resources
17 * The IPA manages a set of resources internally for various purposes.
18 * A given IPA version has a fixed number of resource types, and a fixed
22 * Each version of IPA also has some number of resource groups. Each
28 static bool ipa_resource_limits_valid(struct ipa *ipa, in ipa_resource_limits_valid() argument
38 group_count = data->rsrc_group_src_count; in ipa_resource_limits_valid()
[all …]
Dipa_table.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
10 #include <linux/dma-mapping.h>
16 #include "ipa.h"
25 * DOC: IPA Filter and Route Tables
27 * The IPA has tables defined in its local (IPA-resident) memory that define
29 * endian 64-bit "slot" that holds the address of a rule definition. (The
35 * by all IPA hardware (IPA v4.2 doesn't support hashed tables).
38 * an object (such as a route or filter table) in IPA-resident memory must
[all …]
Dipa_mem.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
7 #include <linux/dma-mapping.h>
16 #include "ipa.h"
29 const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id) in ipa_mem_find() argument
33 for (i = 0; i < ipa->mem_count; i++) { in ipa_mem_find()
34 const struct ipa_mem *mem = &ipa->mem[i]; in ipa_mem_find()
36 if (mem->id == mem_id) in ipa_mem_find()
47 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_mem_zero_region_add() local
[all …]
Dipa_reg.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
10 #include "ipa.h"
13 /* Is this register ID valid for the current IPA version? */
14 static bool ipa_reg_id_valid(struct ipa *ipa, enum ipa_reg_id reg_id) in ipa_reg_id_valid() argument
16 enum ipa_version version = ipa->version; in ipa_reg_id_valid()
102 const struct reg *ipa_reg(struct ipa *ipa, enum ipa_reg_id reg_id) in ipa_reg() argument
104 if (WARN(!ipa_reg_id_valid(ipa, reg_id), "invalid reg %u\n", reg_id)) in ipa_reg()
107 return reg(ipa->regs, reg_id); in ipa_reg()
[all …]
Dipa_uc.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
12 #include "ipa.h"
19 * DOC: The IPA embedded microcontroller
21 * The IPA incorporates a microcontroller that is able to do some additional
31 * A 128 byte block of structured memory within the IPA SRAM is used together
33 * AP and the IPA microcontroller. Each side writes data to the shared area
45 * struct ipa_uc_mem_area - AP/microcontroller shared memory area
46 * @command: command code (AP->microcontroller)
[all …]
Dipa_cmd.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
10 #include <linux/dma-direction.h>
15 #include "ipa.h"
23 * DOC: IPA Immediate Commands
25 * The AP command TX endpoint is used to issue immediate commands to the IPA.
26 * An immediate command is generally used to request the IPA do something
31 * has a well-defined format, having a payload of a known length. This
74 /* For IPA v4.0+, the pipeline clear options are encoded in the opcode */
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for the Qualcomm IPA driver.
7 # Some IPA versions can reuse another set of GSI register definitions.
12 obj-$(CONFIG_QCOM_IPA) += ipa.o
14 ipa-y := ipa_main.o ipa_power.o ipa_reg.o ipa_mem.o \
21 ipa-y += $(IPA_REG_VERSIONS:%=reg/ipa_reg-v%.o)
23 ipa-y += $(GSI_REG_VERSIONS:%=reg/gsi_reg-v%.o)
25 ipa-y += $(IPA_DATA_VERSIONS:%=data/ipa_data-v%.o)
Dipa_reg.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
9 #include "reg.h"
13 struct ipa;
16 * DOC: IPA Registers
18 * IPA registers are located within the "ipa-reg" address space defined by
22 * All IPA registers are 32 bits wide.
25 * instances of something. For example, each IPA endpoint has an set of
33 * Each version of IPA implements an array of ipa_reg structures indexed
[all …]
Dgsi_reg.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2023 Linaro Ltd.
30 * function-like macro that takes a parameter used in the computation.
38 * (though the actual limit is hardware-dependent).
42 * (though the actual limit is hardware-dependent).
45 /* enum gsi_reg_id - GSI register IDs */
47 INTER_EE_SRC_CH_IRQ_MSK, /* IPA v3.5+ */
48 INTER_EE_SRC_EV_CH_IRQ_MSK, /* IPA v3.5+ */
77 HW_PARAM_2, /* IPA v3.5.1+ */
[all …]
Dgsi.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
23 #include "reg.h"
26 * DOC: The IPA Generic Software Interface
28 * The generic software interface (GSI) is an integral component of the IPA,
29 * providing a well-defined communication layer between the AP subsystem
30 * and the IPA core. The modem uses the GSI layer as well.
32 * -------- ---------
34 * | AP +<---. .----+ Modem |
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/net/
Dqcom,ipa.yaml1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/net/qcom,ipa.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm IP Accelerator (IPA)
10 - Alex Elder <[email protected]>
13 This binding describes the Qualcomm IPA. The IPA is capable of offloading
17 The IPA sits between multiple independent "execution environments,"
18 including the Application Processor (AP) and the modem. The IPA presents
20 The GSI is an integral part of the IPA, but it is logically isolated
[all …]
/linux-6.14.4/arch/arm64/kvm/hyp/nvhe/
Dmem_protect.c1 // SPDX-License-Identifier: GPL-2.0-only
33 hyp_spin_lock(&vm->lock); in guest_lock_component()
40 hyp_spin_unlock(&vm->lock); in guest_unlock_component()
128 /* The host stage 2 is id-mapped, so use parange for T0SZ */ in prepare_host_vtcr()
145 mmu->arch = &host_mmu.arch; in kvm_host_prepare_stage2()
157 mmu->pgd_phys = __hyp_pa(host_mmu.pgt.pgd); in kvm_host_prepare_stage2()
158 mmu->pgt = &host_mmu.pgt; in kvm_host_prepare_stage2()
159 atomic64_set(&mmu->vmid.id, 0); in kvm_host_prepare_stage2()
172 void *addr = hyp_alloc_pages(&current_vm->pool, get_order(size)); in guest_s2_zalloc_pages_exact()
186 hyp_put_page(&current_vm->pool, addr + (i * PAGE_SIZE)); in guest_s2_free_pages_exact()
[all …]
/linux-6.14.4/arch/arm/boot/dts/qcom/
Dqcom-sdx55.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
9 #include <dt-bindings/clock/qcom,gcc-sdx55.h>
10 #include <dt-bindings/clock/qcom,rpmh.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interconnect/qcom,sdx55.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/power/qcom-rpmpd.h>
15 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
18 #address-cells = <1>;
19 #size-cells = <1>;
[all …]
Dqcom-sdx65.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
9 #include <dt-bindings/clock/qcom,gcc-sdx65.h>
10 #include <dt-bindings/clock/qcom,rpmh.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/power/qcom-rpmpd.h>
14 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
15 #include <dt-bindings/interconnect/qcom,sdx65.h>
18 #address-cells = <1>;
19 #size-cells = <1>;
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/interconnect/
Dqcom,sdm660.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm SDM660 Network-On-Chip interconnect
10 - Konrad Dybcio <[email protected]>
19 - qcom,sdm660-a2noc
20 - qcom,sdm660-bimc
21 - qcom,sdm660-cnoc
22 - qcom,sdm660-gnoc
23 - qcom,sdm660-mnoc
[all …]
Dqcom,sm6115.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm SM6115 Network-On-Chip interconnect
10 - Konrad Dybcio <[email protected]>
19 - qcom,sm6115-bimc
20 - qcom,sm6115-cnoc
21 - qcom,sm6115-snoc
23 reg:
30 clock-names:
[all …]
Dqcom,qcs615-rpmh.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/interconnect/qcom,qcs615-rpmh.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm RPMh Network-On-Chip Interconnect on QCS615
10 - Raviteja Laggyshetty <[email protected]>
20 See also: include/dt-bindings/interconnect/qcom,qcs615-rpmh.h
25 - qcom,qcs615-aggre1-noc
26 - qcom,qcs615-camnoc-virt
27 - qcom,qcs615-config-noc
[all …]
/linux-6.14.4/tools/testing/selftests/kvm/lib/s390/
Ddiag318_test_handler.c1 // SPDX-License-Identifier: GPL-2.0-or-later
23 * we create an ad-hoc VM here to handle the instruction then extract the
31 uint64_t reg; in diag318_handler() local
36 run = vcpu->run; in diag318_handler()
39 TEST_ASSERT(run->s390_sieic.icptcode == ICPT_INSTRUCTION, in diag318_handler()
40 "Unexpected intercept code: 0x%x", run->s390_sieic.icptcode); in diag318_handler()
41 TEST_ASSERT((run->s390_sieic.ipa & 0xff00) == IPA0_DIAG, in diag318_handler()
42 "Unexpected IPA0 code: 0x%x", (run->s390_sieic.ipa & 0xff00)); in diag318_handler()
44 reg = (run->s390_sieic.ipa & 0x00f0) >> 4; in diag318_handler()
45 diag318_info = run->s.regs.gprs[reg]; in diag318_handler()
Ducall.c1 // SPDX-License-Identifier: GPL-2.0
11 struct kvm_run *run = vcpu->run; in ucall_arch_get_ucall()
13 if (run->exit_reason == KVM_EXIT_S390_SIEIC && in ucall_arch_get_ucall()
14 run->s390_sieic.icptcode == 4 && in ucall_arch_get_ucall()
15 (run->s390_sieic.ipa >> 8) == 0x83 && /* 0x83 means DIAGNOSE */ in ucall_arch_get_ucall()
16 (run->s390_sieic.ipb >> 16) == 0x501) { in ucall_arch_get_ucall()
17 int reg = run->s390_sieic.ipa & 0xf; in ucall_arch_get_ucall() local
19 return (void *)run->s.regs.gprs[reg]; in ucall_arch_get_ucall()
/linux-6.14.4/arch/s390/kvm/
Ddiag.c1 // SPDX-License-Identifier: GPL-2.0
14 #include <asm/virtio-ccw.h>
15 #include "kvm-s390.h"
17 #include "trace-s390.h"
25 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
26 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages()
27 vcpu->stat.instruction_diagnose_10++; in diag_release_pages()
40 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
48 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
50 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
[all …]
/linux-6.14.4/tools/testing/selftests/kvm/s390/
Dsync_regs_test.c1 // SPDX-License-Identifier: GPL-2.0-only
37 #define REG_COMPARE(reg) \ argument
38 TEST_ASSERT(left->reg == right->reg, \
39 "Register " #reg \
41 left->reg, right->reg)
43 #define REG_COMPARE32(reg) \ argument
44 TEST_ASSERT(left->reg == right->reg, \
45 "Register " #reg \
47 left->reg, right->reg)
76 struct kvm_run *run = vcpu->run; in test_read_invalid()
[all …]
/linux-6.14.4/drivers/net/ipa/reg/
Dipa_reg-v3.1.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (C) 2022-2024 Linaro Ltd. */
18 /* Bits 5-31 reserved */
41 /* Bits 17-31 reserved */
52 /* Bits 22-23 reserved */
54 /* Bits 25-31 reserved */
69 /* Bits 8-31 reserved */
83 /* Bits 1-3 reserved */
85 /* Bits 5-7 reserved */
87 /* Bits 9-11 reserved */
[all …]

12345