aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ipa/ipa_data.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2021-03-20 10:57:06 -0500
committerDavid S. Miller <davem@davemloft.net>2021-03-20 18:56:18 -0700
commit1690d8a75d873bf3c45ddce319f4902956d84bb0 (patch)
tree7d97d43f224e8f6a9b6ae61f44498bdd5b42752a /drivers/net/ipa/ipa_data.h
parentnet: ipa: split sequencer type in two (diff)
downloadwireguard-linux-1690d8a75d873bf3c45ddce319f4902956d84bb0.tar.xz
wireguard-linux-1690d8a75d873bf3c45ddce319f4902956d84bb0.zip
net: ipa: sequencer type is for TX endpoints only
We only program the sequencer type for TX endpoints. So move the definition of the sequencer type fields into the TX-specific portion of the endpoint configuration data. There's no need to maintain this in the IPA structure; we can extract it from the configuration data it points to in the one spot it's needed. We previously specified the sequencer type for RX endpoints with INVALID values. These are no longer needed, so get rid of them. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipa/ipa_data.h')
-rw-r--r--drivers/net/ipa/ipa_data.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h
index 8808941f44af..caf9b3f9577e 100644
--- a/drivers/net/ipa/ipa_data.h
+++ b/drivers/net/ipa/ipa_data.h
@@ -97,12 +97,16 @@ struct gsi_channel_data {
/**
* struct ipa_endpoint_tx_data - configuration data for TX endpoints
+ * @seq_type: primary packet processing sequencer type
+ * @seq_rep_type: sequencer type for replication processing
* @status_endpoint: endpoint to which status elements are sent
*
* The @status_endpoint is only valid if the endpoint's @status_enable
* flag is set.
*/
struct ipa_endpoint_tx_data {
+ enum ipa_seq_type seq_type;
+ enum ipa_seq_rep_type seq_rep_type;
enum ipa_endpoint_name status_endpoint;
};
@@ -154,8 +158,6 @@ struct ipa_endpoint_config_data {
/**
* struct ipa_endpoint_data - IPA endpoint configuration data
* @filter_support: whether endpoint supports filtering
- * @seq_type: primary packet processing sequencer type
- * @seq_rep_type: sequencer type for replication processing
* @config: hardware configuration (see above)
*
* Not all endpoints support the IPA filtering capability. A filter table
@@ -165,15 +167,10 @@ struct ipa_endpoint_config_data {
* in the system, and indicate whether they support filtering.
*
* The remaining endpoint configuration data applies only to AP endpoints.
- * The IPA hardware is implemented by sequencers, and the AP must program
- * the type(s) of these sequencers at initialization time. The remaining
- * endpoint configuration data is defined above.
*/
struct ipa_endpoint_data {
bool filter_support;
- /* The next three are specified only for AP endpoints */
- enum ipa_seq_type seq_type;
- enum ipa_seq_rep_type seq_rep_type;
+ /* Everything else is specified only for AP endpoints */
struct ipa_endpoint_config_data config;
};