diff options
author | Alex Elder <elder@linaro.org> | 2022-02-01 18:37:36 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-02-03 08:13:45 +0300 |
commit | ed23f02680caabea430a7688e22e9f7bc7b5e714 (patch) | |
tree | 725b180d1ce3c24a663ba906c8dd922ec9839fbe /drivers/net/ipa/ipa_data.h | |
parent | 52dae93f3bad842c6d585700460a0dea4d70e096 (diff) | |
download | linux-ed23f02680caabea430a7688e22e9f7bc7b5e714.tar.xz |
net: ipa: define per-endpoint receive buffer size
Allow RX endpoints to have differing receive buffer sizes. Define
the receive buffer size in the configuration data, and use that
rather than IPA_RX_BUFFER_SIZE when configuring the endpoint.
Add verification in ipa_endpoint_data_valid_one() that the receive
buffer specified for AP RX endpoints is both big enough to handle at
least one full packet, and not so big in an aggregating endpoint
that its size can't be represented when programming the hardware.
Move aggr_byte_limit_max() up in "ipa_endpoint.c" so it can be used
earlier in the file without a forward-reference.
Initially we'll just keep the 8KB receive buffer size already in use
for all AP RX endpoints..
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa/ipa_data.h')
-rw-r--r-- | drivers/net/ipa/ipa_data.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h index 6d329e9ce5d2..dbbeecf6df29 100644 --- a/drivers/net/ipa/ipa_data.h +++ b/drivers/net/ipa/ipa_data.h @@ -112,6 +112,7 @@ struct ipa_endpoint_tx_data { /** * struct ipa_endpoint_rx_data - configuration data for RX endpoints + * @buffer_size: requested receive buffer size (bytes) * @pad_align: power-of-2 boundary to which packet payload is aligned * @aggr_close_eof: whether aggregation closes on end-of-frame * @@ -125,6 +126,7 @@ struct ipa_endpoint_tx_data { * a "frame" consisting of several transfers has ended. */ struct ipa_endpoint_rx_data { + u32 buffer_size; u32 pad_align; bool aggr_close_eof; }; |