Re: Have my PA8800 back online...
On 12/04/2017 03:54 PM, Helge Deller wrote:
Anyway, the *only* problem we have right now is, that the Linux kernel 4.14 doesn't detect all serial ports which were detected in earlier kernels.
Thus the kernel will talk to the non-existant serial port at 0xfffffffff4050010 instead of 0xfffffffff4050000.
4.13:
[ 28.882849] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 28.898720] 0000:e0:01.0: ttyS0 at MMIO 0xfffffffff4051000 (irq = 73, base_baud = 115200) is a 16450
[ 28.934669] 0000:e0:01.1: ttyS1 at MMIO 0xfffffffff4050000 (irq = 73, base_baud = 115200) is a 16550A
[ 28.963031] 0000:e0:01.1: ttyS2 at MMIO 0xfffffffff4050010 (irq = 73, base_baud = 115200) is a 16550A
[ 28.984946] 0000:e0:01.1: ttyS3 at MMIO 0xfffffffff4050038 (irq = 73, base_baud = 115200) is a 16550A
Just today again booted the rp3440 with v4.13.x and it looks like the
kernel is not 100% sure what device type ttyS0 is actually. Last time it
was detected as a 16450, now it's detected as a 16550A like the others:
```
[ 29.060471] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 29.096695] 0000:e0:01.0: ttyS0 at MMIO 0xfffffffff4051000 (irq = 73,
base_baud = 115200) is a 16550A
[ 29.132592] 0000:e0:01.1: ttyS1 at MMIO 0xfffffffff4050000 (irq = 73,
base_baud = 115200) is a 16550A
[...]
[ 29.162444] 0000:e0:01.1: ttyS2 at MMIO 0xfffffffff4050010 (irq = 73,
base_baud = 115200) is a 16550A
[ 29.184343] 0000:e0:01.1: ttyS3 at MMIO 0xfffffffff4050038 (irq = 73,
base_baud = 115200) is a 16550A
```
...but for v4.14.x only the following serial ports are detected:
[ 28.671984] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 28.708902] 0000:e0:01.1: ttyS0 at MMIO 0xfffffffff4050000 (irq = 73, base_baud = 115200) is a 16550A
[ 28.731145] 0000:e0:01.1: ttyS1 at MMIO 0xfffffffff4050010 (irq = 73, base_baud = 115200) is a 16550A
Maybe reverting this commit brings back the old behavior:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d8905d064058f4b65057e0101588f362f288bc0
I'm unsure about this commit, it speaks more of avoiding duplicate
messages for device enabling.
After using the "correct" serial port (for v4.14.x) for the console on
the rp3440 I could also see, that it detects three of the original four
serial ports:
```
[ 28.678024] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 28.714510] 0000:e0:01.1: ttyS0 at MMIO 0xfffffffff4050000 (irq = 73,
base_baud = 115200) is a 16550A
[ 28.715052] console [ttyS0] enabled
[ 28.715052] console [ttyS0] enabled
[ 28.715536] bootconsole [ttyB0] disabled
[ 28.715536] bootconsole [ttyB0] disabled
[ 28.744324] 0000:e0:01.1: ttyS1 at MMIO 0xfffffffff4050010 (irq = 73,
base_baud = 115200) is a 16550A
[ 28.766256] 0000:e0:01.1: ttyS2 at MMIO 0xfffffffff4050038 (irq = 73,
base_baud = 115200) is a 16550A
```
I just couldn't see the last one earlier as there was no further output
when using ttyS1 as console and v4.14 as kernel.
According to `lspci` the 16450 (or fourth 16550A) is from a "HP
Auxiliary Diva Serial Port":
```
root@rp3440:~# lspci -nn
[...]
e0:01.0 Communication controller [0780]: Hewlett-Packard Company
Auxiliary Diva Serial Port [103c:1290] (rev 01)
e0:01.1 Serial controller [0700]: Hewlett-Packard Company Diva Serial
[GSP] Multiport UART [103c:1048] (rev 03)
```
Interesting - actually the current situation looks like what [your patch
from May 29th] should have accomplished. But as you dropped it in favor
of a patch to palo, it seems to be unrelated.
[your patch from May 29th]: https://patchwork.kernel.org/patch/9753613/
In addition the Diva port in my rp3440 seems to have a different PCI ID
(0x1290 instead of 0x1291) than what you expected for a rp3410 in your
patch. Do both machines differ that much or could it be due to a
different firmware level maybe?
Cheers,
Frank
Reply to: