This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Memory sharing between GC320 and DRM

Part Number: AM5728

Dear Champs,

Is it possible to share same memory between GC320 and DRM to reduce memory traffic?

My customer tried to share same memory between GC320 and DRM, and they successfully do it by using same physical address in GC320 surface creation. e.g. they created GC320 surface using same physical address allocated by dma_alloc_writecombine to reduce memory traffic, and work it well. 

They created GC320 surface as below.

gcoSURF_SetBuffer(m_lpGC_NV12_CSC->Target, gcvSURF_BITMAP, m_lpGC_NV12_CSC->Format, m_lpGC_NV12_CSC->Stride,

                                           (gctPOINTER)m_lpdrm->DRM_Memory_Get2DGUIMmap()/*mmaped address*/, (gctUINT32)m_lpdrm->DRM_Memory_Get2DPhyaddr()/*physical address */)

But, the problem is when they killed the application and execute it again, they failed to get dma address using dma_alloc_writecombine.

Could you please check and let me know how they can use same memory in GC320 and DRM?

Thanks and Best Regards,

SI.