On 13/04/13 08:50, the mail apparently from John Stultz included:
On 04/12/2013 05:34 PM, Andy Green wrote:
Hi -
At the moment the Mali T624 OOT module sources I have do not build against 3.9-rcX / linux-linaro-core-tracking. A colleague checked it and it does build against 3.4. The problems I saw are around ION compatibility but they didn't look tremendously bad.
Any details on what the ION compatibility issues are?
Build with ION looks like this atm
pwd=/projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase make -C /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/../../../../../../kernel/drivers/base/kds make[1]: Entering directory `/projects/linaro/mali-t624/kernel/drivers/base/kds' make ARCH=arm -C /projects/linaro/mali-t624/kernel/../../linux-2.6/panda M=/projects/linaro/mali-t624/kernel/drivers/base/kds EXTRA_CFLAGS="-I/projects/linaro/mali-t624/kernel/drivers/base/kds/../../../include" CONFIG_KDS=m make[2]: Entering directory `/projects/linaro/linux-2.6/panda' LD /projects/linaro/mali-t624/kernel/drivers/base/kds/built-in.o CC [M] /projects/linaro/mali-t624/kernel/drivers/base/kds/kds.o Building modules, stage 2. MODPOST 1 modules CC /projects/linaro/mali-t624/kernel/drivers/base/kds/kds.mod.o LD [M] /projects/linaro/mali-t624/kernel/drivers/base/kds/kds.ko make[2]: Leaving directory `/projects/linaro/linux-2.6/panda' make[1]: Leaving directory `/projects/linaro/mali-t624/kernel/drivers/base/kds' make -C /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/../../../../../../kernel/drivers/base/ump/src make[1]: Entering directory `/projects/linaro/mali-t624/kernel/drivers/base/ump/src' make ARCH=arm -C /projects/linaro/mali-t624/kernel/../../linux-2.6/panda M=/projects/linaro/mali-t624/kernel/drivers/base/ump/src EXTRA_CFLAGS="-I/projects/linaro/mali-t624/kernel/drivers/base/ump/src/../../../../include -DCONFIG_UMP -DCONFIG_MALI_DEBUG -DCONFIG_MALI_PLATFORM_FAKE -DCONFIG_MALI_PLATFORM_VEXPRESS -DCONFIG_MALI_UNCACHED -DCONFIG_MALI_GATOR_SUPPORT -DCONFIG_KDS" CONFIG_UMP=m KBUILD_EXTRA_SYMBOLS=" /projects/linaro/mali-t624/kernel/drivers/base/ump/src/../../../../../kernel/drivers/base/kds/Module.symvers" modules make[2]: Entering directory `/projects/linaro/linux-2.6/panda' CC [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/common/ump_kernel_core.o CC [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.o CC [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/linux/ump_kernel_linux.o CC [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.o LD [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/ump.o CC [M] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.o /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c: In function ‘import_ion_client_create’: /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:52:2: warning: passing argument 2 of ‘ion_client_create’ makes pointer from integer without a cast [enabled by default] In file included from /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:17:0: /projects/linaro/linux-2.6/include/linux/ion.h:128:20: note: expected ‘const char *’ but argument is of type ‘unsigned int’ /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:52:2: error: too many arguments to function ‘ion_client_create’ In file included from /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:17:0: /projects/linaro/linux-2.6/include/linux/ion.h:128:20: note: declared here /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c: In function ‘import_ion_final_release_callback’: /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:79:2: error: implicit declaration of function ‘ion_unmap_dma’ [-Werror=implicit-function-declaration] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c: In function ‘import_ion_import’: /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:112:2: error: implicit declaration of function ‘ion_import_fd’ [-Werror=implicit-function-declaration] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:112:23: warning: assignment makes pointer from integer without a cast [enabled by default] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:119:2: error: implicit declaration of function ‘ion_map_dma’ [-Werror=implicit-function-declaration] /projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c:119:19: warning: assignment makes pointer from integer without a cast [enabled by default] cc1: some warnings being treated as errors make[5]: *** [/projects/linaro/mali-t624/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.o] Error 1 make[4]: *** [_module_/projects/linaro/mali-t624/kernel/drivers/base/ump/src] Error 2 make[3]: *** [sub-make] Error 2 make[2]: *** [all] Error 2 make[2]: Leaving directory `/projects/linaro/linux-2.6/panda' make[1]: *** [all] Error 2 make[1]: Leaving directory `/projects/linaro/mali-t624/kernel/drivers/base/ump/src' make: *** [all] Error 2
They don't look too horrible but having barely survived dealing with SGX in Omap, if we can make all this completely turnkey to consume we will have done a great thing, I think.
I could work around the problems myself, but it seems to me this might be something that Linaro could solve centrally, dealing with it using the Androidization model - sync a Linaro repo against code drops coming from "upstream", ie, ARM, but keep it always building against llct inbetween. Perhaps even inside llct.
The idea of having a mali-ization tree sounds like a reasonable approach.
That said, if there are any patches against the ION code needed, I'd be interested in seeing them. Right now is a particularly good time for getting Android dependent patches into AOSP, as linux-linaro isn't very far from the latest AOSP branch, and we've had some good success here over the last week or so.
I'm hoping someone else will write the patches ^^ but if not I'll try to sort something out.
FYI if I disabled ION (but actually, we try to have one kernel for vanilla and android with android all on)
CC [M] /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/src/common/mali_kbase_js_policy_cfs.o /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/src/common/mali_kbase_js_policy_cfs.c: In function ‘kbasep_js_policy_init_ctx’: /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/src/common/mali_kbase_js_policy_cfs.c:910:35: error: ‘MAX_RT_PRIO’ undeclared (first use in this function) /projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/src/common/mali_kbase_js_policy_cfs.c:910:35: note: each undeclared identifier is reported only once for each function it appears in make[5]: *** [/projects/linaro/mali-t624/kernel/drivers/gpu/arm/t6xx/kbase/src/common/mali_kbase_js_policy_cfs.o] Error 1
So there are probably a few more little rottings.
-Andy