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) 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
42 * @reg_virt: Virtual address used for IPA register access
43 * @regs: IPA register definitions
44 * @mem_addr: DMA address of IPA-local memory space
45 * @mem_virt: Virtual address of IPA-local memory space
46 * @mem_offset: Offset from @mem_virt used for access to IPA memory
49 * @mem: Array of IPA-local memory region descriptors
50 * @imem_iova: I/O virtual address of IPA region in IMEM
52 * @smem_iova: I/O virtual address of IPA region in SMEM
54 * @zero_addr: DMA address of preallocated zero-filled memory
55 * @zero_virt: Virtual address of preallocated zero-filled memory
56 * @zero_size: Size (bytes) of preallocated zero-filled memory
64 * @modem_tx_count: Number of defined modem TX endoints
66 * @channel_map: Mapping of GSI channel to IPA endpoint
67 * @name_map: Mapping of IPA endpoint name to IPA endpoint
69 * @modem_state: State of modem (stopped, running)
70 * @modem_netdev: Network device structure used for modem
73 struct ipa { struct
118 u64 filtered; /* Support filtering (AP and modem) */
135 * ipa_setup() - Perform IPA setup
136 * @ipa: IPA pointer argument
138 * IPA initialization is broken into stages: init; config; and setup.
142 * any access to IPA hardware. Activities performed at the config stage
143 * require IPA power, because they involve access to IPA registers.
145 * (more on this below). The setup stage allows the AP to perform
147 * a special interface to the IPA.
151 * In order for the GSI hardware to be functional it needs firmware to be
152 * loaded (in addition to some other low-level initialization). This early
153 * GSI initialization can be done either by Trust Zone on the AP or by the
154 * modem.
156 * If it's done by Trust Zone, the AP loads the GSI firmware and supplies
157 * it to Trust Zone to verify and install. When this completes, if
161 * If the modem performs early GSI initialization, the AP needs to know
163 * and receipt of that interrupt triggers the call to ipa_setup().
165 int ipa_setup(struct ipa *ipa);