/linux/drivers/net/ipa/ |
H A D | ipa_uc.c | 1 // 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 35 * to the interrupt. Some information found in the shared area is currently 36 * unused. All remaining space in the shared area is reserved, and must not [all …]
|
H A D | ipa_mem.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2024 Linaro Ltd. 13 struct ipa; 17 * DOC: IPA Local Memory 19 * The IPA has a block of shared memory, divided into regions used for 22 * The regions within the shared block are bounded by an offset (relative to 23 * the "ipa-shared" memory range) and size found in the IPA_SHARED_MEM_SIZE 26 * Each region is optionally preceded by one or more 32-bit "canary" values. 27 * These are meant to detect out-of-range writes (if they become corrupted). [all …]
|
H A D | ipa_qmi_msg.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 2018-2024 Linaro Ltd. 15 /* Request/response/indication QMI message ids used for IPA. Receiving 18 #define IPA_QMI_INDICATION_REGISTER 0x20 /* modem -> AP request */ 19 #define IPA_QMI_INIT_DRIVER 0x21 /* AP -> modem request */ 20 #define IPA_QMI_INIT_COMPLETE 0x22 /* AP -> modem indication */ 21 #define IPA_QMI_DRIVER_INIT_COMPLETE 0x35 /* modem -> AP request */ 28 #define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */ 29 #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */ 30 #define IPA_QMI_INIT_DRIVER_REQ_SZ 162 /* client handle -> */ [all …]
|
H A D | ipa_cmd.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2024 Linaro Ltd. 13 struct ipa; 17 * enum ipa_cmd_opcode: IPA immediate commands 23 * @IPA_CMD_HDR_INIT_LOCAL: Initialize IPA-local header memory 24 * @IPA_CMD_REGISTER_WRITE: Register write performed by IPA 26 * @IPA_CMD_DMA_SHARED_MEM: DMA command performed by IPA 46 * ipa_cmd_table_init_valid() - Validate a memory region holding a table 47 * @ipa: - IPA pointer [all …]
|
H A D | ipa_table.c | 1 // 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 …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | qcom,ipa.yaml | 1 # 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 <elder@kernel.org> 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/arch/arm/boot/dts/qcom/ |
H A D | qcom-sdx55.dtsi | 1 // 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 …]
|
H A D | qcom-sdx65.dtsi | 1 // 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/arch/arm64/kvm/ |
H A D | reset.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2012,2013 - ARM Ltd 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 81 vcpu->arch.sve_max_vl = kvm_sve_max_vl; in kvm_vcpu_enable_sve() 88 set_bit(KVM_ARCH_FLAG_GUEST_HAS_SVE, &vcpu->kvm->arch.flags); in kvm_vcpu_enable_sve() 93 * vcpu->arch.sve_state as necessary. 102 vl = vcpu->arch.sve_max_vl; in kvm_vcpu_finalize_sve() 105 * Responsibility for these properties is shared between in kvm_vcpu_finalize_sve() 107 * set_sve_vls(). Double-check here just to be sure: in kvm_vcpu_finalize_sve() 111 return -EIO; in kvm_vcpu_finalize_sve() [all …]
|
/linux/drivers/tee/optee/ |
H A D | optee_msg.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2021, Linaro Limited 12 * This file defines the OP-TEE message protocol (ABI) used to communicate 13 * with an instance of OP-TEE running in secure world. 21 * Part 1 - formatting of messages 49 * Pointer to a list of pages used to register user-defined SHM buffer. 52 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from 64 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1]; 98 * Page size used in non-contiguous buffer entries 105 * struct optee_msg_param_tmem - temporary memory reference parameter [all …]
|
/linux/arch/arm64/kvm/hyp/nvhe/ |
H A D | hyp-main.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 - Google Inc 10 #include <asm/pgtable-types.h> 35 sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2); in __hyp_sve_save_guest() 36 __sve_save_state(vcpu_sve_pffr(vcpu), &vcpu->arch.ctxt.fp_regs.fpsr, true); in __hyp_sve_save_guest() 37 write_sysreg_s(sve_vq_from_vl(kvm_host_sve_max_vl) - 1, SYS_ZCR_EL2); in __hyp_sve_save_guest() 49 * Note that this constrains the PE to the maximum shared VL in __hyp_sve_restore_host() 53 write_sysreg_s(sve_vq_from_vl(kvm_host_sve_max_vl) - 1, SYS_ZCR_EL2); in __hyp_sve_restore_host() 54 __sve_restore_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl), in __hyp_sve_restore_host() 55 &sve_state->fpsr, in __hyp_sve_restore_host() [all …]
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | sm6350.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 7 #include <dt-bindings/clock/qcom,dispcc-sm6350.h> 8 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 9 #include <dt-bindings/clock/qcom,gcc-sm6350.h> 10 #include <dt-bindings/clock/qcom,gpucc-sm6350.h> 11 #include <dt-bindings/clock/qcom,rpmh.h> 12 #include <dt-bindings/clock/qcom,sm6350-camcc.h> 13 #include <dt-bindings/dma/qcom-gpi.h> 14 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/interconnect/qcom,icc.h> [all …]
|
H A D | sc7180.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 5 * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. 8 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 9 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 10 #include <dt-bindings/clock/qcom,gcc-sc7180.h> 11 #include <dt-bindings/clock/qcom,gpucc-sc7180.h> 12 #include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h> 13 #include <dt-bindings/clock/qcom,rpmh.h> 14 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 15 #include <dt-bindings/firmware/qcom,scm.h> [all …]
|
H A D | sdx75.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 9 #include <dt-bindings/clock/qcom,rpmh.h> 10 #include <dt-bindings/clock/qcom,sdx75-gcc.h> 11 #include <dt-bindings/dma/qcom-gpi.h> 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/interconnect/qcom,icc.h> 14 #include <dt-bindings/interconnect/qcom,sdx75.h> 15 #include <dt-bindings/interrupt-controller/arm-gic.h> 16 #include <dt-bindings/mailbox/qcom-ipcc.h> 17 #include <dt-bindings/power/qcom,rpmhpd.h> [all …]
|
H A D | sdm845.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/qcom,camcc-sdm845.h> 9 #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 10 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 11 #include <dt-bindings/clock/qcom,gcc-sdm845.h> 12 #include <dt-bindings/clock/qcom,gpucc-sdm845.h> 13 #include <dt-bindings/clock/qcom,lpass-sdm845.h> 14 #include <dt-bindings/clock/qcom,rpmh.h> 15 #include <dt-bindings/clock/qcom,videocc-sdm845.h> 16 #include <dt-bindings/dma/qcom-gpi.h> [all …]
|
H A D | msm8998-oneplus-common.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 3 * OnePlus 5(T) (cheeseburger / dumpling) common device tree source based on msm8998-mtp.dtsi 9 /dts-v1/; 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 20 qcom,msm-id = <292 0x20001>; /* 8998 v2.1 */ 23 #address-cells = <2>; 24 #size-cells = <2>; 29 compatible = "simple-framebuffer"; 47 power-domains = <&mmcc MDSS_GDSC>; [all …]
|
H A D | sm8650.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 7 #include <dt-bindings/clock/qcom,rpmh.h> 8 #include <dt-bindings/clock/qcom,sm8650-camcc.h> 9 #include <dt-bindings/clock/qcom,sm8650-dispcc.h> 10 #include <dt-bindings/clock/qcom,sm8650-gcc.h> 11 #include <dt-bindings/clock/qcom,sm8650-gpucc.h> 12 #include <dt-bindings/clock/qcom,sm8650-tcsr.h> 13 #include <dt-bindings/clock/qcom,sm8650-videocc.h> 14 #include <dt-bindings/dma/qcom-gpi.h> [all …]
|
H A D | sm8350.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/interconnect/qcom,sm8350.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/clock/qcom,dispcc-sm8350.h> 9 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 10 #include <dt-bindings/clock/qcom,gcc-sm8350.h> 11 #include <dt-bindings/clock/qcom,gpucc-sm8350.h> 12 #include <dt-bindings/clock/qcom,rpmh.h> 13 #include <dt-bindings/dma/qcom-gpi.h> 14 #include <dt-bindings/firmware/qcom,scm.h> [all …]
|
H A D | sm8750.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,rpmh.h> 7 #include <dt-bindings/clock/qcom,sm8750-gcc.h> 8 #include <dt-bindings/clock/qcom,sm8750-tcsr.h> 9 #include <dt-bindings/dma/qcom-gpi.h> 10 #include <dt-bindings/interconnect/qcom,icc.h> 11 #include <dt-bindings/interconnect/qcom,sm8750-rpmh.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/mailbox/qcom-ipcc.h> 14 #include <dt-bindings/power/qcom,rpmhpd.h> [all …]
|
H A D | sm8550.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 7 #include <dt-bindings/clock/qcom,rpmh.h> 8 #include <dt-bindings/clock/qcom,sm8450-videocc.h> 9 #include <dt-bindings/clock/qcom,sm8550-camcc.h> 10 #include <dt-bindings/clock/qcom,sm8550-gcc.h> 11 #include <dt-bindings/clock/qcom,sm8550-gpucc.h> 12 #include <dt-bindings/clock/qcom,sm8550-tcsr.h> 13 #include <dt-bindings/clock/qcom,sm8550-dispcc.h> 14 #include <dt-bindings/dma/qcom-gpi.h> [all …]
|
H A D | sc7280.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 5 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. 7 #include <dt-bindings/clock/qcom,camcc-sc7280.h> 8 #include <dt-bindings/clock/qcom,dispcc-sc7280.h> 9 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 10 #include <dt-bindings/clock/qcom,gcc-sc7280.h> 11 #include <dt-bindings/clock/qcom,gpucc-sc7280.h> 12 #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 13 #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 14 #include <dt-bindings/clock/qcom,rpmh.h> [all …]
|
/linux/arch/arm64/include/asm/ |
H A D | kvm_pgtable.h | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #define KVM_PGTABLE_FIRST_LEVEL -1 18 * The largest supported block sizes for KVM (no 52-bit PA support): 19 * - 4K (level 1): 1GB 20 * - 16K (level 2): 32MB 21 * - 64K (level 2): 512MB 60 #define KVM_PHYS_INVALID (-1ULL) 104 * Used to indicate a pte for which a 'break-before-make' sequence is in 189 * struct kvm_pgtable_mm_ops - Memory management callbacks. 231 * enum kvm_pgtable_stage2_flags - Stage-2 page-table flags. [all …]
|
H A D | kvm_host.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2012,2013 - ARM Ltd 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 14 #include <linux/arm-smccc.h> 43 #define KVM_VCPU_VALID_FEATURES (BIT(KVM_VCPU_MAX_FEATURES) - 1) 64 * Mode of operation configurable with kvm-arm.mode early param. 65 * See Documentation/admin-guide/kernel-parameters.txt for more information. 100 *p = mc->head; in push_hyp_memcache() 101 mc->head = to_pa(p); in push_hyp_memcache() 102 mc->nr_pages++; in push_hyp_memcache() [all …]
|
/linux/include/linux/ |
H A D | arm_ffa.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 83 * For some calls it is necessary to use SMC64 to pass or return 64-bit values. 85 * (native-width) function ID. 95 #define FFA_RET_NOT_SUPPORTED (-1) 96 #define FFA_RET_INVALID_PARAMETERS (-2) 97 #define FFA_RET_NO_MEMORY (-3) 98 #define FFA_RET_BUSY (-4) 99 #define FFA_RET_INTERRUPTED (-5) 100 #define FFA_RET_DENIED (-6) 101 #define FFA_RET_RETRY (-7) [all …]
|
/linux/tools/include/uapi/linux/ |
H A D | kvm.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 6 * Userspace interface for /dev/kvm - kernel based virtual machine 20 * Backwards-compatible definitions. 59 * For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47.. 60 * For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23.. 187 /* Encounter unexpected vm-exit due to delivery event. */ 189 /* Encounter unexpected vm-exit reason */ 295 __u16 ipa; member 322 * that is used for the KVM_INTERNAL_ERROR_EMULATION sub-type of 324 * sub-types, this struct is ABI! It also needs to be backwards [all …]
|