About vpu didn't use these dma buffers in i.MX6Dual.

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

About vpu didn't use these dma buffers in i.MX6Dual.

Jump to solution
850 Views
keitanagashima
Senior Contributor I

Dear All,

Device : i.MX6Dual

BSP: L3.0.35_1.0.0

[Background]

In custom platform, the payload of BUS and GPU is very high.

In this case, the time cost of using g2d_blit() will be unstable, sometimes it's more than 50ms.

But they need to use G2D to resize the resolution of video frames.

So when playing a 720P/30fps movie, we have to separate the decoding thread and rendering thread so that we can render frames under 30fps.

When gstreamer calls render function of video-sink gstreamer plugin, we will save the physical address of decoded frame, let the render function return, then in rendering thread we'll use the saved physical address to render this decoded frame ASAP.

[Question]

They allocated several dma buffer to let vpu using.

They thought vpu would use these dma buffers sequentially (e.g:12345 12345 12345 12345).

So we added 6 more dma buffers for gstreamer plugin - vpudec, so we can get some more time (1000 / 30 * 6 = 200 ms) to avoid VPU using this physical address which is still being used by render thread.

But the result was not the same as we thought, vpu didn't use these dma buffers sequentially(e.g:1235 13245 134 231 2413), so our design is broken.

Please explain to us why this happened, and give us some suggestion.

Best Regards,

Keita

Labels (5)
0 Kudos
1 Solution
451 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Keita,

Please check memory allocation solution patch for dma buffers, that could be helpful for your case:

i.MX6Q: VPU memory allocation "fragmentation" error

Also as possible solution you can increase/decrease the amount of memory reserved in VPU space:

Memory Reserved on i.MX6 for VPU

Please check latest Linux BSP for all G2D bugs fixed since 3.0.35v.

Regards

View solution in original post

0 Kudos
1 Reply
452 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Keita,

Please check memory allocation solution patch for dma buffers, that could be helpful for your case:

i.MX6Q: VPU memory allocation "fragmentation" error

Also as possible solution you can increase/decrease the amount of memory reserved in VPU space:

Memory Reserved on i.MX6 for VPU

Please check latest Linux BSP for all G2D bugs fixed since 3.0.35v.

Regards

0 Kudos