72 lines
2.5 KiB
Diff
72 lines
2.5 KiB
Diff
From: Arthur Kiyanovski <akiyano@amazon.com>
|
|
Date: Mon, 16 Sep 2019 14:31:30 +0300
|
|
Subject: [PATCH] net: ena: remove code duplication in
|
|
ena_com_update_nonadaptive_moderation_interval _*()
|
|
Origin: https://git.kernel.org/linus/57e3a5f24bb5bf265988e973a911845abcbf6a00
|
|
Bug-Debian: https://bugs.debian.org/941291
|
|
|
|
Remove code duplication in:
|
|
ena_com_update_nonadaptive_moderation_interval_tx()
|
|
ena_com_update_nonadaptive_moderation_interval_rx()
|
|
functions.
|
|
|
|
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/ethernet/amazon/ena/ena_com.c | 30 ++++++++++++-----------
|
|
1 file changed, 16 insertions(+), 14 deletions(-)
|
|
|
|
Index: linux/drivers/net/ethernet/amazon/ena/ena_com.c
|
|
===================================================================
|
|
--- linux.orig/drivers/net/ethernet/amazon/ena/ena_com.c
|
|
+++ linux/drivers/net/ethernet/amazon/ena/ena_com.c
|
|
@@ -2772,32 +2772,34 @@ bool ena_com_interrupt_moderation_suppor
|
|
ENA_ADMIN_INTERRUPT_MODERATION);
|
|
}
|
|
|
|
-int ena_com_update_nonadaptive_moderation_interval_tx(struct ena_com_dev *ena_dev,
|
|
- u32 tx_coalesce_usecs)
|
|
+static int ena_com_update_nonadaptive_moderation_interval(u32 coalesce_usecs,
|
|
+ u32 intr_delay_resolution,
|
|
+ u32 *intr_moder_interval)
|
|
{
|
|
- if (!ena_dev->intr_delay_resolution) {
|
|
+ if (!intr_delay_resolution) {
|
|
pr_err("Illegal interrupt delay granularity value\n");
|
|
return -EFAULT;
|
|
}
|
|
|
|
- ena_dev->intr_moder_tx_interval = tx_coalesce_usecs /
|
|
- ena_dev->intr_delay_resolution;
|
|
+ *intr_moder_interval = coalesce_usecs / intr_delay_resolution;
|
|
|
|
return 0;
|
|
}
|
|
|
|
+int ena_com_update_nonadaptive_moderation_interval_tx(struct ena_com_dev *ena_dev,
|
|
+ u32 tx_coalesce_usecs)
|
|
+{
|
|
+ return ena_com_update_nonadaptive_moderation_interval(tx_coalesce_usecs,
|
|
+ ena_dev->intr_delay_resolution,
|
|
+ &ena_dev->intr_moder_tx_interval);
|
|
+}
|
|
+
|
|
int ena_com_update_nonadaptive_moderation_interval_rx(struct ena_com_dev *ena_dev,
|
|
u32 rx_coalesce_usecs)
|
|
{
|
|
- if (!ena_dev->intr_delay_resolution) {
|
|
- pr_err("Illegal interrupt delay granularity value\n");
|
|
- return -EFAULT;
|
|
- }
|
|
-
|
|
- ena_dev->intr_moder_rx_interval = rx_coalesce_usecs /
|
|
- ena_dev->intr_delay_resolution;
|
|
-
|
|
- return 0;
|
|
+ return ena_com_update_nonadaptive_moderation_interval(rx_coalesce_usecs,
|
|
+ ena_dev->intr_delay_resolution,
|
|
+ &ena_dev->intr_moder_rx_interval);
|
|
}
|
|
|
|
void ena_com_destroy_interrupt_moderation(struct ena_com_dev *ena_dev)
|