Hi Andy,

Maybe you already knew.  In the pmem driver (kernel version of DREAM, file 
mach-msm/board-trout.c), there are 2 instances of pmem.  One of them is called 
"pmem", and another is called "pmem_adsp".
I believe that "pmem_adsp" is none-cache.  So go up to the pmem driver, I guess 
that "dev/pmem1" will be mapped as none-cache.  So if OpenCore and 
SurfaceFlinger dealt with pmem1 only, then the memories are none-cache hence, 
they do not need to flush cache.  I hope those would give you a hint to go 
further.

I have not gone as far as using it in the Android environment.  Mine did not 
even boot after I made a reserve of 16MB for pmem.
If you knew something new, please share.  

Thank you,
Neil

--- On Thu, 7/9/09, Andy Quan <[email protected]> wrote:

> From: Andy Quan <[email protected]>
> Subject: [android-porting] PMEM cache flush operation
> To: [email protected]
> Date: Thursday, July 9, 2009, 9:09 PM
> 
> Hi,
> I am working on PMEM sharing between opencore and
> surfaceflinger in Android 1.5. I find that PMEM can be
> configured to be cacheable but there is no corresponding
> cache flush ioctl for this device. 
>  
> Since PMEM is the dedicated physical memory for
> android, there can be cases that a software video unit wants
> to share YUV buffer without extra copy with hardware GPU
> inside surfaceflinger. For SW video unit, it is unacceptable
> to configure PMEM to be non-cacheable as there would
> definitely be huge performance downgrade.
> 
>  
> Any thoughts on this?
> 
> -- 
> Thanks,
> Andy
> 
> 
> 
> 
> -- 
> Thanks,
> Andy
> 
> 
> > 
> 
> 
> 


      

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to