i.MX6SDL g2d_blit function of G2D API does not work well.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6SDL g2d_blit function of G2D API does not work well.

Jump to solution
4,723 Views
satoshishimoda
Senior Contributor I

Hi community,

Our partner is using G2D API, but somtimes g2d_blit() function does not works well.

When g2d_blit doesn't work, "fail with status -20" log is output.

Then, could you let me know the meaning of the log and how to avoid this issue?

Best Regards,

Satoshi Shimoda

Labels (3)
Tags (3)
0 Kudos
1 Solution
2,189 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Satoshi,

Yes you can download the patch for that version, This patch release is based on the i.MX 6 Linux 3.0.35_4.1.0 release. The purposes of this patch release are as follows:

To fix the BSP multimedia GPU bugs

To upgrade the Linux kernel to v3.0.101

To upgrade the multimedia library

To upgrade the GPU driver and library to 4.6.9p13 Please consult the release notes for more details.

The patch is available as The i.MX 6 D/Q/DL/S/SL Linux L3.0.101_4.1.1 Patch but is based on 3.0.35

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREPLAT&fpsp=1&tab=Design_Too...

hope this helps

View solution in original post

0 Kudos
22 Replies
2,118 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Satoshi-San

If you are using yocto this bug was fixed on 4.6.9p13 GPU, also it comes with 3.10.17 BSP, if the problem persist please provide all the details steps to reproduce the issue in our side.

Regards.

2,118 Views
satoshishimoda
Senior Contributor I

Hi Bio_TICFSL,

Thank you for your reply.

> If you are using yocto this bug was fixed on 4.6.9p13 GPU, also it comes with 3.10.17 BSP

OK, I understood.

Actually, this issue was occurred on L3.0.35_4.1.0_ER BSP.

I understood GPU library is provided as binary file.

Then, can we use GPU library for Yocto (L3.10.17_1.0.0-ga) to L3.0.35_4.1.0_ER also?

Best Regards,

Satoshi Shimoda

0 Kudos
2,190 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Satoshi,

Yes you can download the patch for that version, This patch release is based on the i.MX 6 Linux 3.0.35_4.1.0 release. The purposes of this patch release are as follows:

To fix the BSP multimedia GPU bugs

To upgrade the Linux kernel to v3.0.101

To upgrade the multimedia library

To upgrade the GPU driver and library to 4.6.9p13 Please consult the release notes for more details.

The patch is available as The i.MX 6 D/Q/DL/S/SL Linux L3.0.101_4.1.1 Patch but is based on 3.0.35

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREPLAT&fpsp=1&tab=Design_Too...

hope this helps

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Bio_TICFSL,


Can we use the new GPU driver and library without upgrade to L3.0.101?

In other words, the GPU driver and library works well on L3.0.35_4.1.0?


Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Bio_TICFSL,


Would you reply to my question?


Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Yes, you can just update the GPU kernel driver and GPU lib to 4.1.1 BSP's.

2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

Would you give me a reply about how to update?

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Hi Satoshi, the directFB lib had also been included in gpu-viv-bin-mx6q-3.0.101-4.1.1.tar.gz.

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

>  the directFB lib had also been included in gpu-viv-bin-mx6q-3.0.101-4.1.1.tar.gz.

Yes, our partner have applied all of the patches and libraries in gpu-viv-bin-mx6q-3.0.101-4.1.1.tar.gz.

But the directFB issue was occurred.

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Did the customer update the GPU kernel driver to 3.0.101-4.1.1's driver? Kernel source code folder "drivers/mxc/gpu-viv/".

The kernel driver was not included in "gpu-viv-bin-mx6q-3.0.101-4.1.1.tar.gz".

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

Where is the driver?

I looked for "drivers/mxc/gpu-viv" directory, but could not find "mxc" in linux-3.0.101.tar.bz2.

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Hi Satoshi, the package "linux-3.0.101.tar.bz2" is the original linux kernel, you should apply all freescale patches "linux-3.0.101-imx_4.1.1.bz2" to it to get the iMX kernel code..

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

I understand "linux-3.0.101-imx_4.1.1.bz2" includes the patches for Linux 3.0.101.

Can we use the patches for Linux 3.0.35 also?

And there are many patches in "linux-3.0.101-imx_4.1.1.bz2".

As I mentioned, we want to update only GPU drivers and libraries.

How should we do that?

Should we select and apply the patches related to GPU drivers one by one?

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Hi Satoshi, you can apply all patches in one command, then update the gpu folder to 3.0.35 kernel code.

$ mkdir ~/temp

$ cd ~/temp

$ tar -zxvf ~/linux-3.0.101-imx_4.1.1.bz2
$ ls *.patch > series

$ cd ~/linux-3.0.101

$ git quiltimport --patches   ~/temp

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

The git command was failed because many patches for L3.0.35_4.1.0 have been applied and these are duplicated the patches in linux-3.0.101-imx_4.1.1.bz2.

Then, I checked what patches are not included in L3.0.35_4.1.0, and maybe the following patches are included in linux-3.0.101-imx_4.1.1.bz2 only.

2670-ENGR00278350-gpu-viante-4.6.9p13-kernel-part-integra.patch

2739-Revert-ENGR00278350-gpu-viante-4.6.9p13-kernel-part-.patch

2747-ENGR00306992-2-gpu-gpu2d-may-cause-bus-hang-in-some-.patch

2748-ENGR00312477-1162-fixed-gpu-lower-memory-killer.patch

I feel it is OK when apply the above patches.

Is this correct?

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

All GPU related patches in linux-3.0.101-imx_4.1.1.bz2:

2670-ENGR00278350-gpu-viante-4.6.9p13-kernel-part-integra.patch

2720-ENGR00306257-1027-fix-system-hang-up-issue-caused-by.patch

2724-ENGR00310166-1157-disable-GPU-recovery-function.patch

2739-Revert-ENGR00278350-gpu-viante-4.6.9p13-kernel-part-.patch

2740-ENGR00306992-Update-the-code-to-rel_imx_3.10.17_1.0..patch

2741-ENGR00306397-1118-use-BUG_ON-to-check-if-GPU-clock-i.patch

2742-ENGR00308233-2-791-Refine-wclip-workaround-algorithm.patch

2743-ENGR00308233-3-791-Refine-wclip-workaround-algorithm.patch

2744-ENGR00308233-4-791-Refine-wclip-workaround-algorithm.patch

2745-ENGR00309915-1087-enhanced-video-memory-mutex.patch

2746-ENGR00308899-1087-enhanced-GPU-database-protection.patch

2747-ENGR00306992-2-gpu-gpu2d-may-cause-bus-hang-in-some-.patch

2748-ENGR00312477-1162-fixed-gpu-lower-memory-killer.patch

2749-ENGR00314119-1183-fixed-database-mutex-multi-lock-is.patch

2753-ENGR00313862-1173-fix-android-cts-testThroughput-fai.patch

2754-ENGR00315583-1209-fix-random-data-corruption-in-GPU-.patch

2755-ENGR00316978-1162-force_sig-crash-in-GPU-lower-memor.patch

2756-ENGR00300876-ccc-Fix-flick-issue-in-GAL2D-compositor.patch

2757-ENGR00325794-1087-fix-video-memory-mutex-sharing-iss.patch

2758-ENGR00322632-1243-fix-memory-type-to-avoid-overwriti.patch

2759-ENGR00322672-1244-avoid-system-freeze-when-dump-GPU-.patch

2760-ENGR00313001-separate-GPU-low-memory-killer-and-rese.patch

2778-ENGR00332071-Revert-ENGR00322632-1243-fix-invalid-da.patch

0 Kudos
2,118 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

DirectFB worked well after apply the patches you said.

However, "fail with status -20" have appeared yet.

By the way, would you let me know what is "fail with status -20"?

If we can understand what is it, It might help to solve the problem.

Best Regards,

Satoshi Shimoda

0 Kudos
2,118 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Do you have detail information for "fail with status -20"? How to duplicate it?

0 Kudos
2,113 Views
satoshishimoda
Senior Contributor I

Don't you have information what is "fail with status -20"?


For your information, it seems that it is depends on height, width, right, bottom, and stride values of src (second parameter of g2d_blit() function ) whether this error occurs or not.

Best Regards,

Satoshi Shimoda

0 Kudos
2,106 Views
satoshishimoda
Senior Contributor I

Hi Qiang Li,

We found what was wrong.

The comment out of line 68 and 69 was wrong.

You know, G2D has a restriction as following which is written in foot note of chapter 2.7 of IMX6G2DAPIUG (Rev. L3.0.35_4.1.0, 09/2013).

RGB pixel buffer only uses planes [0], buffer address is with 16bytes alignment


By comment out of line 68, 69, this alignment was prevented.


Best Regards,

Satoshi Shimoda

0 Kudos