public inbox for patches@lists.linux.dev
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Andrew Lunn <andrew@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.0 13/16] net: fec: dont reset irq coalesce settings to defaults on "ip link up"
Date: Thu, 15 Dec 2022 19:10:57 +0100	[thread overview]
Message-ID: <20221215172908.751517561@linuxfoundation.org> (raw)
In-Reply-To: <20221215172908.162858817@linuxfoundation.org>

From: Rasmus Villemoes <linux@rasmusvillemoes.dk>

[ Upstream commit df727d4547de568302b0ed15b0d4e8a469bdb456 ]

Currently, when a FEC device is brought up, the irq coalesce settings
are reset to their default values (1000us, 200 frames). That's
unexpected, and breaks for example use of an appropriate .link file to
make systemd-udev apply the desired
settings (https://www.freedesktop.org/software/systemd/man/systemd.link.html),
or any other method that would do a one-time setup during early boot.

Refactor the code so that fec_restart() instead uses
fec_enet_itr_coal_set(), which simply applies the settings that are
stored in the private data, and initialize that private data with the
default values.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/freescale/fec_main.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 5aa254eaa8d0..b71e0c32e351 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -72,7 +72,7 @@
 #include "fec.h"
 
 static void set_multicast_list(struct net_device *ndev);
-static void fec_enet_itr_coal_init(struct net_device *ndev);
+static void fec_enet_itr_coal_set(struct net_device *ndev);
 
 #define DRIVER_NAME	"fec"
 
@@ -1164,8 +1164,7 @@ fec_restart(struct net_device *ndev)
 		writel(0, fep->hwp + FEC_IMASK);
 
 	/* Init the interrupt coalescing */
-	fec_enet_itr_coal_init(ndev);
-
+	fec_enet_itr_coal_set(ndev);
 }
 
 static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled)
@@ -2771,19 +2770,6 @@ static int fec_enet_set_coalesce(struct net_device *ndev,
 	return 0;
 }
 
-static void fec_enet_itr_coal_init(struct net_device *ndev)
-{
-	struct ethtool_coalesce ec;
-
-	ec.rx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT;
-	ec.rx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT;
-
-	ec.tx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT;
-	ec.tx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT;
-
-	fec_enet_set_coalesce(ndev, &ec, NULL, NULL);
-}
-
 static int fec_enet_get_tunable(struct net_device *netdev,
 				const struct ethtool_tunable *tuna,
 				void *data)
@@ -3538,6 +3524,10 @@ static int fec_enet_init(struct net_device *ndev)
 	fep->rx_align = 0x3;
 	fep->tx_align = 0x3;
 #endif
+	fep->rx_pkts_itr = FEC_ITR_ICFT_DEFAULT;
+	fep->tx_pkts_itr = FEC_ITR_ICFT_DEFAULT;
+	fep->rx_time_itr = FEC_ITR_ICTT_DEFAULT;
+	fep->tx_time_itr = FEC_ITR_ICTT_DEFAULT;
 
 	/* Check mask of the streaming and coherent API */
 	ret = dma_set_mask_and_coherent(&fep->pdev->dev, DMA_BIT_MASK(32));
-- 
2.35.1




  parent reply	other threads:[~2022-12-15 18:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-15 18:10 [PATCH 6.0 00/16] 6.0.14-rc1 review Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 01/16] rtc: cmos: Fix event handler registration ordering issue Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 02/16] rtc: cmos: Fix wake alarm breakage Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 03/16] x86/vdso: Conditionally export __vdso_sgx_enter_enclave() Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 04/16] libbpf: Fix uninitialized warning in btf_dump_dump_type_data Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 05/16] rtc: cmos: fix build on non-ACPI platforms Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 06/16] ASoC: fsl_micfil: explicitly clear software reset bit Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 07/16] ASoC: fsl_micfil: explicitly clear CHnF flags Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 08/16] ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 09/16] libbpf: Use page size as max_entries when probing ring buffer map Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 10/16] pinctrl: meditatek: Startup with the IRQs disabled Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 11/16] can: sja1000: fix size of OCR_MODE_MASK define Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 12/16] can: mcba_usb: Fix termination command argument Greg Kroah-Hartman
2022-12-15 18:10 ` Greg Kroah-Hartman [this message]
2022-12-15 18:10 ` [PATCH 6.0 14/16] ASoC: cs42l51: Correct PGA Volume minimum value Greg Kroah-Hartman
2022-12-15 18:10 ` [PATCH 6.0 15/16] perf: Fix perf_pending_task() UaF Greg Kroah-Hartman
2022-12-15 18:11 ` [PATCH 6.0 16/16] nvme-pci: clear the prp2 field when not used Greg Kroah-Hartman
2022-12-15 23:45 ` [PATCH 6.0 00/16] 6.0.14-rc1 review Shuah Khan
2022-12-16  9:51 ` Bagas Sanjaya
2022-12-16 10:08 ` Allen Pais
2022-12-16 10:28 ` Naresh Kamboju
2022-12-16 11:13 ` Ron Economos
2022-12-16 13:05 ` Jon Hunter
2022-12-16 13:15 ` Sudip Mukherjee (Codethink)
2022-12-16 20:57 ` Florian Fainelli
2022-12-16 22:24 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221215172908.751517561@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=linux@rasmusvillemoes.dk \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox