Lines Matching +full:ipa +full:- +full:setup +full:- +full:ready
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
39 * @power: IPA power information
45 * @interrupt: IPA Interrupt information
47 * @uc_loaded: true after microcontroller has reported it's ready
48 * @reg_virt: Virtual address used for IPA register access
49 * @regs: IPA register definitions
50 * @mem_addr: DMA address of IPA-local memory space
51 * @mem_virt: Virtual address of IPA-local memory space
52 * @mem_offset: Offset from @mem_virt used for access to IPA memory
55 * @mem: Array of IPA-local memory region descriptors
56 * @imem_iova: I/O virtual address of IPA region in IMEM
58 * @smem_iova: I/O virtual address of IPA region in SMEM
60 * @zero_addr: DMA address of preallocated zero-filled memory
61 * @zero_virt: Virtual address of preallocated zero-filled memory
62 * @zero_size: Size (bytes) of preallocated zero-filled memory
72 * @channel_map: Mapping of GSI channel to IPA endpoint
73 * @name_map: Mapping of IPA endpoint name to IPA endpoint
74 * @setup_complete: Flag indicating whether setup stage has completed
79 struct ipa { struct
141 * ipa_setup() - Perform IPA setup
142 * @ipa: IPA pointer argument
144 * IPA initialization is broken into stages: init; config; and setup.
148 * any access to IPA hardware. Activities performed at the config stage
149 * require IPA power, because they involve access to IPA registers.
150 * The setup stage is performed only after the GSI hardware is ready
151 * (more on this below). The setup stage allows the AP to perform
153 * a special interface to the IPA.
155 * This function, @ipa_setup(), starts the setup stage.
158 * loaded (in addition to some other low-level initialization). This early
164 * verification was successful, the GSI layer is ready and ipa_setup()
165 * implements the setup phase of initialization.
171 int ipa_setup(struct ipa *ipa);