ipa_reg.h (f8bade6c9a6213c2c5ba6e5bf32415ecab6e41e5) | ipa_reg.h (8ee5df6598ff3c04f3842c87fa326d7cdbec9dd2) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2 3/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 5 */ 6#ifndef _IPA_REG_H_ 7#define _IPA_REG_H_ 8 --- 566 unchanged lines hidden (view full) --- 575 default: 576 return u32_encode_bits(rsrc_grp, GENMASK(1, 0)); 577 } 578} 579 580/* Valid only for TX (IPA consumer) endpoints */ 581#define IPA_REG_ENDP_INIT_SEQ_N_OFFSET(txep) \ 582 (0x0000083c + 0x0070 * (txep)) | 1/* SPDX-License-Identifier: GPL-2.0 */ 2 3/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 5 */ 6#ifndef _IPA_REG_H_ 7#define _IPA_REG_H_ 8 --- 566 unchanged lines hidden (view full) --- 575 default: 576 return u32_encode_bits(rsrc_grp, GENMASK(1, 0)); 577 } 578} 579 580/* Valid only for TX (IPA consumer) endpoints */ 581#define IPA_REG_ENDP_INIT_SEQ_N_OFFSET(txep) \ 582 (0x0000083c + 0x0070 * (txep)) |
583#define HPS_SEQ_TYPE_FMASK GENMASK(3, 0) 584#define DPS_SEQ_TYPE_FMASK GENMASK(7, 4) 585#define HPS_REP_SEQ_TYPE_FMASK GENMASK(11, 8) 586#define DPS_REP_SEQ_TYPE_FMASK GENMASK(15, 12) | 583#define SEQ_TYPE_FMASK GENMASK(7, 0) 584#define SEQ_REP_TYPE_FMASK GENMASK(15, 8) |
587 588/** | 585 586/** |
589 * enum ipa_seq_type - HPS and DPS sequencer type fields in ENDP_INIT_SEQ_N 590 * @IPA_SEQ_DMA_ONLY: only DMA is performed 591 * @IPA_SEQ_2ND_PKT_PROCESS_PASS_NO_DEC_UCP: 592 * second packet processing pass + no decipher + microcontroller 593 * @IPA_SEQ_PKT_PROCESS_NO_DEC_NO_UCP_DMAP: 594 * packet processing + no decipher + no uCP + HPS REP DMA parser 595 * @IPA_SEQ_INVALID: invalid sequencer type | 587 * enum ipa_seq_type - HPS and DPS sequencer type |
596 * | 588 * |
597 * The values defined here are broken into 4-bit nibbles that are written 598 * into fields of the ENDP_INIT_SEQ registers. | 589 * The low-order byte of the sequencer type register defines the number of 590 * passes a packet takes through the IPA pipeline. The last pass through can 591 * optionally skip the microprocessor. Deciphering is optional for all types; 592 * if enabled, an additional mask (two bits) is added to the type value. 593 * 594 * Note: not all combinations of ipa_seq_type and ipa_seq_rep_type are 595 * supported (or meaningful). |
599 */ | 596 */ |
597#define IPA_SEQ_DECIPHER 0x11 |
|
600enum ipa_seq_type { | 598enum ipa_seq_type { |
601 IPA_SEQ_DMA_ONLY = 0x0000, 602 IPA_SEQ_2ND_PKT_PROCESS_PASS_NO_DEC_UCP = 0x0004, 603 IPA_SEQ_PKT_PROCESS_NO_DEC_NO_UCP_DMAP = 0x0806, 604 IPA_SEQ_INVALID = 0xffff, | 599 IPA_SEQ_DMA = 0x00, 600 IPA_SEQ_1_PASS = 0x02, 601 IPA_SEQ_2_PASS_SKIP_LAST_UC = 0x04, 602 IPA_SEQ_1_PASS_SKIP_LAST_UC = 0x06, 603 IPA_SEQ_2_PASS = 0x0a, 604 IPA_SEQ_3_PASS_SKIP_LAST_UC = 0x0c, 605 IPA_SEQ_INVALID = 0x0c, |
605}; 606 | 606}; 607 |
608/** 609 * enum ipa_seq_rep_type - replicated packet sequencer type 610 * 611 * This goes in the second byte of the endpoint sequencer type register. 612 * 613 * Note: not all combinations of ipa_seq_type and ipa_seq_rep_type are 614 * supported (or meaningful). 615 */ 616enum ipa_seq_rep_type { 617 IPA_SEQ_REP_DMA_PARSER = 0x08, 618 IPA_SEQ_REP_INVALID = 0x0c, 619}; 620 |
|
607#define IPA_REG_ENDP_STATUS_N_OFFSET(ep) \ 608 (0x00000840 + 0x0070 * (ep)) 609#define STATUS_EN_FMASK GENMASK(0, 0) 610#define STATUS_ENDP_FMASK GENMASK(5, 1) 611/* The next field is not present for IPA v4.5 */ 612#define STATUS_LOCATION_FMASK GENMASK(8, 8) 613/* The next field is not present for IPA v3.5.1 */ 614#define STATUS_PKT_SUPPRESS_FMASK GENMASK(9, 9) --- 104 unchanged lines hidden --- | 621#define IPA_REG_ENDP_STATUS_N_OFFSET(ep) \ 622 (0x00000840 + 0x0070 * (ep)) 623#define STATUS_EN_FMASK GENMASK(0, 0) 624#define STATUS_ENDP_FMASK GENMASK(5, 1) 625/* The next field is not present for IPA v4.5 */ 626#define STATUS_LOCATION_FMASK GENMASK(8, 8) 627/* The next field is not present for IPA v3.5.1 */ 628#define STATUS_PKT_SUPPRESS_FMASK GENMASK(9, 9) --- 104 unchanged lines hidden --- |