Lines Matching +full:ipa +full:- +full:reg
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.
13 struct ipa;
16 * DOC: IPA Registers
18 * IPA registers are located within the "ipa-reg" address space defined by
21 * space in ipa_mem_init(). All IPA registers are 32 bits wide.
24 * something. For example, each IPA endpoint has an set of registers
28 * computed by a function-like macro that takes a parameter used in the
59 * In some cases, different versions of IPA hardware use different offset or
60 * field mask values. In such cases an inline_function(ipa) is used rather
64 * cases the @available field in the @ipa structure defines the "full" set
141 /* The next two fields are present for IPA v4.0 and above */
152 /* ipa->available defines the valid bits in the STATE_AGGR_ACTIVE register */
154 /* The next register is present for IPA v4.2 and above */
198 /* ipa->available defines the valid bits in the AGGR_FORCE_CLOSE register */
211 return DIV_ROUND_CLOSEST(usec * TIMER_FREQUENCY, USEC_PER_SEC) - 1; in ipa_aggr_granularity_val()
215 /* The first three fields are present for IPA v3.5.1 only */
219 /* The next fields are present for IPA v4.0 and above */
226 /* The last two fields are present for IPA v4.2 and above */
297 /* Valid only for RX (IPA producer) endpoints */
301 /* Valid only for TX (IPA consumer) endpoints */
322 /* Valid only for RX (IPA producer) endpoints */
327 /* Valid only for RX (IPA producer) endpoints */
330 /* The next fields are present for IPA v4.2 only */
334 /* Valid only for TX (IPA consumer) endpoints */
346 /* Valid only for TX (IPA consumer) endpoints */
359 /* The next field is present for IPA v4.0 and above */
407 /* ipa->available defines the valid bits in the SUSPEND_INFO register */
413 /* ipa->available defines the valid bits in the SUSPEND_IRQ_EN register */
419 /* ipa->available defines the valid bits in the SUSPEND_IRQ_CLR register */
421 /** enum ipa_cs_offload_en - checksum offload field in ENDP_INIT_CFG_N */
429 /** enum ipa_aggr_en - aggregation enable field in ENDP_INIT_AGGR_N */
436 /** enum ipa_aggr_type - aggregation type field in in_ENDP_INIT_AGGR_N */
447 /** enum ipa_mode - mode field in ENDP_INIT_MODE_N */
456 * enum ipa_seq_type - HPS and DPS sequencer type fields in in ENDP_INIT_SEQ_N
468 * The values defined here are broken into 4-bit nibbles that are written
481 int ipa_reg_init(struct ipa *ipa);
482 void ipa_reg_exit(struct ipa *ipa);