Kernel 3.18-rc1 – NVIDIA Fix..

Thanks to juston_li, there is a one-line fix to enable the latest NVIDIA drivers to compile with Kernel 3.18-rc1

See: https://devtalk.nvidia.com/default/topic/783364/linux/343-22-driver-incompatible-with-linux-3-18-/

The fix there is for Beta version 343.22, but I applied it to main version 340.46, as follows:

In NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c , at line 19, change

#if defined(NV_DRM_AVAILABLE)

#include <drm/drmP.h>

to

#if defined(NV_DRM_AVAILABLE)

#include <drm/drmP.h>
#include <drm/drm_gem.h>

Then re-compile..

Robert Gadsdon.  October 20, 2014.

Kernel 3.18-rc1 – VMware OK, NVIDIA Not..

Just installed Kernel 3.18-rc1 – released earlier than originally planned – on the test system:

$ uname -a
Linux rg6830l 3.18.0-rc1 #1 SMP PREEMPT Mon Oct 20 10:23:13 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Brief details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1410.2/01595.html

VMware 10.0.3 (with the vmnet patch..) installs and runs OK, but the latest current NVIDIA (340.46) fails to compile:

...................
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:78:99: warning: (near initialization for ‘nv_obj’) [enabled by default]
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:79:25: error: dereferencing pointer to incomplete type
 int page_count = obj->size >> PAGE_SHIFT;
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: In function ‘nv_gem_prime_vmap’:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:88:99: warning: initialization from incompatible pointer type [enabled by default]
 struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:88:99: warning: (near initialization for ‘nv_obj’) [enabled by default]
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:89:25: error: dereferencing pointer to incomplete type
 int page_count = obj->size >> PAGE_SHIFT;
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: At top level:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:107:13: error: ‘drm_gem_mmap’ undeclared here (not in a function)
 .mmap = drm_gem_mmap,
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c: In function ‘nv_alloc_os_descriptor_handle’:
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:204:5: error: implicit declaration of function ‘drm_gem_private_object_init’ [-Werror=implicit-function-declaration]
 drm_gem_private_object_init(nvl->drm, &nv_obj->base, size);
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:206:5: error: implicit declaration of function ‘drm_gem_handle_create’ [-Werror=implicit-function-declaration]
 ret = drm_gem_handle_create(file_priv, &nv_obj->base, handle);
 ^
/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.c:213:5: error: implicit declaration of function ‘drm_gem_object_unreference_unlocked’ [-Werror=implicit-function-declaration]
 drm_gem_object_unreference_unlocked(&nv_obj->base);
 ^
cc1: some warnings being treated as errors
make[3]: *** [/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel/nv-drm.o] Error 1
make[2]: *** [_module_/home/rgadsdon/NVIDIA-Linux-x86_64-340.46/kernel] Error 2
make[2]: Leaving directory `/usr/src/linux-3.18-rc1'
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-3.18-rc1'
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make: *** [nvidia.ko] Error 1

More research needed….

Robert Gadsdon.   October 20, 2014..

ARM – Odroid U2 – 3.17 Boot, but no USB..

Tried the latest kernel.org 3.17 kernel with my Odroid U2, and managed to get it to boot successfully, but USB still doesn’t work, which is a show-stopper, as the Ethernet adapter is a USB-connected device..

Start with # make exynos_defconfig, and then select arch/arm/boot/dts/exynos4412-odroidu3.dtb when merging with zImage, etc…

[ 0.000000] Booting Linux on physical CPU 0xa00
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.17.0 (root@rgodroid) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) ) #1 SMP PREEMPT Fri Oct 10 01:08:29 EDT 2014
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Hardkernel ODROID-U3 board based on Exynos4412
Fedora release 20 (Heisenbug)
Kernel 3.17.0 on an armv7l (ttySAC1)
...............
# uname -a
Linux rgodroid 3.17.0 #1 SMP PREEMPT Fri Oct 10 01:08:29 EDT 2014 armv7l armv7l armv7l GNU/Linux

USB failed with:

[ 0.974376] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.977922] ehci-exynos: EHCI EXYNOS driver
[ 0.981366] exynos-ehci 12580000.ehci: EHCI Host Controller
[ 0.985016] exynos-ehci 12580000.ehci: new USB bus registered, assigned bus number 1
[ 0.994560] exynos-ehci 12580000.ehci: can't setup: -110
[ 0.995395] exynos-ehci 12580000.ehci: USB bus 1 deregistered
[ 0.999797] exynos-ehci 12580000.ehci: Failed to add USB HCD
[ 1.004150] exynos-ehci: probe of 12580000.ehci failed with error -110

As this is standard kernel.org code now, the fix should be easier to investigate, given time.!

Robert Gadsdon.   October 10, 2014.

ARM – CuBox to Kernel 3.17..

Just installed Kernel 3.17 ‘Final’ on the CuBox I4-Pro..    Source code from https://github.com/jmontleon/fedora-20-cubox-i_hb/tree/3.17.0..

Fedora release 20 (Heisenbug)
Kernel 3.17.0 on an armv7l (ttymxc0)
.......
$ uname -a
Linux rgcubox 3.17.0 #1 SMP PREEMPT Mon Oct 6 14:01:51 EDT 2014 armv7l armv7l armv7l GNU/Linux

Robert Gadsdon.  October 6, 2014.

Kernel 3.17 – At Last…

Kernel 3.17 Final has – finally – been released, and details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1410.0/02818.html

As with the last -rc, the latest NVIDIA (340.46) and VMware (10.0.3 patched) drivers install and run OK..

$ uname -a
Linux rglinux-i7 3.17.0 #1 SMP PREEMPT Sun Oct 5 18:02:39 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Robert Gadsdon.   October 5, 2014.

Kernel 3.17-rc7 – Unexpected..

Kernel 3.17 was due out by now, but we have another release candidate instead - rc7..

No problems with the latest VMware (10.0.3 patched) and NVIDIA (340.32) drivers, which compile and load OK..   The latest NVIDIA ‘beta’ (343.22) compiles/loads OK, but I need to test it more thoroughly with VMware, as the previous version broke the VM display on my main system..

# uname -a
Linux rg6830l 3.17.0-rc7 #1 SMP PREEMPT Mon Sep 29 10:36:46 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Details – and an explanation for the delay – are here:  http://lkml.iu.edu/hypermail/linux/kernel/1409.3/03393.html

Robert Gadsdon.  September 29, 2014.

Kernel 3.17-rc6 – 3.17 Final Soon?

Installed Kernel 3.17-rc6, and – as with -rc5 – the latest VMware (10.0.3 with vmnet patch) and NVIDIA (340.32) drivers compile and install/load OK..

# uname -a
Linux rg6830l 3.17.0-rc6 #1 SMP PREEMPT Mon Sep 22 09:48:38 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1409.2/03201.html

From the comments, it seems that the next release may be 3.17 Final..

Robert Gadsdon.   September 23, 2014.

Kernel 3.17-rc5 – Same Comments as -rc4..

Just updated the test system to Kernel 3.17-rc5, and – as with -rc4 – the vmnet-patched VMware 10.0.3 and NVIDIA 340.32 both compile/load OK..

$ uname -a
Linux rg6830l 3.17.0-rc5 #1 SMP PREEMPT Sun Sep 14 23:17:13 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1409.1/05124.html

Robert Gadsdon.   September 15, 2014.

ARM – Odroid U2 – Finally an Up-to-Date Kernel?

I had been frustrated by the apparent inability of the suppliers to provide anything other than an obsolete Ubuntu-centric 3.8+ kernel for the Odroid U2, and other kernels I had tested were somewhat ‘incomplete’…

I finally managed to get a 3.17-r3 version from https://github.com/tobiasjakobi/linux-odroid/tree/odroid-3.17.y

This now includes the necessary ‘bits’ for the U3, which is functionally identical to the U2…   After some minor config changes – including de-selecting some of the mali options, as some header files were missing/obsolete – I managed to get it to boot on my Odroid U2:

Fedora release 20 (Heisenbug)
Kernel 3.17.0-rc3 on an armv7l (ttySAC1)
..........
# uname -a
Linux rgodroid 3.17.0-rc3 #4 SMP PREEMPT Thu Sep 11 02:42:18 BST 2014 armv7l armv7l armv7l GNU/Linux

Unfortunately, further testing was impossible, after a sudden – and catastrophic – USB stick failure, which trashed the root filesystem..

More testing will follow, when that is replaced!

Robert Gadsdon.   September 12, 2014.

Kernel 3.17-rc4 – OK with (Patched) VMware, and latest NVIDIA..

Updated to Kernel 3.17-rc4, and the vmnet-patched VMware (10.0.3) and latest NVIDIA (340.32) all compile/load OK..    See previous -rc3 article for details of the patch..

$ uname -a 
Linux rg6830l 3.17.0-rc4 #1 SMP PREEMPT Sun Sep 7 22:33:23 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Details of the changes are here:  http://lkml.iu.edu/hypermail/linux/kernel/1409.0/04463.html

Robert Gadsdon.  September 8, 2014.