From: Christian Zigotzky <hidden> Date: 2016-08-03 09:07:12
Hello,
I tried to compile the latest Git kernel today. It boots but Xorg
doesn't work anymore.
[ 41.210] (++) using VT number 7
[ 41.341] (II) [KMS] Kernel modesetting enabled.
[ 41.341] (EE) No devices detected.
[ 41.341] (EE)
Fatal server error:
[ 41.341] (EE) no screens found(EE)
[ 41.341] (EE)
I reverted the commit "powerpc-4.8-1" and Xorg works. The commit
"powerpc-4.8-1" is the problem.
Link:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bad60e6f259a01cf9f29a1ef8d435ab6c60b2de9
Which source code modification in the commit "powerpc-4.8-1" could be
the problem?
Cheers,
Christian
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2016-08-05 06:46:07
Christian Zigotzky [off-list ref] writes:
Hi All,
I figured out that the Git kernel (4.8) successfully detected my Radeon
HD6870 but Xorg can't access it.
The reason is, that the BusID has changed between the kernel 4.7 and 4.8.
From: Christian Zigotzky <hidden> Date: 2016-08-05 09:15:02
Hi Michael,
Thanks a million for your patch! :-)
@All
Keep your fingers crossed!
1. git clone
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
2. patch -p0 < powerpc-pci-Only-do-fixed-PHB-numbering-on-powernv.patch
3. patch -p0 < nemo_4.8-3.patch
4. yes "" | make oldconfig
5. I activated the following new BTRFS options for Srtest:
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
6. make vmlinux
...
Cheers,
Christian
On 05 August 2016 at 08:46 AM, Michael Ellerman wrote:
Christian Zigotzky [off-list ref] writes:
quoted
Hi All,
I figured out that the Git kernel (4.8) successfully detected my Radeon
HD6870 but Xorg can't access it.
The reason is, that the BusID has changed between the kernel 4.7 and 4.8.
From: Christian Zigotzky <hidden> Date: 2016-08-05 10:31:57
Hi Michael,
Xorg works!!!!!!!!!!!!!!!!!!!!!!! :-)
Next step: make modules :-)
Cheers,
Christian
On 05 August 2016 at 11:13 AM, Christian Zigotzky wrote:
Hi Michael,
Thanks a million for your patch! :-)
@All
Keep your fingers crossed!
1. git clone
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
2. patch -p0 < powerpc-pci-Only-do-fixed-PHB-numbering-on-powernv.patch
3. patch -p0 < nemo_4.8-3.patch
4. yes "" | make oldconfig
5. I activated the following new BTRFS options for Srtest:
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
6. make vmlinux
...
Cheers,
Christian
On 05 August 2016 at 08:46 AM, Michael Ellerman wrote:
quoted
Christian Zigotzky [off-list ref] writes:
quoted
Hi All,
I figured out that the Git kernel (4.8) successfully detected my Radeon
HD6870 but Xorg can't access it.
The reason is, that the BusID has changed between the kernel 4.7 and
4.8.
From: Christian Zigotzky <hidden> Date: 2016-08-05 11:43:07
Hi All,
The internal PASEMI CompactFlash (CF) card device doesn't work anymore
after the powerpc-4.8-1 merge. That means the code for the internal CF
card device in the Nemo patch doesn't work after the first PowerPC
merge. The CompactFlash (CF) card slot is wired to the CPU local bus. It
is typically used to hold the Linux kernel. I know it isn't well to use
an own patch for that but I think it is a good time to integrate the
PASEMI internal CompactFlash (CF) card device to the official kernel.
What do you think? I am not a programmer so I can't integrate the source
code for the internal CF card device. But maybe you can take the patch
and integrate it.
We use the following patch for the kernel 4.7:
diff -rupN a/drivers/ata/pata_of_platform.c
b/drivers/ata/pata_of_platform.c
--- a/drivers/ata/pata_of_platform.c 2016-08-05
09:58:41.410569036 +0200
+++ b/drivers/ata/pata_of_platform.c 2016-08-05
09:59:54.414288884 +0200
@@ -41,14 +41,36 @@ static int pata_of_platform_probe(struct
return -EINVAL;
}
- ret = of_address_to_resource(dn, 1, &ctl_res);
- if (ret) {
- dev_err(&ofdev->dev, "can't get CTL address from "
- "device tree\n");
- return -EINVAL;
+ if (of_device_is_compatible(dn, "electra-ide")) {
+ /* Altstatus is really at offset 0x3f6 from the primary window
+ * on electra-ide. Adjust ctl_res and io_res accordingly.
+ */
+ ctl_res = io_res;
+ ctl_res.start = ctl_res.start+0x3f6;
+ io_res.end = ctl_res.start-1;
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+ } else if (of_device_is_compatible(dn, "electra-cf")) {
+ /* Task regs are at 0x800, with alt status @ 0x80e
in the primary window
+ * on electra-cf. Adjust ctl_res and io_res
accordingly.
+ */
+ ctl_res = io_res;
+ io_res.start += 0x800;
+ ctl_res.start = ctl_res.start + 0x80e;
+ io_res.end = ctl_res.start-1;
+#endif
+ } else {
+ ret = of_address_to_resource(dn, 1, &ctl_res);
+ if (ret) {
+ dev_err(&ofdev->dev, "can't get CTL address from "
+ "device tree\n");
+ return -EINVAL;
+ }
}
irq_res = platform_get_resource(ofdev, IORESOURCE_IRQ, 0);
+ if (irq_res)
+ irq_res->flags = 0;
prop = of_get_property(dn, "reg-shift", NULL);
if (prop)
@@ -65,6 +87,11 @@ static int pata_of_platform_probe(struct
dev_info(&ofdev->dev, "pio-mode unspecified, assuming PIO0\n");
}
+#ifdef CONFIG_PPC_PASEMI_SB600
+ irq_res = 0; // force irq off (doesn't
seem to work)
+#endif
+
+
pio_mask = 1 << pio_mode;
pio_mask |= (1 << pio_mode) - 1;
@@ -74,7 +101,11 @@ static int pata_of_platform_probe(struct
static struct of_device_id pata_of_platform_match[] = {
{ .compatible = "ata-generic", },
- { },
+ { .compatible = "electra-ide", },
+#ifdef CONFIG_PPC_PASEMI_SB600
+ { .compatible = "electra-cf",},
+#endif
+ {},
};
MODULE_DEVICE_TABLE(of, pata_of_platform_match);
dmesg with the kernel 4.7:
zcat /var/log/dmesg.1.gz | grep -i ata7
[ 2.939788] ata7: PATA max PIO0 no IRQ, using PIO polling mmio
cmd 0xf0000800 ctl 0xf000080e
[ 3.099186] ata7.00: CFA: SanDisk SDCFB-256, HDX 2.33, max PIO4
[ 3.099191] ata7.00: 501760 sectors, multi 0: LBA
[ 3.099199] ata7.00: configured for PIO
The dmesg of the latest Git kernel doesn't have any output of our
internal CF card device.
Could you please integrate our PASEMI CF card device again?
Thanks,
Christian
From: Christian Zigotzky <hidden> Date: 2016-08-05 13:23:01
Michael,
Thanks a lot for the hints! I will use your commands. I am still
learning Linux. :-)
Cheers,
Christian
On 05 August 2016 at 12:59 PM, Michael Ellerman wrote:
Christian Zigotzky [off-list ref] writes:
quoted
Hi Michael,
Thanks a million for your patch! :-)
No worries :)
quoted
@All
Keep your fingers crossed!
1. git clone
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
Normally that would be:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux
And this:
Hi All,
The internal PASEMI CompactFlash (CF) card device doesn't work anymore
after the powerpc-4.8-1 merge. That means the code for the internal CF
card device in the Nemo patch doesn't work after the first PowerPC
merge. The CompactFlash (CF) card slot is wired to the CPU local bus.
It is typically used to hold the Linux kernel. I know it isn't well to
use an own patch for that but I think it is a good time to integrate
the PASEMI internal CompactFlash (CF) card device to the official
kernel. What do you think? I am not a programmer so I can't integrate
the source code for the internal CF card device. But maybe you can
take the patch and integrate it.
We use the following patch for the kernel 4.7:
diff -rupN a/drivers/ata/pata_of_platform.c
b/drivers/ata/pata_of_platform.c
--- a/drivers/ata/pata_of_platform.c 2016-08-05
09:58:41.410569036 +0200
+++ b/drivers/ata/pata_of_platform.c 2016-08-05
09:59:54.414288884 +0200
@@ -41,14 +41,36 @@ static int pata_of_platform_probe(struct
return -EINVAL;
}
- ret = of_address_to_resource(dn, 1, &ctl_res);
- if (ret) {
- dev_err(&ofdev->dev, "can't get CTL address from "
- "device tree\n");
- return -EINVAL;
+ if (of_device_is_compatible(dn, "electra-ide")) {
+ /* Altstatus is really at offset 0x3f6 from the primary window
+ * on electra-ide. Adjust ctl_res and io_res accordingly.
+ */
+ ctl_res = io_res;
+ ctl_res.start = ctl_res.start+0x3f6;
+ io_res.end = ctl_res.start-1;
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+ } else if (of_device_is_compatible(dn, "electra-cf")) {
+ /* Task regs are at 0x800, with alt status @ 0x80e
in the primary window
+ * on electra-cf. Adjust ctl_res and io_res
accordingly.
+ */
+ ctl_res = io_res;
+ io_res.start += 0x800;
+ ctl_res.start = ctl_res.start + 0x80e;
+ io_res.end = ctl_res.start-1;
+#endif
+ } else {
+ ret = of_address_to_resource(dn, 1, &ctl_res);
+ if (ret) {
+ dev_err(&ofdev->dev, "can't get CTL address from "
+ "device tree\n");
+ return -EINVAL;
+ }
}
irq_res = platform_get_resource(ofdev, IORESOURCE_IRQ, 0);
+ if (irq_res)
+ irq_res->flags = 0;
prop = of_get_property(dn, "reg-shift", NULL);
if (prop)
@@ -65,6 +87,11 @@ static int pata_of_platform_probe(struct
dev_info(&ofdev->dev, "pio-mode unspecified, assuming
PIO0\n");
}
+#ifdef CONFIG_PPC_PASEMI_SB600
+ irq_res = 0; // force irq off (doesn't
seem to work)
+#endif
+
+
pio_mask = 1 << pio_mode;
pio_mask |= (1 << pio_mode) - 1;
@@ -74,7 +101,11 @@ static int pata_of_platform_probe(struct
static struct of_device_id pata_of_platform_match[] = {
{ .compatible = "ata-generic", },
- { },
+ { .compatible = "electra-ide", },
+#ifdef CONFIG_PPC_PASEMI_SB600
+ { .compatible = "electra-cf",},
+#endif
+ {},
};
MODULE_DEVICE_TABLE(of, pata_of_platform_match);
dmesg with the kernel 4.7:
zcat /var/log/dmesg.1.gz | grep -i ata7
[ 2.939788] ata7: PATA max PIO0 no IRQ, using PIO polling mmio
cmd 0xf0000800 ctl 0xf000080e
[ 3.099186] ata7.00: CFA: SanDisk SDCFB-256, HDX 2.33, max PIO4
[ 3.099191] ata7.00: 501760 sectors, multi 0: LBA
[ 3.099199] ata7.00: configured for PIO
The dmesg of the latest Git kernel doesn't have any output of our
internal CF card device.
Could you please integrate our PASEMI CF card device again?
Thanks,
Christian
From: Nicholas Piggin <npiggin@gmail.com> Date: 2016-08-05 15:25:14
On Fri, 5 Aug 2016 16:38:17 +0200
Christian Zigotzky [off-list ref] wrote:
Hi All,
Hi Christian,
Firstly, thanks for the report. As a suggestion, it can be
better to reduce the CC list unless you have found a specific
commit that causes the problem. powerpc developers read this
list so you can send initial bug reports there.
Have you been able to bisect the exact commit which caused the
regression? If it's possible, that is the fastest way to get a
response to your report.
As for your driver support, it would indeed be a good idea to
get it supported in the upstream kernel. You should post a
new mail about that. Take a look at these 3 commits:
61f7162117d4767875825abf2f6ed1eeebbcceed
9cd55be4d22376893d2818ce3c0e5706a3d74121
ca99140a63b7326ee9a38f64c326317f2c63b594
Your patch comes from code based on the second one. The last
commit removed it, and says that it is not the best way to
implement it. You could cc this list and some of the people
involved with those commits and ask ask for advice about
getting your driver supported.
Thanks,
Nick
Hi All,
The internal PASEMI CompactFlash (CF) card device doesn't work anymore
after the powerpc-4.8-1 merge. That means the code for the internal CF
card device in the Nemo patch doesn't work after the first PowerPC
merge. The CompactFlash (CF) card slot is wired to the CPU local bus.
It is typically used to hold the Linux kernel. I know it isn't well to
use an own patch for that but I think it is a good time to integrate
the PASEMI internal CompactFlash (CF) card device to the official
kernel. What do you think? I am not a programmer so I can't integrate
the source code for the internal CF card device. But maybe you can
take the patch and integrate it.
We use the following patch for the kernel 4.7:
From: Darren Stevens <hidden> Date: 2016-08-05 22:45:49
Hello Nicholas
On 06/08/2016, Nicholas Piggin wrote:
On Fri, 5 Aug 2016 16:38:17 +0200
Christian Zigotzky [off-list ref] wrote:
quoted
Hi All,
Hi Christian,
[...]
As for your driver support, it would indeed be a good idea to
get it supported in the upstream kernel. You should post a
new mail about that. Take a look at these 3 commits:
61f7162117d4767875825abf2f6ed1eeebbcceed
9cd55be4d22376893d2818ce3c0e5706a3d74121
ca99140a63b7326ee9a38f64c326317f2c63b594
Your patch comes from code based on the second one. The last
commit removed it, and says that it is not the best way to
implement it. You could cc this list and some of the people
involved with those commits and ask ask for advice about
getting your driver supported.
Actually, it's almost supported by the base PASemi code anyway, there is a
PCMCIA driver in setup.c, but our hardware has been changed enough to make it
hang the system when used. I should probably take another look and see If I
can fix that. The other option would be to move the above patch to where we
add our rtc platform device. One thing that does confuse me is the interrupt,
it's attached to GPIO 0, so should be on the mpic int 0 (or maybe 16?)but I
could never get it to work.
Regards
Darren