Kernel 4.14 Include Mali driver

Download Mali driver from https://developer.arm.com/products/software/mali-drivers/utgard-kernel

Using the kernel from Frank-w https://github.com/frank-w/BPI-R2-4.14

What i am doing wrong?

$ export ARCH=arm;export CROSS_COMPILE=arm-linux-gnueabihf-
$ cd DX910-SW-99002-r8p0-01rel0/driver/src/devicedrv/mali
$ KDIR=~/BPI-R2-4.14/ USING_UMP=1 BUILD=release make
Makefile:86: 
make: *** No rule to make target '../ump/Module.symvers', needed by 'all'.  Stop.

read the readme :wink:

DX910-SW-99002-r8p0-01rel0/driver/src/devicedrv/mali/readme.txt

(*)  For newer Linux Kernels, the Module.symvers file for the UMP device driver
     must be available. The UMP_SYMVERS_FILE variable in the Makefile should
     point to this file. This file is generated when the UMP driver is built.

you must first build UMP-driver then mali with UMP_SYMVERS_FILE set

getting started with mali-branch…waiting for patches :wink:

dts is not clean parse error on

“clocks = <clock 122>, <clock 123>;”

maybe because the clocks are not defined…

the ump-driver throws

mali/src/devicedrv/ump/linux/ump_kernel_memory_backend_os.c:136:54: error: ‘__GFP_REPEAT’ undeclared (first use in this function)
    new_page = alloc_page(GFP_HIGHUSER | __GFP_ZERO | __GFP_REPEAT | __GFP_NOWARN);
                                                      ^

this seems to be removed between 4.12 and 4.13: https://elixir.free-electrons.com/linux/v4.12.14/ident/__GFP_REPEAT

fixed that and another error…now compile only with warnings…

Should you try with DMA only

Use of UMP is not recommended. The dma-buf API in the Linux kernel has
replaced UMP. The Mali Device Driver will be built with dma-buf support if the
kernel config includes enabled dma-buf.

ok fixed that

now there is an undefined function “global_page_state”…see build.log for more