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-2022 Linaro Ltd.
31 * struct ipa - IPA information
33 * @version: IPA hardware version
35 * @completion: Used to signal pipeline clear transfer complete
39 * @power: IPA power information
42 * @interrupt: IPA Interrupt information
45 * @reg_addr: DMA address used for IPA register access
46 * @reg_virt: Virtual address used for IPA register access
47 * @regs: IPA register definitions
48 * @mem_addr: DMA address of IPA-local memory space
49 * @mem_virt: Virtual address of IPA-local memory space
50 * @mem_offset: Offset from @mem_virt used for access to IPA memory
53 * @mem: Array of IPA-local memory region descriptors
54 * @imem_iova: I/O virtual address of IPA region in IMEM
56 * @smem_iova: I/O virtual address of IPA region in SMEM
58 * @zero_addr: DMA address of preallocated zero-filled memory
59 * @zero_virt: Virtual address of preallocated zero-filled memory
60 * @zero_size: Size (bytes) of preallocated zero-filled memory
66 * @modem_tx_count: Number of defined modem TX endoints
68 * @channel_map: Mapping of GSI channel to IPA endpoint
69 * @name_map: Mapping of IPA endpoint name to IPA endpoint
71 * @modem_state: State of modem (stopped, running)
72 * @modem_netdev: Network device structure used for modem
75 struct ipa { struct
133 * ipa_setup() - Perform IPA setup
134 * @ipa: IPA pointer argument
136 * IPA initialization is broken into stages: init; config; and setup.
140 * any access to IPA hardware. Activities performed at the config stage
141 * require IPA power, because they involve access to IPA registers.
143 * (more on this below). The setup stage allows the AP to perform
145 * a special interface to the IPA.
149 * In order for the GSI hardware to be functional it needs firmware to be
150 * loaded (in addition to some other low-level initialization). This early
151 * GSI initialization can be done either by Trust Zone on the AP or by the
152 * modem.
154 * If it's done by Trust Zone, the AP loads the GSI firmware and supplies
155 * it to Trust Zone to verify and install. When this completes, if
159 * If the modem performs early GSI initialization, the AP needs to know
161 * and receipt of that interrupt triggers the call to ipa_setup().
163 int ipa_setup(struct ipa *ipa);