Kernel 4.00 (3.20)

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

Re: Kernel 4.00 (3.20)

Post by xeno74 »

xeno74 wrote: Zzd10h reported a problem with the PASEMI (Vitesse VSC8221) network chip yesterday. At boot, there was a message "eth0: Could not attach to phy" and a notification "Wire network is unplugged" on the desktop. But the network with the PASEMI network chip worked without any problems. The earlier RCs don't have this issue.
I have figured out, that the new address configuration for the device-tree is responsible for the behavior of the PASEMI network chip. The kernel developers changed the source code for the address configuration last week because it was a historical hack that treated missing ranges properties as the equivalent of an empty one. But our A1-X1000 needs this hack. I have reverted the changes today and now, the PASEMI network chip works without this strange behavior.

Code: Select all

diff -rupN linux-3.18/drivers/of/address.c linux-3.18-nemo/drivers/of/address.c
--- linux-3.18/drivers/of/address.c	2014-11-24 00:25:20.000000000 +0100
+++ linux-3.18-nemo/drivers/of/address.c	2014-11-17 01:36:20.000000000 +0100
@@ -450,21 +450,6 @@ static struct of_bus *of_match_bus(struc
 	return NULL;
 }
 
-static int of_empty_ranges_quirk(void)
-{
-	if (IS_ENABLED(CONFIG_PPC)) {
-		/* To save cycles, we cache the result */
-		static int quirk_state = -1;
-
-		if (quirk_state < 0)
-			quirk_state =
-				of_machine_is_compatible("Power Macintosh") ||
-				of_machine_is_compatible("MacRISC");
-		return quirk_state;
-	}
-	return false;
-}
-
 static int of_translate_one(struct device_node *parent, struct of_bus *bus,
 			    struct of_bus *pbus, __be32 *addr,
 			    int na, int ns, int pna, const char *rprop)
@@ -490,10 +475,12 @@ static int of_translate_one(struct devic
 	 * This code is only enabled on powerpc. --gcl
 	 */
 	ranges = of_get_property(parent, rprop, &rlen);
-	if (ranges == NULL && !of_empty_ranges_quirk()) {
+#if !defined(CONFIG_PPC)
+	if (ranges == NULL) {
 		pr_err("OF: no ranges; cannot translate\n");
 		return 1;
 	}
+#endif /* !defined(CONFIG_PPC) */
 	if (ranges == NULL || rlen == 0) {
 		offset = of_read_number(addr, na);
 		memset(addr, 0, pna * 4);
New Nemo patch:
The attachment nemo_3.18-3.patch.zip is no longer available
Download RC6-2: vmlinux-3.18.0-rc6-2-KVM-PR-OVERLAYFS-AMIGA_one_X1000.tar.bz2
Hi All,

The kernel developers solved the problem with the address configuration for the device-tree four days ago. That means, we don't need to patch the file address.c.

Code: Select all

List:       git-commits-head
Subject:    drivers/of: Add empty ranges quirk for PA-Semi
From:       "Linux Kernel Mailing List" <linux-kernel () vger ! kernel ! org>
Date:       2015-04-03 18:09:46
Message-ID: 20150403180946.891C1660CC0 () gitolite ! kernel ! org
[Download message RAW]

Gitweb:     http://git.kernel.org/linus/;a=commit;h=41d9489319f28f06cf51731131bc353d5a6bce59
Commit:     41d9489319f28f06cf51731131bc353d5a6bce59
Parent:     bc465aa9d045feb0e13b4a8f32cc33c1943f62d6
Refname:    refs/heads/master
Author:     Benjamin Herrenschmidt <benh@kernel.crashing.org>
AuthorDate: Mon Mar 23 14:16:38 2015 +1100
Committer:  Grant Likely <grant.likely@linaro.org>
CommitDate: Fri Mar 27 19:31:16 2015 -0700

    drivers/of: Add empty ranges quirk for PA-Semi
    
    The "sdc" node is missing the ranges property, it needs to be treated
    as having an empty one otherwise translation fails for its children.
    
    Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack"
    
    Tested-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Grant Likely <grant.likely@linaro.org>
    Cc: Stable <stable@vger.kernel.org> # v3.18+
---
 drivers/of/address.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/of/address.c b/drivers/of/address.c
index ad29069..78a7dcb 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -450,12 +450,17 @@ static struct of_bus *of_match_bus(struct device_node *np)
 	return NULL;
 }
 
-static int of_empty_ranges_quirk(void)
+static int of_empty_ranges_quirk(struct device_node *np)
 {
 	if (IS_ENABLED(CONFIG_PPC)) {
-		/* To save cycles, we cache the result */
+		/* To save cycles, we cache the result for global "Mac" setting */
 		static int quirk_state = -1;
 
+		/* PA-SEMI sdc DT bug */
+		if (of_device_is_compatible(np, "1682m-sdc"))
+			return true;
+
+		/* Make quirk cached */
 		if (quirk_state < 0)
 			quirk_state =
 				of_machine_is_compatible("Power Macintosh") ||
@@ -490,7 +495,7 @@ static int of_translate_one(struct device_node *parent, struct of_bus *bus,
 	 * This code is only enabled on powerpc. --gcl
 	 */
 	ranges = of_get_property(parent, rprop, &rlen);
-	if (ranges == NULL && !of_empty_ranges_quirk()) {
+	if (ranges == NULL && !of_empty_ranges_quirk(parent)) {
 		pr_debug("OF: no ranges; cannot translate\n");
 		return 1;
 	}
I created a new Nemo patch for the RC7 today.

Download:
nemo_4.0-4.patch.zip
(8.17 KiB) Downloaded 725 times
Rgds,

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

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

Re: Kernel 4.00 (3.20)

Post by xeno74 »

I released the RC7 today. Please test the network connections because of the solved problem.

Download: vmlinux-4.0-rc7-AMIGA_one_X1000.tar.bz2
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
zzd10h
Posts: 546
Joined: Sun Sep 16, 2012 5:40 am
Location: France

Re: Kernel 4.00 (3.20)

Post by zzd10h »

Yes, it works !

Nothing related, but since 2 or 3 kernel tests, I have to FAT32 reformat my CF with gparted otherwise CFE doesn't load the vmlinux-xx file.
Hopefully I have no problem with my USB stick.

Is somebody encounter this annoying problem ?
Attachments
Capture d’écran_2015-04-07_21-42-10.png
http://apps.amistore.net/zTools
X1000 - AmigaOS 4.1.6 / 4.1 FE
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.00 (3.20)

Post by xeno74 »

zzd10h wrote:Yes, it works !

Nothing related, but since 2 or 3 kernel tests, I have to FAT32 reformat my CF with gparted otherwise CFE doesn't load the vmlinux-xx file.
Hopefully I have no problem with my USB stick.

Is somebody encounter this annoying problem ?
Hi zzd10h,

Thank you for testing! I use a FAT16 formatted SanDisk CF card with 256MB without any problems many years. I write or delete a lot on this CF card because of the kernel development. I think FAT16 is the solution. ;-)

Image

Cheers,

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

Running Linux on AmigaONEs can require some tinkering.
zzd10h
Posts: 546
Joined: Sun Sep 16, 2012 5:40 am
Location: France

Re: Kernel 4.00 (3.20)

Post by zzd10h »

Thank you for the tip,
i will try to remember to FAT16 reformat next time that I will retest one of your kernel
http://apps.amistore.net/zTools
X1000 - AmigaOS 4.1.6 / 4.1 FE
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.00 (3.20)

Post by xeno74 »

A-EON_Tux.jpg
Linus Torvalds released the Linux 4.0 kernel final today. Many thanks to our beta testers for testing the alphas and release candidates. We're already looking forward to test the alphas and release candidates of the next kernel 4.1.

Linux 4.0 Kernel Released - phoronix

Linux 4.0 released - release announcement by Linus Torvalds

Download: vmlinux-4.0-AMIGA_one_X1000.tar.bz2
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
zzd10h
Posts: 546
Joined: Sun Sep 16, 2012 5:40 am
Location: France

Re: Kernel 4.00 (3.20)

Post by zzd10h »

It works on my 15.04.

Of course, no 3D with my R7-250X but no network problem.

For info, yes, to FAT16-format the CF works ;)
Attachments
Capture d’écran_2015-04-13_20-31-32.png
http://apps.amistore.net/zTools
X1000 - AmigaOS 4.1.6 / 4.1 FE
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.00 (3.20)

Post by xeno74 »

zzd10h wrote:It works on my 15.04.

Of course, no 3D with my R7-250X but no network problem.

For info, yes, to FAT16-format the CF works ;)
Thank you for testing!
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

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

Re: Kernel 4.00 (3.20)

Post by xeno74 »

Canonical_Ubuntu_kernel_4.0.7_A1-X1000.png
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

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

Re: Kernel 4.00 (3.20)

Post by xeno74 »

xeno74 wrote:
Canonical_Ubuntu_kernel_4.0.7_A1-X1000.png
Hi All,

Pat released the kernel 4.0.7 for the A-EON Live Remix DVD five days ago. It also works with installed Linux distributions. ;-)

Download: linux-4.0.7-livedvd.tar.bz2

Cheers,

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

Running Linux on AmigaONEs can require some tinkering.
Post Reply