Lines Matching +full:ipa +full:- +full:clock +full:- +full:enabled
1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2020 Linaro Ltd.
31 * enum ipa_flag - IPA state flags
33 * @IPA_FLAG_COUNT: Number of defined IPA flags
41 * struct ipa - IPA information
44 * @version: IPA hardware version
48 * @clock: IPA clocking information
51 * @interrupt: IPA Interrupt information
53 * @reg_addr: DMA address used for IPA register access
54 * @reg_virt: Virtual address used for IPA register access
55 * @mem_addr: DMA address of IPA-local memory space
56 * @mem_virt: Virtual address of IPA-local memory space
57 * @mem_offset: Offset from @mem_virt used for access to IPA memory
60 * @mem: Array of IPA-local memory region descriptors
61 * @imem_iova: I/O virtual address of IPA region in IMEM
63 * @smem_iova: I/O virtual address of IPA region in SMEM
65 * @zero_addr: DMA address of preallocated zero-filled memory
66 * @zero_virt: Virtual address of preallocated zero-filled memory
67 * @zero_size: Size (bytes) of preallocated zero-filled memory
73 * @enabled: Bit mask indicating endpoints enabled
75 * @channel_map: Mapping of GSI channel to IPA endpoint
76 * @name_map: Mapping of IPA endpoint name to IPA endpoint
82 struct ipa { struct
91 struct ipa_clock *clock; member
124 u32 enabled; member
138 * ipa_setup() - Perform IPA setup
139 * @ipa: IPA pointer argument
141 * IPA initialization is broken into stages: init; config; and setup.
145 * any access to IPA hardware. Activities performed at the config stage
146 * require the IPA clock to be running, because they involve access
147 * to IPA registers. The setup stage is performed only after the GSI
150 * commands" using a special interface to the IPA.
155 * loaded (in addition to some other low-level initialization). This early
168 int ipa_setup(struct ipa *ipa);