diff options
author | Alex Elder <elder@linaro.org> | 2022-02-03 18:09:27 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-02-04 11:16:08 +0100 |
commit | 9654d8c462ce24fc39bbecccc4c9b972f5c1b5f5 (patch) | |
tree | 3eb002149563610279593eaa4d64865348471cea /drivers/net/ipa/ipa_endpoint.h | |
parent | net: ipa: replenish after delivering payload (diff) | |
download | linux-9654d8c462ce24fc39bbecccc4c9b972f5c1b5f5.tar.xz linux-9654d8c462ce24fc39bbecccc4c9b972f5c1b5f5.zip |
net: ipa: determine replenish doorbell differently
Rather than tracking the number of receive buffer transactions that
have been submitted without a doorbell, just track the total number
of transactions that have been issued. Then ring the doorbell when
that number modulo the replenish batch size is 0.
The effect is roughly the same, but the new count is slightly more
interesting, and this approach will someday allow the replenish
batch size to be tuned at runtime.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipa/ipa_endpoint.h')
-rw-r--r-- | drivers/net/ipa/ipa_endpoint.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ipa/ipa_endpoint.h b/drivers/net/ipa/ipa_endpoint.h index 9a37f9387f01..12fd5b16c18e 100644 --- a/drivers/net/ipa/ipa_endpoint.h +++ b/drivers/net/ipa/ipa_endpoint.h @@ -65,7 +65,7 @@ enum ipa_replenish_flag { * @evt_ring_id: GSI event ring used by the endpoint * @netdev: Network device pointer, if endpoint uses one * @replenish_flags: Replenishing state flags - * @replenish_ready: Number of replenish transactions without doorbell + * @replenish_count: Total number of replenish transactions committed * @replenish_work: Work item used for repeated replenish failures */ struct ipa_endpoint { @@ -84,7 +84,7 @@ struct ipa_endpoint { /* Receive buffer replenishing for RX endpoints */ DECLARE_BITMAP(replenish_flags, IPA_REPLENISH_COUNT); - u32 replenish_ready; + u64 replenish_count; struct delayed_work replenish_work; /* global wq */ }; |