Lines Matching +full:ipa +full:- +full:ap +full:- +full:to +full:- +full:modem
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.
16 * DOC: IPA/GSI Configuration Data
18 * Boot-time configuration data is used to define the configuration of the
19 * IPA and GSI resources to use for a given platform. This data is supplied
25 * Resources are data structures used internally by the IPA hardware. The
29 * Endpoint configuration data defines properties of both IPA endpoints and
31 * communication path between the IPA and a particular execution environment
32 * (EE), such as the AP or Modem. Each EE has a set of channels associated
34 * the only GSI channels of concern to this driver belong to the AP.
36 * An endpoint is an IPA construct representing a single channel anywhere
37 * in the system. An IPA endpoint ID maps directly to an (EE, channel_id)
39 * with the AP, however this will change when support for routing (etc.) is
40 * added. IPA endpoint and GSI channel configuration data are defined
41 * together, establishing the endpoint_id->(EE, channel_id) mapping.
44 * are common to IPA and GSI (EE ID, channel ID, endpoint ID, and direction);
46 * the IPA endpoint.
52 /** enum ipa_qsb_master_id - array index for IPA QSB configuration data */
59 * struct ipa_qsb_data - Qualcomm System Bus configuration data
62 * @max_reads_beats: Max outstanding read bytes in 8-byte "beats" (if non-zero)
67 u8 max_reads_beats; /* Not present for IPA v3.5.1 */
71 * struct gsi_channel_data - GSI channel configuration data
76 * A GSI channel is a unidirectional means of transferring data to or
77 * from (and through) the IPA. A GSI channel has a ring buffer made
79 * transfers or IPA immediate commands. TREs are filled by the AP,
80 * and control is passed to IPA hardware by writing the last written
84 * event (a structure of data) and optionally signals the AP with
86 * buffer, directed toward the AP from the IPA.
88 * The input to a GSI channel is a FIFO of type/length/value (TLV)
99 * struct ipa_endpoint_data - IPA endpoint configuration data
103 * Not all endpoints support the IPA filtering capability. A filter table
104 * defines the filters to apply for those endpoints that support it. The
105 * AP is responsible for initializing this table, and it must include entries
106 * for non-AP endpoints. For this reason we define *all* endpoints used
110 * configuration values that apply only to AP endpoints.
118 * struct ipa_gsi_endpoint_data - GSI channel/IPA endpoint data
121 * @endpoint_id: IPA endpoint ID
124 * @endpoint: IPA endpoint configuration data (see above)
137 * struct ipa_resource_limits - minimum and maximum resource counts
147 * struct ipa_resource - resource group source or destination resource usage
155 * struct ipa_resource_data - IPA resource configuration data
163 * In order to manage quality of service between endpoints, certain resources
164 * required for operation are allocated to groups of endpoints. Generally
165 * this information is invisible to the AP, but the AP is responsible for
178 * struct ipa_mem_data - description of IPA memory regions
180 * @local: array of IPA-local memory region descriptors
181 * @imem_addr: physical address of IPA region within IMEM
182 * @imem_size: size in bytes of IPA IMEM region
183 * @smem_id: item identifier for IPA region within SMEM memory
184 * @smem_size: size in bytes of the IPA SMEM region
196 * struct ipa_interconnect_data - description of IPA interconnect bandwidths
197 * @name: Interconnect name (matches interconnect-name in DT)
208 * struct ipa_power_data - description of IPA power configuration data
211 * @interconnect_data: IPA interconnect configuration data
220 * struct ipa_data - combined IPA/GSI configuration data
221 * @version: IPA hardware version
222 * @backward_compat: BCR register value (prior to IPA v4.5 only)
225 * @modem_route_count: number of modem entries in a routing table
227 * @endpoint_data: IPA endpoint/GSI channel data
228 * @resource_data: IPA resource configuration data
229 * @mem_data: IPA memory region data
230 * @power_data: IPA power data