I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Is anyone else seeing the following?
When I build this branch locally, I get the following error:
/media/scottb/linaro/hikey/source/linux/drivers/gpu/arm/utgard/Kbuild:37: *** DMA-BUF is incompatible with non-GPL license. Stop. /media/scottb/linaro/hikey/source/linux/scripts/Makefile.build:416: recipe for target 'drivers/gpu/arm/utgard' failed make[4]: *** [drivers/gpu/arm/utgard] Error 2 /media/scottb/linaro/hikey/source/linux/scripts/Makefile.build:416: recipe for target 'drivers/gpu/arm' failed make[3]: *** [drivers/gpu/arm] Error 2 /media/scottb/linaro/hikey/source/linux/scripts/Makefile.build:416: recipe for target 'drivers/gpu' failed make[2]: *** [drivers/gpu] Error 2 /media/scottb/linaro/hikey/source/linux/Makefile:957: recipe for target 'drivers' failed make[1]: *** [drivers] Error 2 make[1]: Leaving directory '/media/scottb/linaro/kernel/output/kernel-hikey-mali' Makefile:145: recipe for target 'sub-make' failed make: *** [sub-make] Error 2
This error is from: drivers/gpu/arm/utgard/Kbuild
The above makefile has the following script in it:
# For customer releases the Linux Device Drivers will be provided as ARM proprietary and GPL releases: # The ARM proprietary product will only include the license/proprietary directory # The GPL product will only include the license/gpl directory ifeq ($(wildcard $(src)/linux/license/gpl/*),) ccflags-y += -I$(src)/linux/license/proprietary ifeq ($(CONFIG_MALI400_PROFILING),y) $(error Profiling is incompatible with non-GPL license) endif ifeq ($(CONFIG_PM_RUNTIME),y) $(error Runtime PM is incompatible with non-GPL license) endif ifeq ($(CONFIG_DMA_SHARED_BUFFER),y) $(error DMA-BUF is incompatible with non-GPL license) endif $(error Linux Device integration is incompatible with non-GPL license) else ccflags-y += -I$(src)/linux/license/gpl endif
The condition is failing: ifeq ($(wildcard $(src)/linux/license/gpl/*),)
$(src) is "drivers/gpu/arm/utgard" drivers/gpu/arm/utgard/linux/license/gpl contains file mali_kernel_license.h wildcard $(src)/linux/license/gpl/* should return "mali_kernel_license.h" but actually returns "" hence the code assumes we are using a proprietary license, and dies because we are using DMA_BUF.
Anyone have any thoughts?
Since we know we are using GPL code, an easy workaround is to comment out all the code, except for:
ccflags-y += -I$(src)/linux/license/gpl
Scott
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
On 03/26/2015 01:48 PM, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
3.18.0-01079-g7b30d2f/kernel/drivers/gpu/ 3.18.0-01079-g7b30d2f/kernel/drivers/gpu/arm/ 3.18.0-01079-g7b30d2f/kernel/drivers/gpu/arm/utgard/ 3.18.0-01079-g7b30d2f/kernel/drivers/gpu/arm/utgard/mali.ko 3.18.0-01079-g7b30d2f/kernel/crypto/ 3.18.0-01079-g7b30d2f/kernel/crypto/ctr.ko 3.18.0-01079-g7b30d2f/kernel/crypto/ansi_cprng.ko 3.18.0-01079-g7b30d2f/kernel/crypto/ccm.ko 3.18.0-01079-g7b30d2f/kernel/crypto/seqiv.ko 3.18.0-01079-g7b30d2f/kernel/crypto/sha256_generic.ko 3.18.0-01079-g7b30d2f/modules.alias.bin 3.18.0-01079-g7b30d2f/source 3.18.0-01079-g7b30d2f/modules.alias 3.18.0-01079-g7b30d2f/build 3.18.0-01079-g7b30d2f/modules.symbols.bin 3.18.0-01079-g7b30d2f/modules.order 3.18.0-01079-g7b30d2f/modules.devname creating fat format boot images [enter] - creating non-uefi image 131072+0 records in 131072+0 records out
also using 14.04.1 LTS
[jramirez@titan build.git (master)]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
Dev mailing list Dev@lists.96boards.org https://lists.96boards.org/mailman/listinfo/dev
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Regards, Vishal
On 27 March 2015 at 19:02, Guillaume Tucker guillaume.tucker@arm.com wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error
using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl. html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On 29 March 2015 at 21:07, Vishal Bhoj vishal.bhoj@linaro.org wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Regards, Vishal
On 27 March 2015 at 19:02, Guillaume Tucker guillaume.tucker@arm.com wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error
using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl. html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org mailto:vishal.bhoj@linaro.org> wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
@xuzixin I have attached these two log file. Please take a look at them.
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org mailto:vishal.bhoj@linaro.org> wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Hi,
On 30 March 2015 at 07:57, xinliang xin3liang@qq.com wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj vishal.bhoj@linaro.org wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and
change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Thanks ! I don't see the FB related error not but I still get the ION errors:
E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ?
Regards, Vishal
On 27 March 2015 at 19:02, Guillaume Tucker guillaume.tucker@arm.com wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error
using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html%3E This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Loop zhixin,
On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote:
Hi,
On 30 March 2015 at 07:57, xinliang <xin3liang@qq.com mailto:xin3liang@qq.com> wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org <mailto:vishal.bhoj@linaro.org>> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748 Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat: https://pastebin.linaro.org/view/6e7d5ca4 Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Thanks ! I don't see the FB related error not but I still get the ION errors:
E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed
@xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks.
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ?
Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
loop ZhaoDan
发件人: xinliang [mailto:xin3liang@qq.com] 发送时间: 2015年3月30日 11:11 收件人: Xuzixin 抄送: Vishal Bhoj; Guillaume.Tucker; dev 主题: Re: [Dev] Kernel build issue: hikey-mali branch fails to build...
Loop zhixin, On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote: Hi,
On 30 March 2015 at 07:57, xinliang <xin3liang@qq.commailto:xin3liang@qq.com> wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.orgmailto:vishal.bhoj@linaro.org> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Thanks ! I don't see the FB related error not but I still get the ION errors:
E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed @xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks.
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ?
Regards, Vishal
On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.commailto:guillaume.tucker@arm.com> wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
ping ! Any ETA on the recompiled libion lib?
On 31 March 2015 at 11:39, Xuzixin xuzixin@hisilicon.com wrote:
loop ZhaoDan
*发件人:* xinliang [mailto:xin3liang@qq.com] *发送时间:* 2015年3月30日 11:11 *收件人:* Xuzixin *抄送:* Vishal Bhoj; Guillaume.Tucker; dev *主题:* Re: [Dev] Kernel build issue: hikey-mali branch fails to build...
Loop zhixin,
On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote:
Hi,
On 30 March 2015 at 07:57, xinliang xin3liang@qq.com wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj vishal.bhoj@linaro.org wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here:
https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like):
<3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
<7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755
<6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400
<4>[ 81.917596] Mali: GPU version: CF070000
<4>[ 81.930435] Mali: Mali device driver loaded
<7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs
<14>[ 101.000830] healthd: battery none chg=
<3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Thanks ! I don't see the FB related error not but I still get the ION errors:
E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument
E/ion ( 2111): map iommu failed!
E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 )
W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted)
E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed
@xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks.
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread)
D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting.
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ?
Regards,
Vishal
On 27 March 2015 at 19:02, Guillaume Tucker guillaume.tucker@arm.com wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html%3E This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On Tuesday, April 07, 2015 05:08 PM, Vishal Bhoj wrote:
Hi Vishal, I am working with my colleagues on the rebuilding of ion and gralloc libs. There are some difference between corrent hikey kernel and product kernel on ion driver. we need some time to handle this difference in order to rebuild a work ion and gralloc lib.
Best regards, Xinliang
ping ! Any ETA on the recompiled libion lib?
On 31 March 2015 at 11:39, Xuzixin <xuzixin@hisilicon.com mailto:xuzixin@hisilicon.com> wrote:
loop ZhaoDan *发件人:*xinliang [mailto:xin3liang@qq.com <mailto:xin3liang@qq.com>] *发送时间:*2015年3月30日11:11 *收件人:*Xuzixin *抄送:*Vishal Bhoj; Guillaume.Tucker; dev *主题:*Re: [Dev] Kernel build issue: hikey-mali branch fails to build... Loop zhixin, On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote: Hi, On 30 March 2015 at 07:57, xinliang <xin3liang@qq.com <mailto:xin3liang@qq.com>> wrote: On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote: On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org <mailto:vishal.bhoj@linaro.org>> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748 Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat: https://pastebin.linaro.org/view/6e7d5ca4 Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2 Thanks ! I don't see the FB related error not but I still get the ION errors: E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed @xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks. E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ? Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Hi, I rebuild the gralloc lib with the libgralloc.patch(please find it in the attached file) , which remove all the hisilicon's private code. I can load gralloc and gpu libs sucessfully. But encounter bellow issue:
[ 28.341733] ------------[ cut here ]------------ [ 28.346420] WARNING: CPU: 1 PID: 1688 at drivers/staging/android/sync.c:433 android_fence_release+0xf0/0x100() [ 28.356428] Modules linked in: [ 28.359497] CPU: 1 PID: 1688 Comm: surfaceflinger Not tainted 3.18.0-linaro-hikey #5 [ 28.367240] Call trace: [ 28.369692] [<ffffffc000088630>] dump_backtrace+0x0/0x140 [ 28.375093] [<ffffffc000088780>] show_stack+0x10/0x1c [ 28.380149] [<ffffffc000835b10>] dump_stack+0x74/0xb8 [ 28.385202] [<ffffffc0000b0114>] warn_slowpath_common+0x90/0xb4 [ 28.391121] [<ffffffc0000b01fc>] warn_slowpath_null+0x14/0x20 [ 28.396870] [<ffffffc0006b5e64>] android_fence_release+0xec/0x100 [ 28.402988] [<ffffffc00054f720>] fence_release+0x44/0xfc [ 28.408309] [<ffffffc0006b6090>] sync_fence_free+0x88/0xb4 [ 28.413799] [<ffffffc0006b60f0>] sync_fence_release+0x34/0x48 [ 28.419571] [<ffffffc0001c3988>] __fput+0x8c/0x1d4 [ 28.424367] [<ffffffc0001c3b24>] ____fput+0x8/0x14 [ 28.429160] [<ffffffc0000caa90>] task_work_run+0x94/0xec [ 28.434473] [<ffffffc0000881ec>] do_notify_resume+0x54/0x68 [ 28.440045] ---[ end trace 34fb9bc92eafeafb ]---
And with addr2line tool i address on line 433 of file:drivers/staging/android/sync.c:433 425 static void android_fence_release(struct fence *fence) 426 { 427 struct sync_pt *pt = container_of(fence, struct sync_pt, base); 428 struct sync_timeline *parent = sync_pt_parent(pt); 429 unsigned long flags; 430 431 spin_lock_irqsave(fence->lock, flags); 432 list_del(&pt->child_list); 433 if (WARN_ON_ONCE(!list_empty(&pt->active_list))) 434 list_del(&pt->active_list);
I attach the kernel and logcat log. Does zixin and anybody who know what's the problem is?
Best Regards, -Xinliang
On Wednesday, April 08, 2015 07:23 PM, xinliang wrote:
On Tuesday, April 07, 2015 05:08 PM, Vishal Bhoj wrote: Hi Vishal, I am working with my colleagues on the rebuilding of ion and gralloc libs. There are some difference between corrent hikey kernel and product kernel on ion driver. we need some time to handle this difference in order to rebuild a work ion and gralloc lib.
Best regards, Xinliang
ping ! Any ETA on the recompiled libion lib?
On 31 March 2015 at 11:39, Xuzixin <xuzixin@hisilicon.com mailto:xuzixin@hisilicon.com> wrote:
loop ZhaoDan *发件 人:*xinliang [mailto:xin3liang@qq.com <mailto:xin3liang@qq.com>] *发送 时间:*2015年3月30日11:11 *收件人:*Xuzixin *抄送:*Vishal Bhoj; Guillaume.Tucker; dev *主题:*Re: [Dev] Kernel build issue: hikey-mali branch fails to build... Loop zhixin, On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote: Hi, On 30 March 2015 at 07:57, xinliang <xin3liang@qq.com <mailto:xin3liang@qq.com>> wrote: On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote: On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org <mailto:vishal.bhoj@linaro.org>> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748 Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat: https://pastebin.linaro.org/view/6e7d5ca4 Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2 Thanks ! I don't see the FB related error not but I still get the ION errors: E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed @xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks. E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ? Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Loop shaozhen.
On Tuesday, April 21, 2015 04:02 PM, xinliang wrote:
Hi, I rebuild the gralloc lib with the libgralloc.patch(please find it in the attached file) , which remove all the hisilicon's private code. I can load gralloc and gpu libs sucessfully. But encounter bellow issue:
[ 28.341733] ------------[ cut here ]------------ [ 28.346420] WARNING: CPU: 1 PID: 1688 at drivers/staging/android/sync.c:433 android_fence_release+0xf0/0x100() [ 28.356428] Modules linked in: [ 28.359497] CPU: 1 PID: 1688 Comm: surfaceflinger Not tainted 3.18.0-linaro-hikey #5 [ 28.367240] Call trace: [ 28.369692] [<ffffffc000088630>] dump_backtrace+0x0/0x140 [ 28.375093] [<ffffffc000088780>] show_stack+0x10/0x1c [ 28.380149] [<ffffffc000835b10>] dump_stack+0x74/0xb8 [ 28.385202] [<ffffffc0000b0114>] warn_slowpath_common+0x90/0xb4 [ 28.391121] [<ffffffc0000b01fc>] warn_slowpath_null+0x14/0x20 [ 28.396870] [<ffffffc0006b5e64>] android_fence_release+0xec/0x100 [ 28.402988] [<ffffffc00054f720>] fence_release+0x44/0xfc [ 28.408309] [<ffffffc0006b6090>] sync_fence_free+0x88/0xb4 [ 28.413799] [<ffffffc0006b60f0>] sync_fence_release+0x34/0x48 [ 28.419571] [<ffffffc0001c3988>] __fput+0x8c/0x1d4 [ 28.424367] [<ffffffc0001c3b24>] ____fput+0x8/0x14 [ 28.429160] [<ffffffc0000caa90>] task_work_run+0x94/0xec [ 28.434473] [<ffffffc0000881ec>] do_notify_resume+0x54/0x68 [ 28.440045] ---[ end trace 34fb9bc92eafeafb ]---
And with addr2line tool i address on line 433 of file:drivers/staging/android/sync.c:433 425 static void android_fence_release(struct fence *fence) 426 { 427 struct sync_pt *pt = container_of(fence, struct sync_pt, base); 428 struct sync_timeline *parent = sync_pt_parent(pt); 429 unsigned long flags; 430 431 spin_lock_irqsave(fence->lock, flags); 432 list_del(&pt->child_list); 433 if (WARN_ON_ONCE(!list_empty(&pt->active_list))) 434 list_del(&pt->active_list);
I attach the kernel and logcat log. Does zixin and anybody who know what's the problem is?
Best Regards, -Xinliang
On Wednesday, April 08, 2015 07:23 PM, xinliang wrote:
On Tuesday, April 07, 2015 05:08 PM, Vishal Bhoj wrote: Hi Vishal, I am working with my colleagues on the rebuilding of ion and gralloc libs. There are some difference between corrent hikey kernel and product kernel on ion driver. we need some time to handle this difference in order to rebuild a work ion and gralloc lib.
Best regards, Xinliang
ping ! Any ETA on the recompiled libion lib?
On 31 March 2015 at 11:39, Xuzixin <xuzixin@hisilicon.com mailto:xuzixin@hisilicon.com> wrote:
loop ZhaoDan *发 件 人:*xinliang [mailto:xin3liang@qq.com <mailto:xin3liang@qq.com>] *发 送 时间:*2015年3月30日11:11 *收件人:*Xuzixin *抄送:*Vishal Bhoj; Guillaume.Tucker; dev *主题:*Re: [Dev] Kernel build issue: hikey-mali branch fails to build... Loop zhixin, On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote: Hi, On 30 March 2015 at 07:57, xinliang <xin3liang@qq.com <mailto:xin3liang@qq.com>> wrote: On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote: On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org <mailto:vishal.bhoj@linaro.org>> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748 Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat: https://pastebin.linaro.org/view/6e7d5ca4 Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2 Thanks ! I don't see the FB related error not but I still get the ION errors: E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed @xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks. E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ? Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Hi Xin,
Any update on this ?
On 21 April 2015 at 13:54, xinliang xin3liang@qq.com wrote:
Loop shaozhen.
On Tuesday, April 21, 2015 04:02 PM, xinliang wrote:
Hi, I rebuild the gralloc lib with the libgralloc.patch(please find it in the attached file) , which remove all the hisilicon's private code. I can load gralloc and gpu libs sucessfully. But encounter bellow issue:
[ 28.341733] ------------[ cut here ]------------ [ 28.346420] WARNING: CPU: 1 PID: 1688 at drivers/staging/android/sync.c:433 android_fence_release+0xf0/0x100() [ 28.356428] Modules linked in: [ 28.359497] CPU: 1 PID: 1688 Comm: surfaceflinger Not tainted 3.18.0-linaro-hikey #5 [ 28.367240] Call trace: [ 28.369692] [<ffffffc000088630>] dump_backtrace+0x0/0x140 [ 28.375093] [<ffffffc000088780>] show_stack+0x10/0x1c [ 28.380149] [<ffffffc000835b10>] dump_stack+0x74/0xb8 [ 28.385202] [<ffffffc0000b0114>] warn_slowpath_common+0x90/0xb4 [ 28.391121] [<ffffffc0000b01fc>] warn_slowpath_null+0x14/0x20 [ 28.396870] [<ffffffc0006b5e64>] android_fence_release+0xec/0x100 [ 28.402988] [<ffffffc00054f720>] fence_release+0x44/0xfc [ 28.408309] [<ffffffc0006b6090>] sync_fence_free+0x88/0xb4 [ 28.413799] [<ffffffc0006b60f0>] sync_fence_release+0x34/0x48 [ 28.419571] [<ffffffc0001c3988>] __fput+0x8c/0x1d4 [ 28.424367] [<ffffffc0001c3b24>] ____fput+0x8/0x14 [ 28.429160] [<ffffffc0000caa90>] task_work_run+0x94/0xec [ 28.434473] [<ffffffc0000881ec>] do_notify_resume+0x54/0x68 [ 28.440045] ---[ end trace 34fb9bc92eafeafb ]---
And with addr2line tool i address on line 433 of file:drivers/staging/android/sync.c:433 425 static void android_fence_release(struct fence *fence) 426 {
427 struct sync_pt *pt = container_of(fence, struct sync_pt, base); 428 struct sync_timeline *parent = sync_pt_parent(pt); 429 unsigned long flags; 430
431 spin_lock_irqsave(fence->lock, flags); 432 list_del(&pt->child_list); 433 if (WARN_ON_ONCE(!list_empty(&pt->active_list))) 434 list_del(&pt->active_list);
I attach the kernel and logcat log. Does zixin and anybody who know what's the problem is?
Best Regards, -Xinliang
On Wednesday, April 08, 2015 07:23 PM, xinliang wrote:
On Tuesday, April 07, 2015 05:08 PM, Vishal Bhoj wrote:
Hi Vishal, I am working with my colleagues on the rebuilding of ion and gralloc libs. There are some difference between corrent hikey kernel and product kernel on ion driver. we need some time to handle this difference in order to rebuild a work ion and gralloc lib.
Best regards, Xinliang
ping ! Any ETA on the recompiled libion lib?
On 31 March 2015 at 11:39, Xuzixin xuzixin@hisilicon.com wrote:
loop ZhaoDan
*发 件 人:* xinliang [mailto:xin3liang@qq.com] *发 送 时间:* 2015年3月30日 11:11 *收件人:* Xuzixin *抄送:* Vishal Bhoj; Guillaume.Tucker; dev *主题:* Re: [Dev] Kernel build issue: hikey-mali branch fails to build...
Loop zhixin,
On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote:
Hi,
On 30 March 2015 at 07:57, xinliang xin3liang@qq.com wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj vishal.bhoj@linaro.org wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here:
https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like):
<3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
<7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755
<6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400
<4>[ 81.917596] Mali: GPU version: CF070000
<4>[ 81.930435] Mali: Mali device driver loaded
<7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs
<14>[ 101.000830] healthd: battery none chg=
<3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
Thanks ! I don't see the FB related error not but I still get the ION errors:
E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument
E/ion ( 2111): map iommu failed!
E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 )
W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted)
E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed
@xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks.
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread)
D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting.
E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2
E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC)
Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ?
Regards,
Vishal
On 27 March 2015 at 19:02, Guillaume Tucker guillaume.tucker@arm.com wrote:
On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote:
On 03/26/2015 11:15 AM, Scott Bambrough wrote:
I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds.
Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL.
on my side it builds fine (I havent been able to reproduce the error using the following)
[jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
[jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10"
[jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html%3E This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On Tuesday, April 28, 2015 03:31 PM, Vishal Bhoj wrote: Hi Vishal,
Hi Xin,
Any update on this ?
no now. I have working on this issue since this week, need to look deep into the code, and just have a discuss on this issue with shaozhen. I think he will do great help on this issue. And feedback soon!
On 21 April 2015 at 13:54, xinliang <xin3liang@qq.com mailto:xin3liang@qq.com> wrote:
Loop shaozhen. On Tuesday, April 21, 2015 04:02 PM, xinliang wrote:
Hi, I rebuild the gralloc lib with the libgralloc.patch(please find it in the attached file) , which remove all the hisilicon's private code. I can load gralloc and gpu libs sucessfully. But encounter bellow issue: [ 28.341733] ------------[ cut here ]------------ [ 28.346420] WARNING: CPU: 1 PID: 1688 at drivers/staging/android/sync.c:433 android_fence_release+0xf0/0x100() [ 28.356428] Modules linked in: [ 28.359497] CPU: 1 PID: 1688 Comm: surfaceflinger Not tainted 3.18.0-linaro-hikey #5 [ 28.367240] Call trace: [ 28.369692] [<ffffffc000088630>] dump_backtrace+0x0/0x140 [ 28.375093] [<ffffffc000088780>] show_stack+0x10/0x1c [ 28.380149] [<ffffffc000835b10>] dump_stack+0x74/0xb8 [ 28.385202] [<ffffffc0000b0114>] warn_slowpath_common+0x90/0xb4 [ 28.391121] [<ffffffc0000b01fc>] warn_slowpath_null+0x14/0x20 [ 28.396870] [<ffffffc0006b5e64>] android_fence_release+0xec/0x100 [ 28.402988] [<ffffffc00054f720>] fence_release+0x44/0xfc [ 28.408309] [<ffffffc0006b6090>] sync_fence_free+0x88/0xb4 [ 28.413799] [<ffffffc0006b60f0>] sync_fence_release+0x34/0x48 [ 28.419571] [<ffffffc0001c3988>] __fput+0x8c/0x1d4 [ 28.424367] [<ffffffc0001c3b24>] ____fput+0x8/0x14 [ 28.429160] [<ffffffc0000caa90>] task_work_run+0x94/0xec [ 28.434473] [<ffffffc0000881ec>] do_notify_resume+0x54/0x68 [ 28.440045] ---[ end trace 34fb9bc92eafeafb ]--- And with addr2line tool i address on line 433 of file:drivers/staging/android/sync.c:433 425 static void android_fence_release(struct fence *fence) 426 { 427 struct sync_pt *pt = container_of(fence, struct sync_pt, base); 428 struct sync_timeline *parent = sync_pt_parent(pt); 429 unsigned long flags; 430 431 spin_lock_irqsave(fence->lock, flags); 432 list_del(&pt->child_list); 433 if (WARN_ON_ONCE(!list_empty(&pt->active_list))) 434 list_del(&pt->active_list); I attach the kernel and logcat log. Does zixin and anybody who know what's the problem is? Best Regards, -Xinliang On Wednesday, April 08, 2015 07:23 PM, xinliang wrote:
On Tuesday, April 07, 2015 05:08 PM, Vishal Bhoj wrote: Hi Vishal, I am working with my colleagues on the rebuilding of ion and gralloc libs. There are some difference between corrent hikey kernel and product kernel on ion driver. we need some time to handle this difference in order to rebuild a work ion and gralloc lib. Best regards, Xinliang
ping ! Any ETA on the recompiled libion lib? On 31 March 2015 at 11:39, Xuzixin <xuzixin@hisilicon.com <mailto:xuzixin@hisilicon.com>> wrote: loop ZhaoDan *发 件 人:*xinliang [mailto:xin3liang@qq.com <mailto:xin3liang@qq.com>] *发 送 时间:*2015年3月30日11:11 *收件人:*Xuzixin *抄送:*Vishal Bhoj; Guillaume.Tucker; dev *主题:*Re: [Dev] Kernel build issue: hikey-mali branch fails to build... Loop zhixin, On Monday, March 30, 2015 11:00 AM, Vishal Bhoj wrote: Hi, On 30 March 2015 at 07:57, xinliang <xin3liang@qq.com <mailto:xin3liang@qq.com>> wrote: On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote: On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org <mailto:vishal.bhoj@linaro.org>> wrote: I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748 Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat: https://pastebin.linaro.org/view/6e7d5ca4 Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2 Thanks ! I don't see the FB related error not but I still get the ION errors: E/ion ( 2111): ioctl fd 10 c0404908(unknown) failed with code -1: Invalid argument E/ion ( 2111): map iommu failed! E/[Gralloc-ERROR]( 2111): int alloc_backend_alloc(alloc_device_t*, int, int, size_t, int, const native_handle_t**):101 ion_map_iommu( 10 ) failed, usage ( 1e02 ), byte_w ( 8192 ) W/GraphicBufferAllocator( 2111): alloc(1280, 720, 1, 00001e02, ...) failed -1 (Operation not permitted) E/ ( 2111): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=720) failed (Operation not permitted), handle=0x0 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: createGraphicBuffer failed @xuzixin current ion doesn't use iommu and we use reserved memory instead. Could you please rebuild an ion lib that alloc memory in reserved way? Thanks. E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -1, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/libEGL ( 2111): call to OpenGL ES API with no current context (logged once per thread) D/SurfaceFlinger( 2111): Set power mode=2, type=0 flinger=0x7fb7764000 E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) W/SurfaceFlinger( 2111): DisplayDevice::makeCurrent failed. Aborting surface composition for display Built-in Screen E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) E/SurfaceFlinger( 2111): DisplayDevice::makeCurrent on default display failed. Aborting. E/BufferQueueProducer( 2111): [FramebufferSurface] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count E/[EGL-ERROR]( 2111): void __egl_platform_dequeue_buffer(egl_surface*):1609: failed to dequeue buffer from native window 0x7fb6b1be10; err = -38, buf = 0x0,max_allowed_dequeued_buffers 2 E/libEGL ( 2111): eglMakeCurrent:777 error 3003 (EGL_BAD_ALLOC) Is there source available for gralloc and libion ? Can someone in Hisilicon LT help with this ? Regards, Vishal On 27 March 2015 at 19:02, Guillaume Tucker <guillaume.tucker@arm.com <mailto:guillaume.tucker@arm.com>> wrote: On 26/03/15 17:48, Jorge Ramirez-Ortiz wrote: On 03/26/2015 11:15 AM, Scott Bambrough wrote: I've been going around with Jorge for a couple of days with this. He doesn't see the error but I do using make 4.0. I have spoken with Vishal and he sees this error with make 3.81, and tells me Fathi sees this error in local builds. Works for me with GNU Make 3.81 on Ubuntu 12.04. I didn't remove anything from Kbuild in the patch I sent you as I didn't hit this issue, but the bit of logic involved only tends to make sense when the driver is built out-of-tree. So in this context I think it can be simplified as Scott suggested (i.e. by removing the license test) as we know it's all GPL. on my side it builds fine (I havent been able to reproduce the error using the following) [jramirez@calypso-2 ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" [jramirez@calypso-2 ~]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu and [jramirez@calypso ~]$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.10 DISTRIB_CODENAME=utopic DISTRIB_DESCRIPTION="Ubuntu 14.10" [jramirez@calypso ~]$ make -v GNU Make 4.0 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On 03/29/2015 10:28 PM, xinliang wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org mailto:vishal.bhoj@linaro.org> wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It still fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but current FB is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size 26214400 <4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after 26431 usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb userspace request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try. Thanks. 15 #define HISI_NUM_FRAMEBUFFERS 2
is this a fix that needs to be committed to the baseline? I haven't seen any pull requests.
On 30 March 2015 at 20:07, Jorge Ramirez-Ortiz < jorge.ramirez-ortiz@linaro.org> wrote:
On 03/29/2015 10:28 PM, xinliang wrote:
On Monday, March 30, 2015 12:00 AM, Vishal Bhoj wrote:
On 29 March 2015 at 21:07, Vishal Bhoj <vishal.bhoj@linaro.org mailto:vishal.bhoj@linaro.org> wrote:
I have compiled the Mali kernel module for Android and tried to boot Android based on Scott's proposed change.I am able to load the mali kernel module but I am getting an error while surfaceflinger tries load the GLES libs and use the same. The logcat and dmesg output is here: https://pastebin.linaro.org/view/93ad6748
Did some changes to pick the right gralloc lib and the ion library. It
still
fails. Here is the logcat:
https://pastebin.linaro.org/view/6e7d5ca4
Gralloc tries to request fb with triplebuffering configuration but
current FB
is configured for single buffer (looks like): <3>[ 51.649450] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb
userspace
request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32 <7>[ 81.907649] calling init_module+0x0/0x6c [mali] @ 1755 <6>[ 81.908408] ion: heap info : id 10 name fb phy 0x37300000 size
26214400
<4>[ 81.917596] Mali: GPU version: CF070000 <4>[ 81.930435] Mali: Mali device driver loaded <7>[ 81.934911] initcall init_module+0x0/0x6c [mali] returned 0 after
26431
usecs <14>[ 101.000830] healthd: battery none chg= <3>[ 111.007480] [drm:hisi_drm_fb_helper_check_var] *ERROR* fb
userspace
request width/height/bpp is greater than current fb request 1280x720-32 (virtual 1280x2160) > 1280x1440-32
Please open this file: drivers/gpu/drm/hisilicon/hisi_drm_fb.h and change bellow macro value to 3 then we can get triplebuffer. Please have a try.
Thanks.
15 #define HISI_NUM_FRAMEBUFFERS 2
is this a fix that needs to be committed to the baseline? I haven't seen any pull requests.
I will push this once we have Mali working on Android.
Dev mailing list Dev@lists.96boards.org https://lists.96boards.org/mailman/listinfo/dev