Kernel 4.16

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

More success! I only need to replace the following files for solving the problem with the PA Semi PWRficient Gigabit Ethernet:

Code: Select all

cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/mdio_bus.c drivers/net/phy/mdio_bus.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/phy-core.c drivers/net/phy/phy-core.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/marvell.c drivers/net/phy/marvell.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/realtek.c drivers/net/phy/realtek.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/phy_device.c drivers/net/phy/phy_device.c
In my point of view, the problematic code is in the file drivers/net/phy/mdio_bus.c.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

I will check the changes in the file a/drivers/net/phy/mdio_bus.c.
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

I think I have solved the problem with the PA Semi PWRficient Gigabit Ethernet. :-)

Here you are!

Code: Select all

--- a/drivers/net/phy/mdio_bus.c	2018-02-03 17:34:46.973045321 +0100
+++ b/drivers/net/phy/mdio_bus.c	2018-02-04 11:03:14.909093360 +0100
@@ -47,41 +47,11 @@
 
 #include "mdio-boardinfo.h"
 
-static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
-{
-	struct gpio_desc *gpiod = NULL;
-
-	/* Deassert the optional reset signal */
-	if (mdiodev->dev.of_node)
-		gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
-					       "reset-gpios", 0, GPIOD_OUT_LOW,
-					       "PHY reset");
-	if (PTR_ERR(gpiod) == -ENOENT)
-		gpiod = NULL;
-	else if (IS_ERR(gpiod))
-		return PTR_ERR(gpiod);
-
-	mdiodev->reset = gpiod;
-
-	/* Assert the reset signal again */
-	mdio_device_reset(mdiodev, 1);
-
-	return 0;
-}
-
 int mdiobus_register_device(struct mdio_device *mdiodev)
 {
-	int err;
-
 	if (mdiodev->bus->mdio_map[mdiodev->addr])
 		return -EBUSY;
 
-	if (mdiodev->flags & MDIO_DEVICE_FLAG_PHY) {
-		err = mdiobus_register_gpiod(mdiodev);
-		if (err)
-			return err;
-	}
-
 	mdiodev->bus->mdio_map[mdiodev->addr] = mdiodev;
 
 	return 0;
I will test it with the latest git kernel version.
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

xeno74 wrote: I will test it with the latest git kernel version.
Hi All,

I have compiled the latest Git kernel without the 'mdio_bus.patch'. Without this patch the PA Semi PWRficient Gigabit Ethernet doesn't work. After patching with the 'mdio_bus.patch' and compiling the kernel, the PA Semi PWRficient Gigabit Ethernet works without any problems.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

I reported the issue with the PA Semi PWRficient Gigabit Ethernet on the following mailing lists today:
Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

I compiled the alpha5 yesterday.

New:
Issue:
  • The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download: vmlinux-4.16-alpha5-AmigaOne_X1000_X5000.tar.gz

Screenshot of Debian Buster/Sid PPC64 with the kernel 4.16-alpha5:

Image

Please test the alpha5.

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

FYI:

Cloning the Linux Git without version history:

Code: Select all

git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
With --depth=1 you download only the latest version of the Linux git repository. This saves storage space. ;-)

Latest Radeon firmwares for ubuntu MATE 16.04.3 LTS PowerPC Xenial Xerus: linux-firmware (1.157.15)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

Andrew Lunn created a new patch for solving the problem with the PA Semi PWRficient Gigabit Ethernet yesterday.

mdio_bus-v2.patch:

Code: Select all

 drivers/net/phy/mdio_bus.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 88272b3ac2e2..24b5511222c8 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -56,7 +56,8 @@ static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
 		gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
 					       "reset-gpios", 0, GPIOD_OUT_LOW,
 					       "PHY reset");
-	if (PTR_ERR(gpiod) == -ENOENT)
+	if (PTR_ERR(gpiod) == -ENOENT ||
+	    PTR_ERR(gpiod) == -ENOSYS)
 		gpiod = NULL;
 	else if (IS_ERR(gpiod))
 		return PTR_ERR(gpiod);
I compiled the latest git kernel today and the PA Semi PWRficient Gigabit Ethernet works with his patch. :-)

Further information:
Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

I released the alpha6 for the X5000 and X1000 today.

New:
Issue:
  • The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download: vmlinux-4.16-alpha6-AmigaOne_X1000_X5000.tar.gz

Screenshot of Lubuntu 16.04.3 LTS PowerPC with the new kernel 4.16-alpha6 and with Mesa 17.2.8:

Image

Please test the alpha6.

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9320
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.16

Post by xeno74 »

Hi All,

I compiled the alpha7 for the X5000 and X1000 yesterday.

New:
Issue:
  • The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download: vmlinux-4.16-alpha7-AmigaOne_X1000_X5000.tar.gz

Screenshot of Lubuntu 16.04.3 Netbook version LTS PowerPC with the new kernel 4.16-alpha7:

Image

Please test the alpha7.

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply