Home
last modified time | relevance | path

Searched +full:ipa +full:- +full:modem +full:- +full:to +full:- +full:ap (Results 1 – 19 of 19) sorted by relevance

/linux/drivers/net/ipa/
H A Dipa_qmi.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
11 #include "ipa.h"
17 * DOC: AP/Modem QMI Handshake
19 * The AP and modem perform a "handshake" at initialization time to ensure
20 * both sides know when everything is ready to begin operating. The AP
22 * using a service on the modem, and server to service modem requests (and
23 * to supply an indication message from the AP). Once the handshake is
24 * complete, the AP and modem may begin IPA operation. This occurs
[all …]
H A 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 …]
H A Dipa_smp2p.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.
16 #include "ipa.h"
21 * DOC: IPA SMP2P communication with the modem
23 * SMP2P is a primitive communication mechanism available between the AP and
24 * the modem. The IPA driver uses this for two purposes: to enable the modem
25 * to state that the GSI hardware is ready to use; and to communicate the
26 * state of IPA power in the event of a crash.
28 * GSI needs to have early initialization completed before it can be used.
[all …]
H A Dipa_qmi_msg.h1 /* 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 */
26 * the message size to be provided.
28 #define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */
29 #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */
[all …]
H A 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
41 * to the application processor (AP), but is also connected (and partially
42 * controlled by) other "execution environments" (EEs), such as a modem.
44 * The IPA is the conduit between the AP and the modem that carries network
46 * connection of the modem to external (e.g. LTE) networks.
[all …]
H A Dipa.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.
25 * struct ipa - IPA information
27 * @version: IPA hardware version
28 * @dev: IPA device pointer
29 * @completion: Used to signal pipeline clear transfer complete
33 * @power: IPA power information
37 * @modem_route_count: Number of modem entries in a routing table
39 * @interrupt: IPA Interrupt information
[all …]
H A Dipa_qmi.h1 /* SPDX-License-Identifier: GPL-2.0 */
4 * Copyright (C) 2018-2024 Linaro Ltd.
14 struct ipa;
17 * struct ipa_qmi - QMI state associated with an IPA
18 * @client_handle: Used to send an QMI requests to the modem
19 * @server_handle: Used to handle QMI requests from the modem
20 * @modem_sq: QMAP socket address for the modem QMI server
45 * ipa_qmi_setup() - Set up for QMI message exchange
46 * @ipa: IPA pointer
48 * This is called at the end of ipa_setup(), to prepare for the exchange
[all …]
H A Dipa_table.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
11 struct ipa;
14 * ipa_filtered_valid() - Validate a filter table endpoint bitmap
15 * @ipa: IPA pointer
16 * @filtered: Filter table endpoint bitmap to check
20 bool ipa_filtered_valid(struct ipa *ipa, u64 filtered);
23 * ipa_table_hash_support() - Return true if hashed tables are supported
24 * @ipa: IPA pointer
[all …]
H A Dipa_uc.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
9 struct ipa;
12 * ipa_uc_interrupt_handler() - Handler for microcontroller IPA interrupts
13 * @ipa: IPA pointer
14 * @irq_id: IPA interrupt ID
16 void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id);
19 * ipa_uc_config() - Configure the IPA microcontroller subsystem
20 * @ipa: IPA pointer
[all …]
H A 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
27 * other than data transfer to another endpoint.
31 * has a well-defined format, having a payload of a known length. This
[all …]
H A Dgsi.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2024 Linaro Ltd.
37 * A channel ring consists of TRE entries filled by the AP and passed
38 * to the hardware for processing. For a channel ring, the ring index
39 * identifies the next unused entry to be filled by the AP. In this
40 * case the initial value is assumed by hardware to be 0.
43 * and passed to the AP. For event rings, the ring index identifies
44 * the next ring entry that is not known to have been filled by the
51 * but taken from a fixed-size pool. The number of elements required for
[all …]
H A 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 …]
H A 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.
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 |
35 * | +--. | | .->+ |
[all …]
/linux/Documentation/devicetree/bindings/net/
H A 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 <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
19 a Generic Software Interface (GSI) to each execution environment.
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-devices-platform-soc-ipa1 What: /sys/devices/platform/soc@X/XXXXXXX.ipa/
6 The /sys/devices/platform/soc@X/XXXXXXX.ipa/ directory
7 contains read-only attributes exposing information about
8 an IPA device. The X values could vary, but are typically
9 "soc@0/1e40000.ipa".
11 What: .../XXXXXXX.ipa/version
16 The .../XXXXXXX.ipa/version file contains the IPA hardware
17 version, as a period-separated set of two or three integers
20 What: .../XXXXXXX.ipa/feature/
25 The .../XXXXXXX.ipa/feature/ directory contains a set of
[all …]
/linux/arch/arm64/boot/dts/qcom/
H A Dsc7180-trogdor-lte-sku.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9 label = "proximity-wifi-lte";
17 firmware-name = "qcom/sc7180-trogdor/modem/mba.mbn",
18 "qcom/sc7180-trogdor/modem/qdsp6sw.mbn";
21 &ipa {
24 * modem needs to cover certain init steps (GSI init), and
25 * the AP needs to wait for it.
27 qcom,gsi-loader = "modem";
H A Dsdx75.dtsi1 // 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 …]
/linux/arch/arm/boot/dts/qcom/
H A 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/
H A DMAINTAINERS5 ---------------------------------------------------
7 M: *Mail* patches to: FullName <address@domain>
10 L: *Mailing list* that is relevant to this area
12 Supported: Someone is actually paid to look after this.
14 Odd Fixes: It has a maintainer but they don't have time to do
21 W: *Web-page* with status/info
23 B: URI for where to file *bugs*. A web-page with detailed bug
28 patches to the given subsystem. This is either an in-tree file,
29 or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
46 N: [^a-z]tegra all files whose path contains tegra
[all …]