[meta-freescale] [PATCH v2 05/14] imx-gpu-viv: Upgrade to 6.2.2.p0

Prabhu Sundararaj prabhu.sundararaj at nxp.com
Fri Nov 17 14:37:24 PST 2017


Hi Otavio, Gary,
We tested only on SABRE boards and it got only 2GB MAX DDR.

> Using 4.1.15 of_reserved_mem.c works too but that is just a 
> workaround, the viv driver should manage that case since Etnaviv does.
Wondering whether this restriction came in 4.9?

This is not regression from in my point of view. May be we consider this a requirement and fix it in separate patch.
Fixing this and validation would require some time.

-----Original Message-----
From: Otavio Salvador [mailto:otavio.salvador at ossystems.com.br] 
Sent: Thursday, November 16, 2017 6:44 AM
To: Gary Bisson <gary.bisson at boundarydevices.com>
Cc: Tom Hochstein <tom.hochstein at nxp.com>; meta-freescale Mailing List <meta-freescale at yoctoproject.org>; Prabhu Sundararaj <prabhu.sundararaj at nxp.com>
Subject: Re: [meta-freescale] [PATCH v2 05/14] imx-gpu-viv: Upgrade to 6.2.2.p0

Hello Gary,

Thanks for getting involved on this. I am adding Prabhu to the Cc as well.

On Thu, Nov 16, 2017 at 9:37 AM, Gary Bisson <gary.bisson at boundarydevices.com> wrote:
> Hi Tom,
>
> On Wed, Nov 15, 2017 at 10:02 PM, Tom Hochstein <tom.hochstein at nxp.com> wrote:
>> Key Features of the Vivante 6.2.2.p0 Driver Series
>>
>> - Full support for Khronos Vulkan 1.0 API and WSI extension APIs 
>> Vulkan is a new generation graphics and compute API that provides 
>> high-efficiency, cross-platform access to modern GPUs used in a wide 
>> variety of devices. Vivante’s Vulkan 1.0 implementation has passed 
>> Khronos Vulkan 1.0 Conformance Test. Vivante GC7000XS* GPU core has 
>> been certified by Khronos as a Vulkan 1.0 compliant product.
>> - Full support for Khronos OpenGL ES 3.2 API The new OpenGL ES 3.2 
>> and OpenGL ES Shading Language 3.20 specifications bring AEP, plus 
>> additional functionality, into core OpenGL ES. Vivante OpenGL ES 3.2 
>> implementation has passed Khronos OpenGL ES 3.2 Conformance Test. And 
>> Vivante GC7000XS* GPU core has been certified by Khronos as an OpenGL 
>> ES 3.2 compliant product.
>> - Draw calls specifying a base vertex parameter
>> - Floating-point framebuffers
>> - Robust buffer access control
>> - Support for querying CONTEXT_FLAGS, as needed by debug and robust buffer access functionality.
>> - Khronos OpenVX 1.0.1 API
>> - Khronos OpenCL 1.2 API
>>
>> Improvements
>>
>> 1. Added mutex protection for referencing gctSIGNAL in gckOS_MapSignal to fix a MT race issue.
>> 2. Streamlined GPU address calculation base on MC20 (0/1) and MMU (0/1) combinations.
>> 3. Fixed multiple Android HWC 2.0 rendering issues. Refined HWC 2.0 driver implementation.
>> 4. Improved HWC2.0 composition performance by composing damaged regions only.
>> 6. Enabled offline/online compiler IR assembly dump function for users.
>> 7. Implemented the direct rendering support (no-resolve) for Wayland platform.
>> 8. Added EGL_EXT_buffer_age extension for Wayland and fbdev platforms.
>> 9. Updated wayland-viv protocol to support tile status sync from client to server.
>> 10. Improved OpenCL 1.2 builtin function support with native GPU instructions.
>> 11. Enabled OpenCL 1.2 API trace dump function controlled by VIV_TRACE environment variable.
>> 12. Support for OpenGL4.0
>> 13. Cleaned up driver code issues reported by Klocwork and Coverity.
>>
>> Changes and Bug Fixes
>>
>> VG3D:   MGS-2972 fix 3D OpenVG render target orientation
>> EGL:    MGS-2790 6sx-sdb Met memory dump when do xwld stress test
>> EGL:    MGS-2885 fix recursive call to dequeue buffer issue on wayland
>> EGL:    MGS-2785 Meet segmentation fault when test qt5nmapper on wayland
>> EGL:    MGS-2734 fix x11 memory leak issue
>> Gralloc:MA-9561 fix crash issue on new gralloc1 interface.
>> 2D:     MGS-2900 fix filterblt memory leak
>> VG2D/6SL: MGS-2882 fix video memory allocator
>> OCL:    MGS-2732 clCopyImage with max_images in OCL1.1 cts, crashes.
>> GLES:   MGS-2747 enable the full config for ES3 CTS
>> GLES:   MGS-1832 fix Mirada performance issue. optimize cpu load for fence check
>> WEBGL:  MGS-2779 webgl 1.0.2 conformance test met out of memory
>> General:MGS-2923 fix gc2000 gpu hang when flush TS cache
>> General:MGS-2907 fix wrong cache invalidate with dma_map_area
>> General:MGS-2902 fix wrong release_mem_region
>> General:MGS-2848 fix gpu hang for flat mapping optimization
>> General:MGS-2848 Optimize MMUv1 FlatMapping performances
>> General:MGS-2857 fix spinlock in gpu kernel driver
>> General:MGS-2805 Enable gcdENABLE_VG by default.
>> General:MGS-2827 fix serious performance drop on imx6q
>> General:MGS-2832 fix axi bus error with correct baseaddress
>> General:MA-9483  Refine android native fence code to match 4.9 kernel
>> General:MA-9473 Fix gpu random crash issue caused by NULL pointer
>> General:MGS-2804 fix flat mapping overflow issue
>> General:MGS-2786 fix gpu kernel panic with debugfs
>> General:GS-2776  fix galcore device open failure
>> General:MGS-2767 i.MX7ULP GPU suspend/resume problem
>> Coverity:MGS-2858 Double free in __driUtilUpdateExtraDrawableInfo
>>
>> Known Issues
>>
>> OpenCL 1.1 CTS failures. Will be addresed in 6.2.3
>> MGS-3027 GPU: X11 manywin draw error. 100%
>> MGS-2935 [imx6QP] X11: glxs app test some frames render incorrectly. 
>> 100%
>> MGS-2860 [MX7ULP/imx6SLEVK] X11/Xwld: XWindow 2D Acceleration 
>> performance test met "X Error of failed request: BadMatch (invalid 
>> parameter attributes)" error. 100%
>> MGS-2829 [imx6qp/imx6d] xwld: mm06 Samurai and Proxycon performance 
>> regression comparing with L4.1 using 5.0.11p8
>> MGS-2310 [imx6qp/imx6dq/imx6dl/imx6sx] webgl: two items performance 
>> data is lower than L4.1_GA
>> MGS-1828 [imx6qp_sd/imx6Q/imx6dl] X11/xwld: VGMARK on vg3d have some 
>> items performance drop comparing with L4.1 GA
>> MGS-1350 [imx6qp-sd] X/FB: Some Basemark test items performance drop 
>> comparing with L3.14.52GA which use 5.0.11p7
>
> If I may, I have one more issue to add to the list:
> [imx6q/imx6qp/imx6dl] Does not work if cma region is above 'base + 2G'
>
> Have you tried this driver on an i.MX6 platform with 4GB of RAM & 
> kernel 4.9 (rel_imx_4.9.x_1.0.0_ga)?
>
> Here it fails because the region of cma in such case is located at the 
> end of the RAM (0xea000000 exactly) which the driver doesn't seem to 
> support.
>
> Note that a similar issue was seen and fixed on Etnaviv[1]. I guess a 
> similar patch is required for this driver as well.
>
> Forcing the cma area to be under 0x90000000 (for imx6qdl) makes the driver work.
>
> Also, the driver works fine on 4.1.15 kernel, because the cma region 
> is allocated @0x6a000000 by default and therefore everything is fine.
>
> Using 4.1.15 of_reserved_mem.c works too but that is just a 
> workaround, the viv driver should manage that case since Etnaviv does.
>
> Let me know if you have any question.
>
> Regards,
> Gary
>
> [1] 
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> .kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fstable%2Flinux-stable
> .git%2Fcommit%2F%3Fid%3D471070ab&data=02%7C01%7Cprabhu.sundararaj%40nx
> p.com%7C0a2c9ac866ef4588749308d52cefaf83%7C686ea1d3bc2b4c6fa92cd99c5c3
> 01635%7C0%7C0%7C636464330308145513&sdata=nVIrYQ62nOUECfWanh3naXVnQ%2FG
> yLROUBi4ldsxYBWo%3D&reserved=0
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale at yoctoproject.org
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> ts.yoctoproject.org%2Flistinfo%2Fmeta-freescale&data=02%7C01%7Cprabhu.
> sundararaj%40nxp.com%7C0a2c9ac866ef4588749308d52cefaf83%7C686ea1d3bc2b
> 4c6fa92cd99c5c301635%7C0%7C0%7C636464330308145513&sdata=TXQ7EObxl5RrlE
> 4kmhuYryL1rx3FWEEOPv5TgyPVHQg%3D&reserved=0



-- 
Otavio Salvador                             O.S. Systems
https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ossystems.com.br&data=02%7C01%7Cprabhu.sundararaj%40nxp.com%7C0a2c9ac866ef4588749308d52cefaf83%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636464330308145513&sdata=%2BgDEk4N4Xsy6S70U5cN76O101dhTnFM1AMHzVG6es%2Bw%3D&reserved=0        https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcode.ossystems.com.br&data=02%7C01%7Cprabhu.sundararaj%40nxp.com%7C0a2c9ac866ef4588749308d52cefaf83%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636464330308145513&sdata=3eP%2Bifz5Pj4iw9Wjrovqlw%2BYxizJyroy2YJFUmrbNxE%3D&reserved=0
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list