Building mali-r5p0-01rel0 on linux-4.0.0-rc2-1-ARCH

This forum is for topics dealing with problems with software specifically in the ARMv7h repo.

Building mali-r5p0-01rel0 on linux-4.0.0-rc2-1-ARCH

Postby vitalogy » Wed Mar 11, 2015 11:59 pm

Hi,

first ... thanks for your support to bring Arch Linux on ARM :)
I own a CubieTruck with a SSD connected, running linux-4.0.0-rc2-1-ARCH and it's working great.
CpuFreq is working fine with this kernel ... here are some hardware-stats:
$this->bbcode_second_pass_code('', 'Linux: 4.0.0-rc2-1-ARCH
Uptime: 53 min
CPU Temp: 27°C
CPU Clock: 528MHz (ondemand)
CPU Clock Statistik:
312 MHz:76,07%
528 MHz:10,01%
720 MHz:2,06%
864 MHz:1,73%
912 MHz:1,21%
960 MHz:3,00%
1.01 GHz:5,92%

RAM free: 1795MB / 2005MB
MMC/SD
/dev/mmcblk0p1 on / type ext4 (rw,relatime,data=ordered)
HDD/SSD
/dev/sda: SanDisk SDSSDHP128G 32°C
/dev/sda1: 111GB of 118GB available and mounted in /srv')

But i can not build mali kernel-driver (downloaded from mali-hp)
Make the kernel-driver is failing with the following error:

$this->bbcode_second_pass_code('', 'michael@CubieTruck mali $ LANG=C KDIR=/lib/modules/4.0.0-rc2-1-ARCH/build/ USING_UMP=1 BUILD=release make all
Makefile:82: /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/ump/Module.symvers
make ARCH=arm -C /lib/modules/4.0.0-rc2-1-ARCH/build/ M=/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali modules
make[1]: Entering directory '/usr/lib/modules/4.0.0-rc2-1-ARCH/build'
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_atomics.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_irq.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_wq.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_locks.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_wait_queue.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_low_level_mem.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_math.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_memory.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_misc.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_mali.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_notification.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_time.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_osk_timers.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_memory.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_memory_external.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_memory_block_alloc.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_mem.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_gp.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_pp.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_core.o
CC [M] /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_soft_job.o
In file included from /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/common/mali_timeline.h:19:0,
from /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/common/mali_soft_job.h:16,
from /srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_soft_job.c:19:
/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_sync.h:27:18: fatal error: sync.h: No such file or directory
#include <sync.h>
^
compilation terminated.
scripts/Makefile.build:258: recipe for target '/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_soft_job.o' failed
make[2]: *** [/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali/linux/mali_ukk_soft_job.o] Error 1
Makefile:1390: recipe for target '_module_/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali' failed
make[1]: *** [_module_/srv/home/michael/build/mali_gpu_linux/DX910-SW-99002-r5p0-01rel0/driver/src/devicedrv/mali] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.0.0-rc2-1-ARCH/build'
Makefile:174: recipe for target 'all' failed
make: *** [all] Error 2')

So yes, the header-file sync.h is not on the system.
Has the sync.h something to do with the android staging-driver in linux-kernel?
And is it possible to build mali on this kernel at all?

regards
MichaeL
vitalogy
 
Posts: 5
Joined: Sun Feb 22, 2015 4:44 pm

Re: Building mali-r5p0-01rel0 on linux-4.0.0-rc2-1-ARCH

Postby WarheadsSE » Thu Mar 12, 2015 2:14 am

I can't say that it was designed to be compiled against mainline.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Building mali-r5p0-01rel0 on linux-4.0.0-rc2-1-ARCH

Postby vitalogy » Mon Mar 16, 2015 3:16 am

Moinsen,

i could build the ump modul, and also the mali modul:
* by adding the following to the section _package-headers() in the PKBUILD from linux-armv7-rc
$this->bbcode_second_pass_code('', '
# google's sync implementation
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/uapi"
cp drivers/staging/android/sync.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/"
cp drivers/staging/android/uapi/sync.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/uapi"')
* set CONFIG_SW_SYNC to yes in the kernel-config (do not know, if this is neccessary)
* rebuild and install linux-armv7-rc and linux-armv7-rc-headers

note: for building linux-armv7-rc i also had to modify the PKGBUILD to download direct linux-4.0-rc3, otherwise i got a package linux-armv7-rc-3.19.0 (??) and a error and break for the smileplug (dtb can not be found or so)

i had also to modify mali_sync.c to build successfully (found via google ;) )
$this->bbcode_second_pass_code('', '
s32 mali_sync_fence_fd_alloc(struct sync_fence *sync_fence)
{
s32 fd = -1;

- fd = get_unused_fd();
+ fd = get_unused_fd_flags(0);
if (fd < 0) {
sync_fence_put(sync_fence);
return -1;
}
sync_fence_install(sync_fence, fd);

return fd;
}')


summary: i could load both modules
$this->bbcode_second_pass_code('', '[12035.953246] UMP: UMP device driver loaded
[12039.051604] Mali: Mali device driver loaded')

as my understanding, now i need the Mali GPU User Space Driver ... will see.


MichaeL
vitalogy
 
Posts: 5
Joined: Sun Feb 22, 2015 4:44 pm


Return to ARMv7h

Who is online

Users browsing this forum: No registered users and 7 guests