Page 37 of 62

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Fri Feb 13, 2015 11:49 am
by Spectre660
Sam440ep 3.16.7-ckt6 kernel (Untested)
https://dl.dropboxusercontent.com/u/542 ... kt6.tar.gz

HDMI audio support.

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Sat Feb 14, 2015 6:02 pm
by xeno74
Spectre660 wrote:Sam440ep 3.16.7-ckt6 kernel (Untested)
https://dl.dropboxusercontent.com/u/542 ... kt6.tar.gz

HDMI audio support.
Thank you!!!!!!!

Sam440ep-3.16.7-ckt6.tar.gz

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Sun Feb 15, 2015 4:01 pm
by Spectre660
Thank you.
xeno74 wrote:
Spectre660 wrote:Sam440ep 3.16.7-ckt6 kernel (Untested)
https://dl.dropboxusercontent.com/u/542 ... kt6.tar.gz

HDMI audio support.
Thank you!!!!!!!

Sam440ep-3.16.7-ckt6.tar.gz

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Sun Feb 15, 2015 4:02 pm
by Spectre660

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Wed Feb 18, 2015 9:12 pm
by Spectre660
New Git biset results in the following :

git bisect bad
9279d3286e10736766edcaf815ae10e00856e448 is the first bad commit
commit 9279d3286e10736766edcaf815ae10e00856e448
Author: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Date: Wed Aug 6 16:10:16 2014 -0700

lib: bitmap: change parameter of bitmap_*_region to unsigned

Changing the pos parameter of __reg_op to unsigned allows the compiler
to generate slightly smaller and simpler code. Also update its callers
bitmap_*_region to receive and pass unsigned int. The return types of
bitmap_find_free_region and bitmap_allocate_region are still int to
allow a negative error code to be returned. An int is certainly capable
of representing any realistic return value.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

:040000 040000 4f560a7caaba2d05c146a3cea27e0d93739d950c c3d4539acad26667a2d78844ead7b75af753f41e M include
:040000 040000 7a6fb894aac2a1d4e72f8e36b7c6de3c24509ad3 31d756da185e07d2de090c9e6aeb12689d58d310 M lib
===================================================================================================================

Code: Select all

[diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h
index 83c1c7d..2100378 100644
--- a/include/linux/bitmap.h
+++ b/include/linux/bitmap.h
@@ -140,9 +140,9 @@ extern void bitmap_onto(unsigned long *dst, const unsigned long *orig,
                const unsigned long *relmap, int bits);
 extern void bitmap_fold(unsigned long *dst, const unsigned long *orig,
                int sz, int bits);
-extern int bitmap_find_free_region(unsigned long *bitmap, int bits, int order);
-extern void bitmap_release_region(unsigned long *bitmap, int pos, int order);
-extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order);
+extern int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order);
+extern void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order);
+extern int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order);
 extern void bitmap_copy_le(void *dst, const unsigned long *src, int nbits);
 extern int bitmap_ord_to_pos(const unsigned long *bitmap, int n, int bits);
 
diff --git a/lib/bitmap.c b/lib/bitmap.c
index 2714df9..c2f3807 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -1042,7 +1042,7 @@ enum {
        REG_OP_RELEASE,         /* clear all bits in region */
 };
 
-static int __reg_op(unsigned long *bitmap, int pos, int order, int reg_op)
+static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op)
 {
        int nbits_reg;          /* number of bits in region */
        int index;              /* index first long of region in bitmap */
@@ -1108,11 +1108,11 @@ done:
  * Return the bit offset in bitmap of the allocated region,
  * or -errno on failure.
  */
-int bitmap_find_free_region(unsigned long *bitmap, int bits, int order)
+int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order)
 {
-       int pos, end;           /* scans bitmap by regions of size order */
+       unsigned int pos, end;          /* scans bitmap by regions of size order */
 
-       for (pos = 0 ; (end = pos + (1 << order)) <= bits; pos = end) {
+       for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) {
                if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE))
                        continue;
                __reg_op(bitmap, pos, order, REG_OP_ALLOC);
@@ -1133,7 +1133,7 @@ EXPORT_SYMBOL(bitmap_find_free_region);
  *
  * No return value.
  */
-void bitmap_release_region(unsigned long *bitmap, int pos, int order)
+void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order)
 {
        __reg_op(bitmap, pos, order, REG_OP_RELEASE);
 }
@@ -1150,7 +1150,7 @@ EXPORT_SYMBOL(bitmap_release_region);
  * Return 0 on success, or %-EBUSY if specified region wasn't
  * free (not all bits were zero).
  */
-int bitmap_allocate_region(unsigned long *bitmap, int pos, int order)
+int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order)
 {
        if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE))
                return -EBUSY;

code]

[quote="Spectre660"]Thank you.

If I did the git bisect properly (about 13 test kernel compiles or so) then
something in these commits caused kernels after 3.17-rc1  from working on the Sam460ex .

[code]8.162234 radeon 0001:81:00.0: ppc4xx_setup_msi_irqs: fail mapping irq
[ 8.169182] Unable to handle kernel paging request for data at address 0x0f9a 109c
[ 8.176690] Faulting instruction address: 0xc0328d78
[ 8.181670] Vector: 300 (Data Access) at [c5cebac0]
[ 8.186560] pc: c0328d78: bitmap_clear+0x6c/0x7c
[ 8.191585] lr: c0015340: msi_bitmap_free_hwirqs+0x3c/0x80
[ 8.197489] sp: c5cebb70
[ 8.200379] msr: 21000
[ 8.203010] dar: f9a109c
[ 8.205813] dsisr: 0
[ 8.208088] current = 0xef8bcb40
[ 8.211500] pid = 974, comm = modprobe
[ 8.215799] enter ? for help
[ 8.218691] [link register ] c0015340 msi_bitmap_free_hwirqs+0x3c/0x80
[ 8.225448] [c5cebb70] c0015330 msi_bitmap_free_hwirqs+0x2c/0x80 (unreliable)
[ 8.232637] [c5cebb90] c001b298 ppc4xx_setup_msi_irqs+0xac/0xf4
[ 8.238609] [c5cebbd0] c0357a44 pci_enable_msi_range+0x1b8/0x264
[ 8.244677] [c5cebc10] f958cb7c radeon_irq_kms_init+0x180/0x1ac [radeon]
[ 8.251787] [c5cebc20] f95dca00 evergreen_startup+0x1da8/0x228c [radeon]
[ 8.258705] [c5cebc50] f95dd1e8 evergreen_init+0x260/0x328 [radeon]
[ 8.265180] [c5cebc60] f955bd94 radeon_device_init+0x8c4/0xa70 [radeon]
[ 8.271986] [c5cebc80] f955df3c radeon_driver_load_kms+0xa4/0x174 [radeon]
[ 8.279052] [c5cebca0] f92650bc drm_dev_register+0x9c/0x120 [drm]
[ 8.285259] [c5cebcc0] f92678b8 drm_get_pci_dev+0xf4/0x190 [drm]
[ 8.291353] [c5cebce0] c034855c pci_device_probe+0x78/0xd0
[ 8.296890] [c5cebd00] c039b8f4 driver_probe_device+0xdc/0x208
[ 8.302785] [c5cebd30] c039bafc __driver_attach+0x78/0xa0
[ 8.308236] [c5cebd50] c0399e3c bus_for_each_dev+0x8c/0x9c
[ 8.313774] [c5cebd80] c039b024 bus_add_driver+0xf8/0x1d4
[ 8.319226] [c5cebda0] c039bfec driver_register+0xb4/0xf8
[ 8.324677] [c5cebdc0] c00016f0 do_one_initcall+0x114/0x198
[ 8.330302] [c5cebe30] c006dfd8 load_module+0x1500/0x1b2c
[ 8.335753] [c5cebee0] c006e6e4 SyS_init_module+0xe0/0xf8
[ 8.341205] [c5cebf40] c000ad0c ret_from_syscall+0x0/0x3c
[ 8.346663] --- Exception: c01 (System Call) at 2000cc88
[ 8.352012] SP (bfcaf4e0) is in userspace
[ 8.356030] mon>
[ 10.359325] Oops: Kernel access of bad area, sig: 11 [#1]
[ 10.364736] PREEMPT Canyonlands
[ 10.367896] Modules linked in: radeon(+) cfbfillrect cfbimgblt cfbcopyarea i2 c_algo_bit drm_kms_helper ttm drm snd_cmipci snd_mpu401_uart snd_opl3_lib snd_hw dep snd_seq_device agpgart sm501
[ 10.385037] CPU: 0 PID: 974 Comm: modprobe Not tainted 3.18.0-rc7-Sam460ex #1
[ 10.392187] task: ef8bcb40 ti: c5cea000 task.ti: c5cea000
[ 10.397593] NIP: c0328d78 LR: c0015340 CTR: c0043968
[ 10.402568] REGS: c5cebac0 TRAP: 0300 Not tainted (3.18.0-rc7-Sam460ex)
[ 10.409450] MSR: 00021000 CR: 44228424 XER: 20000000
[ 10.415354] DEAR: 0f9a109c ESR: 00000000
GPR00: c0015330 c5cebb70 ef8bcb40 0f9a109c fffffff5 00000001 00000001 fffffff5
GPR08: 00000015 001fffff ffefffff c5cebb70 24ff3382 20114278 00000000 c071f974
GPR16: 200c50ec c078dcf0 c05e5c78 c078dcd4 f96a91b8 00000000 00000124 c006b8fc
GPR24: ef842d38 00000000 c08c1024 ef842800 fffffff4 ef842d38 c08c1024 00029000
[ 10.448135] NIP [c0328d78] bitmap_clear+0x6c/0x7c
[ 10.452850] LR [c0015340] msi_bitmap_free_hwirqs+0x3c/0x80
[ 10.458347] Call Trace:
[ 10.460800] [c5cebb70] [c0015330] msi_bitmap_free_hwirqs+0x2c/0x80 (unreliabl e)
[ 10.468151] [c5cebb90] [c001b298] ppc4xx_setup_msi_irqs+0xac/0xf4
[ 10.474273] [c5cebbd0] [c0357a44] pci_enable_msi_range+0x1b8/0x264
[ 10.480615] [c5cebc10] [f958cb7c] radeon_irq_kms_init+0x180/0x1ac [radeon]
[ 10.487657] [c5cebc20] [f95dca00] evergreen_startup+0x1da8/0x228c [radeon]
[ 10.494697] [c5cebc50] [f95dd1e8] evergreen_init+0x260/0x328 [radeon]
[ 10.501285] [c5cebc60] [f955bd94] radeon_device_init+0x8c4/0xa70 [radeon]
[ 10.508222] [c5cebc80] [f955df3c] radeon_driver_load_kms+0xa4/0x174 [radeon]
[ 10.515314] [c5cebca0] [f92650bc] drm_dev_register+0x9c/0x120 [drm]
[ 10.521618] [c5cebcc0] [f92678b8] drm_get_pci_dev+0xf4/0x190 [drm]
[ 10.527822] [c5cebce0] [c034855c] pci_device_probe+0x78/0xd0
[ 10.533511] [c5cebd00] [c039b8f4] driver_probe_device+0xdc/0x208
[ 10.539541] [c5cebd30] [c039bafc] __driver_attach+0x78/0xa0
[ 10.545140] [c5cebd50] [c0399e3c] bus_for_each_dev+0x8c/0x9c
[ 10.550826] [c5cebd80] [c039b024] bus_add_driver+0xf8/0x1d4
[ 10.556424] [c5cebda0] [c039bfec] driver_register+0xb4/0xf8
[ 10.562023] [c5cebdc0] [c00016f0] do_one_initcall+0x114/0x198
[ 10.567795] [c5cebe30] [c006dfd8] load_module+0x1500/0x1b2c
[ 10.573394] [c5cebee0] [c006e6e4] SyS_init_module+0xe0/0xf8
[ 10.578993] [c5cebf40] [c000ad0c] ret_from_syscall+0x0/0x3c
[ 10.584593] --- interrupt: c01 at 0x2000cc88
[ 10.584593] LR = 0x200ba7e0
[ 10.592002] Instruction dump:
[ 10.594989] 3940ffff 4bffffdc 2f890000 4d9e0020 7c842a14 3920ffff 7088001f 41 820010
[ 10.602870] 39200001 7d294030 3929ffff 7d2a53b8 7d295038 91230000 4e800020
[ 10.610929] ---[ end trace e06932fd243d02c8 ]---]
virgola wrote:@Spectre660

First of all thank you for keeping spending your time on Linux for the Sam460, it is really much appreciated!

About your last message I must say that I'm lost.
Do you think these commits you have reported might lead to a working DRM kernel?
[/quote]

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Thu Feb 19, 2015 11:38 am
by Spectre660
Thanks to Michael Ellerman we now have a patch for Sams to have kernel after 3.16 working again .
http://linuxppc.10917.n7.nabble.com/Pro ... 89645.html

Working Sam460ex 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz

Untested Sam440ep 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Fri Feb 20, 2015 9:17 am
by xeno74
Spectre660 wrote:Thanks to Michael Ellerman we now have a patch for Sams to have kernel after 3.16 working again .
http://linuxppc.10917.n7.nabble.com/Pro ... 89645.html

Working Sam460ex 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz

Untested Sam440ep 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz
Hey Spectre660,

Great work! Well done!!!!!

Downloads:

Kernel 3.19.0 final for the Sam440ep( Flex): Sam440ep-3.19.0.tar.gz
Kernel 3.19.0 final for the Sam460ex( Lite): Sam460ex-3.19.0.tar.gz

Let's have a party!

Cheers,

Christian

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Fri Feb 20, 2015 1:22 pm
by Spectre660
Thank you.
Can you verify that the Sam440ep kernel works ok please.
If it does then we can have a party. :D
xeno74 wrote:
Spectre660 wrote:Thanks to Michael Ellerman we now have a patch for Sams to have kernel after 3.16 working again .
http://linuxppc.10917.n7.nabble.com/Pro ... 89645.html

Working Sam460ex 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz

Untested Sam440ep 3.19 Kernel
https://dl.dropboxusercontent.com/u/542 ... 9.0.tar.gz
Hey Spectre660,

Great work! Well done!!!!!

Downloads:

Kernel 3.19.0 final for the Sam440ep( Flex): Sam440ep-3.19.0.tar.gz
Kernel 3.19.0 final for the Sam460ex( Lite): Sam460ex-3.19.0.tar.gz

Let's have a party!

Cheers,

Christian

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Fri Feb 20, 2015 2:26 pm
by virgola
@Spectre660

That's great!
Looking forward to try it out, together with Ubuntu 15.04.
Still I am away from home and Sam460, will let you know as soon as I re-install everything.

Great forum that "linuxppc-dev",
we may end up with a kernel with DRM support!!

Re: Spectre660's Linux downloads for the Sam440/460

Posted: Fri Feb 20, 2015 2:49 pm
by Spectre660
Indeed.
Hope that we can get the msi interrupts sorted out too.
Might get us closer or even solve the problem with DRM
virgola wrote:@Spectre660

That's great!
Looking forward to try it out, together with Ubuntu 15.04.
Still I am away from home and Sam460, will let you know as soon as I re-install everything.

Great forum that "linuxppc-dev",
we may end up with a kernel with DRM support!!