All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work
@ 2020-09-29 20:09 Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 1/4] via-rhine: Fix for the hardware having a reset failure after resume Kevin Brace
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-29 20:09 UTC (permalink / raw)
  To: netdev; +Cc: Kevin Brace

I use via-rhine based Ethernet regularly, and the Ethernet dying
after resume was really annoying me.  I decided to take the
matter into my own hands, and came up with a fix for the Ethernet
disappearing after resume.  I will also want to take over the code
maintenance work for via-rhine.  The patches apply to the latest
code, but they should be backported to older kernels as well.

--
Kevin Brace (4):
  via-rhine: Fix for the hardware having a reset failure after resume
  via-rhine: VTunknown1 device is really VT8251 South Bridge
  via-rhine: Eliminate version information
  via-rhine: New device driver maintainer

 MAINTAINERS                          |  3 ++-
 drivers/net/ethernet/via/via-rhine.c | 21 ++++-----------------
 2 files changed, 6 insertions(+), 18 deletions(-)

--
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net v2 1/4] via-rhine: Fix for the hardware having a reset failure after resume
  2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
@ 2020-09-29 20:09 ` Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 2/4] via-rhine: VTunknown1 device is really VT8251 South Bridge Kevin Brace
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-29 20:09 UTC (permalink / raw)
  To: netdev; +Cc: Kevin Brace

From: Kevin Brace <kevinbrace@bracecomputerlab.com>

In rhine_resume() and rhine_suspend(), the code calls netif_running()
to see if the network interface is down or not.  If it is down (i.e.,
netif_running() returning false), they will skip any housekeeping work
within the function relating to the hardware.  This becomes a problem
when the hardware resumes from a standby since it is counting on
rhine_resume() to map its MMIO and power up rest of the hardware.
Not getting its MMIO remapped and rest of the hardware powered
up lead to a soft reset failure and hardware disappearance.  The
solution is to map its MMIO and power up rest of the hardware inside
rhine_open() before soft reset is to be performed.  This solution was
verified on ASUS P5V800-VM mainboard's integrated Rhine-II Ethernet
MAC inside VIA Technologies VT8251 South Bridge.

Signed-off-by: Kevin Brace <kevinbrace@bracecomputerlab.com>
---
 drivers/net/ethernet/via/via-rhine.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 803247d51fe9..a20492da3407 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -1706,6 +1706,8 @@ static int rhine_open(struct net_device *dev)
 		goto out_free_ring;

 	alloc_tbufs(dev);
+	enable_mmio(rp->pioaddr, rp->quirks);
+	rhine_power_init(dev);
 	rhine_chip_reset(dev);
 	rhine_task_enable(rp);
 	init_registers(dev);
--
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net v2 2/4] via-rhine: VTunknown1 device is really VT8251 South Bridge
  2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 1/4] via-rhine: Fix for the hardware having a reset failure after resume Kevin Brace
@ 2020-09-29 20:09 ` Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 3/4] via-rhine: Eliminate version information Kevin Brace
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-29 20:09 UTC (permalink / raw)
  To: netdev; +Cc: Kevin Brace

From: Kevin Brace <kevinbrace@bracecomputerlab.com>

The VIA Technologies VT8251 South Bridge's integrated Rhine-II
Ethernet MAC comes has a PCI revision value of 0x7c.  This was
verified on ASUS P5V800-VM mainboard.

Signed-off-by: Kevin Brace <kevinbrace@bracecomputerlab.com>
---
 drivers/net/ethernet/via/via-rhine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index a20492da3407..d3a2be2e75d0 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -243,7 +243,7 @@ enum rhine_revs {
 	VT8233		= 0x60,	/* Integrated MAC */
 	VT8235		= 0x74,	/* Integrated MAC */
 	VT8237		= 0x78,	/* Integrated MAC */
-	VTunknown1	= 0x7C,
+	VT8251		= 0x7C,	/* Integrated MAC */
 	VT6105		= 0x80,
 	VT6105_B0	= 0x83,
 	VT6105L		= 0x8A,
--
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net v2 3/4] via-rhine: Eliminate version information
  2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 1/4] via-rhine: Fix for the hardware having a reset failure after resume Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 2/4] via-rhine: VTunknown1 device is really VT8251 South Bridge Kevin Brace
@ 2020-09-29 20:09 ` Kevin Brace
  2020-09-29 20:09 ` [PATCH net v2 4/4] via-rhine: New device driver maintainer Kevin Brace
  2020-09-29 21:24 ` [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work David Miller
  4 siblings, 0 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-29 20:09 UTC (permalink / raw)
  To: netdev; +Cc: Kevin Brace

From: Kevin Brace <kevinbrace@bracecomputerlab.com>

Signed-off-by: Kevin Brace <kevinbrace@bracecomputerlab.com>
---
 drivers/net/ethernet/via/via-rhine.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index d3a2be2e75d0..8e8cfe110d95 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -32,8 +32,6 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

 #define DRV_NAME	"via-rhine"
-#define DRV_VERSION	"1.5.1"
-#define DRV_RELDATE	"2010-10-09"

 #include <linux/types.h>

@@ -117,10 +115,6 @@ static const int multicast_filter_limit = 32;
 #include <linux/uaccess.h>
 #include <linux/dmi.h>

-/* These identify the driver base version and may not be removed. */
-static const char version[] =
-	"v1.10-LK" DRV_VERSION " " DRV_RELDATE " Written by Donald Becker";
-
 MODULE_AUTHOR("Donald Becker <becker@scyld.com>");
 MODULE_DESCRIPTION("VIA Rhine PCI Fast Ethernet driver");
 MODULE_LICENSE("GPL");
@@ -1051,11 +1045,6 @@ static int rhine_init_one_pci(struct pci_dev *pdev,
 	u32 quirks = 0;
 #endif

-/* when built into the kernel, we only print version if device is found */
-#ifndef MODULE
-	pr_info_once("%s\n", version);
-#endif
-
 	rc = pci_enable_device(pdev);
 	if (rc)
 		goto err_out;
@@ -2296,7 +2285,6 @@ static void netdev_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *i
 	struct device *hwdev = dev->dev.parent;

 	strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
-	strlcpy(info->version, DRV_VERSION, sizeof(info->version));
 	strlcpy(info->bus_info, dev_name(hwdev), sizeof(info->bus_info));
 }

@@ -2618,9 +2606,6 @@ static int __init rhine_init(void)
 	int ret_pci, ret_platform;

 /* when a module, this is printed whether or not devices are found in probe */
-#ifdef MODULE
-	pr_info("%s\n", version);
-#endif
 	if (dmi_check_system(rhine_dmi_table)) {
 		/* these BIOSes fail at PXE boot if chip is in D3 */
 		avoid_D3 = true;
--
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net v2 4/4] via-rhine: New device driver maintainer
  2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
                   ` (2 preceding siblings ...)
  2020-09-29 20:09 ` [PATCH net v2 3/4] via-rhine: Eliminate version information Kevin Brace
@ 2020-09-29 20:09 ` Kevin Brace
  2020-09-29 21:24 ` [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work David Miller
  4 siblings, 0 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-29 20:09 UTC (permalink / raw)
  To: netdev; +Cc: Kevin Brace

From: Kevin Brace <kevinbrace@bracecomputerlab.com>

Signed-off-by: Kevin Brace <kevinbrace@bracecomputerlab.com>
---
 MAINTAINERS                          | 3 ++-
 drivers/net/ethernet/via/via-rhine.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 153f7b3419c8..3e5ae3185847 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18058,7 +18058,8 @@ F:	drivers/gpu/vga/vga_switcheroo.c
 F:	include/linux/vga_switcheroo.h

 VIA RHINE NETWORK DRIVER
-S:	Orphan
+S:	Maintained
+M:	Kevin Brace <kevinbrace@bracecomputerlab.com>
 F:	drivers/net/ethernet/via/via-rhine.c

 VIA SD/MMC CARD CONTROLLER DRIVER
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 8e8cfe110d95..55b0ddab1776 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -2,7 +2,7 @@
 /*
 	Written 1998-2001 by Donald Becker.

-	Current Maintainer: Roger Luethi <rl@hellgate.ch>
+	Current Maintainer: Kevin Brace <kevinbrace@bracecomputerlab.com>

 	This software may be used and distributed according to the terms of
 	the GNU General Public License (GPL), incorporated herein by reference.
--
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work
  2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
                   ` (3 preceding siblings ...)
  2020-09-29 20:09 ` [PATCH net v2 4/4] via-rhine: New device driver maintainer Kevin Brace
@ 2020-09-29 21:24 ` David Miller
  2020-09-30  1:09   ` Kevin Brace
  4 siblings, 1 reply; 7+ messages in thread
From: David Miller @ 2020-09-29 21:24 UTC (permalink / raw)
  To: kevinbrace; +Cc: netdev

From: Kevin Brace <kevinbrace@gmx.com>
Date: Tue, 29 Sep 2020 13:09:39 -0700

> I use via-rhine based Ethernet regularly, and the Ethernet dying
> after resume was really annoying me.  I decided to take the
> matter into my own hands, and came up with a fix for the Ethernet
> disappearing after resume.  I will also want to take over the code
> maintenance work for via-rhine.  The patches apply to the latest
> code, but they should be backported to older kernels as well.

Series applied, thank you.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work
  2020-09-29 21:24 ` [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work David Miller
@ 2020-09-30  1:09   ` Kevin Brace
  0 siblings, 0 replies; 7+ messages in thread
From: Kevin Brace @ 2020-09-30  1:09 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Hi David,

Thank you for the quick application of the fixes.

Regards,

Kevin Brace
Brace Computer Laboratory blog
https://bracecomputerlab.com


> Sent: Tuesday, September 29, 2020 at 2:24 PM
> From: "David Miller" <davem@davemloft.net>
> To: kevinbrace@gmx.com
> Cc: netdev@vger.kernel.org
> Subject: Re: [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work
>
> From: Kevin Brace Date: Tue, 29 Sep 2020 13:09:39 -0700 > I use via-rhine based Ethernet regularly, and the Ethernet dying > after resume was really annoying me. I decided to take the > matter into my own hands, and came up with a fix for the Ethernet > disappearing after resume. I will also want to take over the code > maintenance work for via-rhine. The patches apply to the latest > code, but they should be backported to older kernels as well. Series applied, thank you.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-09-30  1:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-29 20:09 [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work Kevin Brace
2020-09-29 20:09 ` [PATCH net v2 1/4] via-rhine: Fix for the hardware having a reset failure after resume Kevin Brace
2020-09-29 20:09 ` [PATCH net v2 2/4] via-rhine: VTunknown1 device is really VT8251 South Bridge Kevin Brace
2020-09-29 20:09 ` [PATCH net v2 3/4] via-rhine: Eliminate version information Kevin Brace
2020-09-29 20:09 ` [PATCH net v2 4/4] via-rhine: New device driver maintainer Kevin Brace
2020-09-29 21:24 ` [PATCH net v2 0/4] via-rhine: Resume fix and other maintenance work David Miller
2020-09-30  1:09   ` Kevin Brace

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.