Kernel 4.8

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
kilaueabart
Posts: 1070
Joined: Mon Mar 05, 2012 2:36 am

Re: Kernel 4.8

Post by kilaueabart »

xeno74 wrote: I tested the RC1 a lot. Everything works.
Not sure about "everything," but I am writing this from my RC1-booted ubuntu MATE 16.10, which proves I can boot with it.

Test results:
  • ...
  • LAN works (Realtek RTL-8139 and PA Semi PWRficient Gigabit Ethernet)
    ...
  • Internal CF card works
    ...
  • It works with the new systemd on ubuntu MATE 16.10
That PWRficient Gigabit thing is the one that has caused me trouble and I have edited it off. Should I turn it on temporarily and retest RC-1? Realtek RTL-8100/8101L/8139 is what I regularly use, and it is working well enough for Firefox anyway.

I'm about to test "restart" and see if RC1 works just as well with MATE 16.04

Is "internal" CF card just the regular "CF CARD"? If so, it works for me, too.

I'm not sure about "systemd." My 16.10 is the result of following your instructions to upgrade a 16.04, plus some further upgrades.
User avatar
kilaueabart
Posts: 1070
Joined: Mon Mar 05, 2012 2:36 am

Re: Kernel 4.8

Post by kilaueabart »

Surprise! Kernel 4.8 RC-1 boots my MATE 16.04 too, and probably a good minute or two faster.

I have been using 4.1 (.29, I think) exclusively for this MATE. Should I switch to something newer, like 4.8?
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.8

Post by xeno74 »

kilaueabart wrote:Surprise! Kernel 4.8 RC-1 boots my MATE 16.04 too, and probably a good minute or two faster.

I have been using 4.1 (.29, I think) exclusively for this MATE. Should I switch to something newer, like 4.8?
Hi Kilaueabart,

Thanks a lot for testing! :-) I think it's better to wait till the final 4.8 release.

Cheers,

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.8

Post by xeno74 »

kilaueabart wrote: That PWRficient Gigabit thing is the one that has caused me trouble and I have edited it off. Should I turn it on temporarily and retest RC-1?
Yes, please turn it on temporarily.
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.8

Post by xeno74 »

New in the Nemo patch:

Code: Select all

--- a/drivers/i2c/busses/i2c-pasemi.c
+++ b/drivers/i2c/busses/i2c-pasemi.c
@@ -365,7 +365,7 @@ static int pasemi_smb_probe(struct pci_dev *dev,
 	smbus->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
 	smbus->adapter.algo = &smbus_algorithm;
 	smbus->adapter.algo_data = smbus;
-	smbus->adapter.nr = PCI_FUNC(dev->devfn);
+	smbus->adapter.nr = -1;
 
 	/* set up the sysfs linkage to our parent device */
 	smbus->adapter.dev.parent = &dev->dev;
@@ -373,7 +373,7 @@ static int pasemi_smb_probe(struct pci_dev *dev,
 	reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
 		  (CLK_100K_DIV & CTL_CLK_M)));
 
-	error = i2c_add_numbered_adapter(&smbus->adapter);
+	error = i2c_add_adapter(&smbus->adapter);
 	if (error)
 		goto out_release_region;
 
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 8aa1976..3af6ca4 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -488,6 +488,7 @@ int of_platform_populate(struct device_node *root,
 }
 EXPORT_SYMBOL_GPL(of_platform_populate);
 
+#ifndef CONFIG_PPC
 int of_platform_default_populate(struct device_node *root,
 				 const struct of_dev_auxdata *lookup,
 				 struct device *parent)
@@ -496,6 +497,7 @@ int of_platform_default_populate(struct device_node *root,
 				    parent);
 }
 EXPORT_SYMBOL_GPL(of_platform_default_populate);
+#endif
 
 static int __init of_platform_default_populate_init(void)
 {
@@ -515,8 +517,10 @@ static int __init of_platform_default_populate_init(void)
 			of_platform_device_create(node, NULL, NULL);
 	}
 
+#ifndef CONFIG_PPC
 	/* Populate everything else. */
 	of_platform_default_populate(NULL, NULL, NULL);
+#endif
 
 	return 0;
 }
Darren about the i2c/SMBus patch:
Darren wrote: The pasemi smbus controller uses PCI_FUNC(dev->devfn) to define which
number bus to attach to, however this fails when something else is
probed first, for example an ATI Radeon graphics card will claim 9 or
10 busses, including the ones the pasemi wants.
Patch the driver to call i2c_add_adapter rather than
i2c_add_numbered_adapter.

Signed-off-by: Darren Stevens <darren@stevens-zone.net>

---

I've tested this on my X1000, and can now see the pasemi busses when I
run i2cdetect, and can even see devices on bus 0, but as this is probably
the first time we've had this working, more testing will be needed.

I don't know why the bus tries to use bus numbers 0-2, I couldn't see
any reason, maybe Olof has an idea?

Regards
Darren
Darren about the patch "of/platform: disable the of_platform_default_populate_init() for all the ppc boards":
Darren wrote: ... the ARM64 guys added a default platform_bus_init routine which was preventing any
later platform bus calls from working, in the X1000's case this stopped the
sdc bus, which has the ethernet phy on, and the local bus which has the CF
on.

On checking my email, which was building up while I was at work this week, a
similar fix to mine has been applied else where.

*** Forwarded message, originally written by Rob Herring on 12/08/2016 ***
On Fri, Aug 12, 2016 at 12:49 AM, Kevin Hao <haokexin@gmail.com> wrote:
> On Fri, Aug 12, 2016 at 02:39:32PM +1000, Michael Ellerman wrote:
>> Kevin Hao <haokexin@gmail.com> writes:

[...]

>> Every one of those initcall changes could be introducing a bug, by
>> changing the order vs other init calls.
>>
>> Can we just go back to the old behaviour on ppc?
>
> Sure. How about this one?
>
> From 4362b4cdd8a6198df4cc46c628473f0d44e03fa8 Mon Sep 17 00:00:00 2001
> From: Kevin Hao <haokexin@gmail.com>
> Date: Fri, 12 Aug 2016 13:30:03 +0800
> Subject: [PATCH v2] of/platform: disable the
> of_platform_default_populate_init() for all the ppc boards
>
> With the commit 44a7185c2ae6 ("of/platform: Add common method to
> populate default bus"), a default function is introduced to populate
> the default bus and this function is invoked at the arch_initcall_sync
> level. But a lot of ppc boards use machine_device_initcall() to
> populate the default bus. This means that the default populate function
> has higher priority and would override the arch specific population of
> the bus. The side effect is that some arch specific bus are not probed,
> then cause various malfunction due to the miss of some devices. Since
> it is very possible to introduce bugs if we simply change the initcall
> level for all these boards(about 30+). This just disable this default
> function for all the ppc boards.
>
> Signed-off-by: Kevin Hao <haokexin@gmail.com>
> ---
> drivers/of/platform.c | 2 ++
> 1 file changed, 2 insertions(+)

I've applied this one.

Rob
*** End of forwarded message ***

Kind regards
Darren
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.8

Post by xeno74 »

Just for info:

i2cdetect -l with the RC1 of kernel 4.8:

Code: Select all

i2c-3	unknown   	Radeon i2c bit bus 0x93         	N/A
i2c-1	unknown   	Radeon i2c bit bus 0x91         	N/A
i2c-11	unknown   	PA Semi SMBus adapter at 0x7f0240	N/A
i2c-8	unknown   	card0-DP-1                      	N/A
i2c-6	unknown   	Radeon i2c bit bus 0x96         	N/A
i2c-4	unknown   	Radeon i2c bit bus 0x94         	N/A
i2c-2	unknown   	Radeon i2c bit bus 0x92         	N/A
i2c-12	unknown   	PA Semi SMBus adapter at 0x7f0280	N/A
i2c-0	unknown   	Radeon i2c bit bus 0x90         	N/A
i2c-9	unknown   	card0-DP-2                      	N/A
i2c-10	unknown   	PA Semi SMBus adapter at 0x7f0200	N/A
i2c-7	unknown   	Radeon i2c bit bus 0x97         	N/A
i2c-5	unknown   	Radeon i2c bit bus 0x95         	N/A
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
kilaueabart
Posts: 1070
Joined: Mon Mar 05, 2012 2:36 am

Re: Kernel 4.8

Post by kilaueabart »

xeno74 wrote:
kilaueabart wrote: That PWRficient Gigabit thing is the one that has caused me trouble and I have edited it off. Should I turn it on temporarily and retest RC-1?
Yes, please turn it on temporarily.
Oops! It turns out that I haven't the slightest idea how to turn it back on! Seems to require a lot of info that I don't understand how to get.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.8

Post by xeno74 »

kilaueabart wrote: Oops! It turns out that I haven't the slightest idea how to turn it back on! Seems to require a lot of info that I don't understand how to get.
I removed it with the network manager too but I can activate it with "Auto-Ethernet" again on Debian Sid.
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.8

Post by xeno74 »

Hi All,

Here is the RC2 for testing.

New:
I removed the platform.c patch from the Nemo patch. After that the CF card doesn't work anymore and the PA Semi PWRficient Gigabit tries very often to connect to the network but there isn't a network cable plugged in. I had to add Darren's platform.c patch again. After that the CF card and the PA Semi PWRficient Gigabit work without any problems.

Download: vmlinux-4.8-rc2-AmigaONE_X1000.tar.gz

PLEASE test the RC2.

Thanks,

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
kilaueabart
Posts: 1070
Joined: Mon Mar 05, 2012 2:36 am

Re: Kernel 4.8

Post by kilaueabart »

xeno74 wrote:
kilaueabart wrote: Oops! It turns out that I haven't the slightest idea how to turn [PWRficient Gigabit] back on! Seems to require a lot of info that I don't understand how to get.
I removed it with the network manager too but I can activate it with "Auto-Ethernet" again on Debian Sid.
That worked with MATE 16.04 (and RC2) at least temporarily, but I didn't get any "Auto-Ethernet" with 16.10 and RC2. (And booting that took two tries the first time!)

The PWRficient thing turned off soon after I started it, but now it is back on again, without me restarting it!
Post Reply