0
Moklev

New Mali blobs (Allwinner, mainline)

Recommended Posts

That's interesting.

And then the fun begins, i gave it a try using r8p1 with kernel 4.4 on A64 and it works... a bit slow but works, though i don't know for how long. Framebuffer only.

 

The weird thing (it's  kind of frankenstein):

=======================================================
    glmark2 2012.12
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-400 MP
    GL_VERSION:    OpenGL ES 2.0 "mali450-r5p1-01rel0-lollipop-233-g52c929d"
=======================================================
[build] use-vbo=false: FPS: 60 FrameTime: 16.667 ms
[build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms
[texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms
[texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms
[texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms
[shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms
 

Does Anyone one know a complete recipe for building KODI or similar (framebuffer) to check if this is really working?

Share this post


Link to post
Share on other sites

My try with mainline kernel 4.17.3 , mali DT bind seems wrong:

[    7.715811] mali: loading out-of-tree module taints kernel.
[    7.736417] Allwinner sunXi mali glue initialized
[    7.888305] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/common/mali_pp.c
[    7.888314]            mali_pp_reset_wait() 269
[    7.888317] Mali PP: Failed to reset core Mali_PP0, rawstat: 0x00000000
[    7.888330] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/common/mali_kernel_core.c
[    7.888332]            mali_parse_product_info() 178
[    7.888399] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/linux/mali_kernel_linux.c
[    7.888401]            mali_probe() 606
[    7.888403] mali_probe(): Failed to initialize Mali device driver.
[    7.888413] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/linux/mali_devfreq.c
[    7.888415]            mali_devfreq_term() 309
[    7.888447] mali-utgard: probe of mali-utgard.0 failed with error -14
[    7.888502] Mali: 
[    7.888504] Mali device driver loaded

I used the same node as H3:

soc {
        mali: gpu@1c40000 {
            compatible = "allwinner,sun8i-h3-mali", "arm,mali-400";
            reg = <0x01c40000 0x10000>;
            interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "gp",
                      "gpmmu",
                      "pp0",
                      "ppmmu0",
                      "pp1",
                      "ppmmu1",
                      "pmu";
            clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
            clock-names = "bus", "core";
            resets = <&ccu RST_BUS_GPU>;

            assigned-clocks = <&ccu CLK_GPU>;
            assigned-clock-rates = <384000000>;
        };
    };

Any thoughts / ideas?

Share this post


Link to post
Share on other sites
3 hours ago, @lex said:

Any thoughts / ideas?

H5 has mali 450, which needs different binding and different userspace library.

Share this post


Link to post
Share on other sites
12 hours ago, jernej said:

H5 has mali 450, which needs different binding and different userspace library.

 

Yes...
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt

Share this post


Link to post
Share on other sites
15 hours ago, jernej said:

H5 has mali 450, which needs different binding and different userspace library.

Ok, Laurent pointed to your malii node for H5 but still same error:

soc {
        mali: gpu@1e80000 {
            compatible = "allwinner,sun50i-h5-mali",
                     "arm,mali-400";
            reg = <0x01e80000 0x30000>;
            interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "gp",
                      "gpmmu",
                      "pmu",
                      "pp",
                      "pp0",
                      "ppmmu0",
                      "pp1",
                      "ppmmu1",
                      "pp2",
                      "ppmmu2",
                      "pp3",
                      "ppmmu3";
            clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
            clock-names = "bus", "core";
            resets = <&ccu RST_BUS_GPU>;

            assigned-clocks = <&ccu CLK_GPU>;
            assigned-clock-rates = <384000000>;
        };
    };

Maxime code does not have compatible "arm,mali-450" , then i changed it to be able to load mali.ko.

 

Do you have mali working for H5? Or you have our own device driver instead of Maxime driver?

Share this post


Link to post
Share on other sites
1 hour ago, @lex said:

Do you have mali working for H5? Or you have our own device driver instead of Maxime driver?

 

No, there is very strange issue. When you are walking through Kodi menus, half of the screen has new menu and half old menu. Useless at this point. This is with Rockchip Mali450 GBM 32 and 64 bit blob... Tried many changes to correct this, but nothing helped. I never tried X11 or FBDEV blobs, because they are useless for my purpose.

 

My base is Maxime driver with Icenowy changes for mali450, with some other changes which are not important.

 

BTW, all blobs on free-electrons github are for mali400. Although there are mali450 strings in r8p1 blobs, actually important is VARIANT= string, which is still mali400.

Share this post


Link to post
Share on other sites

Maxime has fixed the driver, but that is a near miss, we need a proper mali450 blob version.

I have mali450 r5p1 (600), i think maybe the amlogic blob r7p0 (800 or 900?) could work and i don't have any to test, otherwise, you get:

 

ERROR in Mali driver:
 * Device driver API mismatch
 * Device driver API version: 900
 * User space API version: 600
Error: eglInitialise failed!

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
0