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
Solved! Go to Solution.
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
hope this helps
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.
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
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
hope this helps
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
Hi Bio_TICFSL,
Would you reply to my question?
Best Regards,
Satoshi Shimoda
Yes, you can just update the GPU kernel driver and GPU lib to 4.1.1 BSP's.
Hi Qiang Li,
Would you give me a reply about how to update?
Best Regards,
Satoshi Shimoda
Hi Satoshi, the directFB lib had also been included in gpu-viv-bin-mx6q-3.0.101-4.1.1.tar.gz.
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
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".
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
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..
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
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
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
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
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
Do you have detail information for "fail with status -20"? How to duplicate it?
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
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