| /kernel/linux/linux-5.10/drivers/net/ipa/ |
| D | ipa_smp2p.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2020 Linaro Ltd. 15 #include "ipa.h" 20 * DOC: IPA SMP2P communication with the modem 23 * the modem. The IPA driver uses this for two purposes: to enable the modem 25 * state of the IPA clock in the event of a crash. 29 * latter case, the modem uses an SMP2P interrupt to tell the AP IPA driver 32 * The modem is also able to inquire about the current state of the IPA 33 * clock by trigging another SMP2P interrupt to the AP. We communicate [all …]
|
| D | ipa_clock.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 13 #include "ipa.h" 18 * DOC: IPA Clocking 20 * The "IPA Clock" manages both the IPA core clock and the interconnects 21 * (buses) the IPA depends on as a single logical entity. A reference count 23 * Transitions of that count from 0 to 1 result in the clock and interconnects 24 * being enabled, and transitions of the count from 1 to 0 cause them to be 25 * disabled. We currently operate the core clock at a fixed clock rate, and [all …]
|
| D | ipa.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 31 * enum ipa_flag - IPA state flags 33 * @IPA_FLAG_COUNT: Number of defined IPA flags 41 * struct ipa - IPA information 44 * @version: IPA hardware version 48 * @clock: IPA clocking information 51 * @interrupt: IPA Interrupt information 53 * @reg_addr: DMA address used for IPA register access [all …]
|
| D | ipa_main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 22 #include "ipa.h" 38 * This driver supports the Qualcomm IP Accelerator (IPA), which is a 39 * networking component found in many Qualcomm SoCs. The IPA is connected 43 * The IPA is the conduit between the AP and the modem that carries network 47 * The IPA provides protocol checksum calculation, offloading this work 48 * from the AP. The IPA offers additional functionality, including routing, 50 * currently supported. Despite that, some resources--including routing [all …]
|
| D | ipa_endpoint.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2020 Linaro Ltd. 12 #include <linux/dma-direction.h> 16 #include "ipa.h" 26 #define atomic_dec_not_zero(v) atomic_add_unless((v), -1, 0) 30 /* RX buffer is 1 page (or a power-of-2 contiguous pages) */ 34 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 36 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 42 /** enum ipa_status_opcode - status element opcode hardware values */ [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/ipa/ |
| D | ipa_power.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2022 Linaro Ltd. 16 #include "ipa.h" 23 * DOC: IPA Power Management 25 * The IPA hardware is enabled when the IPA core clock and all the 26 * interconnects (buses) it depends on are enabled. Runtime power 27 * management is used to determine whether the core clock and 28 * interconnects are enabled, and if not in use to be suspended 31 * The core clock currently runs at a fixed clock rate when enabled, [all …]
|
| D | ipa_smp2p.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2022 Linaro Ltd. 17 #include "ipa.h" 21 * DOC: IPA SMP2P communication with the modem 24 * the modem. The IPA driver uses this for two purposes: to enable the modem 26 * state of IPA power in the event of a crash. 30 * latter case, the modem uses an SMP2P interrupt to tell the AP IPA driver 33 * The modem is also able to inquire about the current state of IPA 35 * whether power is enabled using two SMP2P state bits--one to indicate [all …]
|
| D | ipa_power.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2022 Linaro Ltd. 11 struct ipa; 15 /* IPA device power management function block */ 19 * ipa_core_clock_rate() - Return the current IPA core clock rate 20 * @ipa: IPA structure 22 * Return: The current clock rate (in Hz), or 0. 24 u32 ipa_core_clock_rate(struct ipa *ipa); 27 * ipa_power_modem_queue_stop() - Possibly stop the modem netdev TX queue [all …]
|
| D | ipa_main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 22 #include "ipa.h" 41 * This driver supports the Qualcomm IP Accelerator (IPA), which is a 42 * networking component found in many Qualcomm SoCs. The IPA is connected 46 * The IPA is the conduit between the AP and the modem that carries network 50 * The IPA provides protocol checksum calculation, offloading this work 51 * from the AP. The IPA offers additional functionality, including routing, 53 * currently supported. Despite that, some resources--including routing [all …]
|
| D | ipa_endpoint.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 12 #include <linux/dma-direction.h> 16 #include "ipa.h" 27 #define IPA_REPLENISH_BATCH 16 /* Must be non-zero */ 30 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 32 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 37 /** enum ipa_status_opcode - IPA status opcode field hardware values */ 48 /** enum ipa_status_exception - IPA status exception field hardware values */ [all …]
|
| D | gsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 28 * DOC: The IPA Generic Software Interface 30 * The generic software interface (GSI) is an integral component of the IPA, 31 * providing a well-defined communication layer between the AP subsystem 32 * and the IPA core. The modem uses the GSI layer as well. 34 * -------- --------- 36 * | AP +<---. .----+ Modem | 37 * | +--. | | .->+ | [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/qcom/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/arch/s390/kvm/ |
| D | intercept.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * in-kernel handling for sie intercepts 15 #include <asm/asm-offsets.h> 20 #include "kvm-s390.h" 23 #include "trace-s390.h" 27 struct kvm_s390_sie_block *sie_block = vcpu->arch.sie_block; in kvm_s390_get_ilen() 30 switch (vcpu->arch.sie_block->icptcode) { in kvm_s390_get_ilen() 37 ilen = insn_length(vcpu->arch.sie_block->ipa >> 8); in kvm_s390_get_ilen() 39 if (sie_block->icptstatus & 1) { in kvm_s390_get_ilen() 40 ilen = (sie_block->icptstatus >> 4) & 0x6; in kvm_s390_get_ilen() [all …]
|
| D | priv.c | 1 // SPDX-License-Identifier: GPL-2.0 18 #include <asm/asm-offsets.h> 24 #include <asm/page-states.h> 31 #include "kvm-s390.h" 36 vcpu->stat.instruction_ri++; in handle_ri() 38 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri() 40 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri() 49 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa() 52 return -EOPNOTSUPP; in kvm_s390_handle_aa() 57 vcpu->stat.instruction_gs++; in handle_gs() [all …]
|
| /kernel/linux/linux-6.6/arch/s390/kvm/ |
| D | intercept.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * in-kernel handling for sie intercepts 15 #include <asm/asm-offsets.h> 20 #include "kvm-s390.h" 23 #include "trace-s390.h" 27 struct kvm_s390_sie_block *sie_block = vcpu->arch.sie_block; in kvm_s390_get_ilen() 30 switch (vcpu->arch.sie_block->icptcode) { in kvm_s390_get_ilen() 37 ilen = insn_length(vcpu->arch.sie_block->ipa >> 8); in kvm_s390_get_ilen() 39 if (sie_block->icptstatus & 1) { in kvm_s390_get_ilen() 40 ilen = (sie_block->icptstatus >> 4) & 0x6; in kvm_s390_get_ilen() [all …]
|
| D | priv.c | 1 // SPDX-License-Identifier: GPL-2.0 17 #include <asm/asm-offsets.h> 23 #include <asm/page-states.h> 29 #include "kvm-s390.h" 34 vcpu->stat.instruction_ri++; in handle_ri() 36 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri() 38 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri() 47 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa() 50 return -EOPNOTSUPP; in kvm_s390_handle_aa() 55 vcpu->stat.instruction_gs++; in handle_gs() [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/qcom/ |
| 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,gcc-sm6350.h> 9 #include <dt-bindings/clock/qcom,gpucc-sm6350.h> 10 #include <dt-bindings/clock/qcom,rpmh.h> 11 #include <dt-bindings/clock/qcom,sm6350-camcc.h> 12 #include <dt-bindings/dma/qcom-gpi.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/interconnect/qcom,icc.h> 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> [all …]
|
| 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,gcc-sm8350.h> 10 #include <dt-bindings/clock/qcom,gpucc-sm8350.h> 11 #include <dt-bindings/clock/qcom,rpmh.h> 12 #include <dt-bindings/dma/qcom-gpi.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/interconnect/qcom,sm8350.h> [all …]
|
| 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,gcc-sc7180.h> 10 #include <dt-bindings/clock/qcom,gpucc-sc7180.h> 11 #include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h> 12 #include <dt-bindings/clock/qcom,rpmh.h> 13 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 14 #include <dt-bindings/interconnect/qcom,icc.h> 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> [all …]
|
| 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,gcc-sdm845.h> 11 #include <dt-bindings/clock/qcom,gpucc-sdm845.h> 12 #include <dt-bindings/clock/qcom,lpass-sdm845.h> 13 #include <dt-bindings/clock/qcom,rpmh.h> 14 #include <dt-bindings/clock/qcom,videocc-sdm845.h> 15 #include <dt-bindings/dma/qcom-gpi.h> 16 #include <dt-bindings/firmware/qcom,scm.h> [all …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/ |
| D | sc7180.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 8 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 9 #include <dt-bindings/clock/qcom,gcc-sc7180.h> 10 #include <dt-bindings/clock/qcom,gpucc-sc7180.h> 11 #include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h> 12 #include <dt-bindings/clock/qcom,rpmh.h> 13 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 14 #include <dt-bindings/interconnect/qcom,osm-l3.h> 15 #include <dt-bindings/interconnect/qcom,sc7180.h> 16 #include <dt-bindings/interrupt-controller/arm-gic.h> [all …]
|
| 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,gcc-sdm845.h> 11 #include <dt-bindings/clock/qcom,gpucc-sdm845.h> 12 #include <dt-bindings/clock/qcom,lpass-sdm845.h> 13 #include <dt-bindings/clock/qcom,rpmh.h> 14 #include <dt-bindings/clock/qcom,videocc-sdm845.h> 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> 16 #include <dt-bindings/interconnect/qcom,sdm845.h> [all …]
|