Thread (3 messages) flat view 3 messages, 3 authors, 2008-10-18

Cache control

From: Robert Woodworth <hidden>
Date: 2008-10-16 16:02:32

I have a Virtex4 VF60 device with 256MB DDR2.

I have told the Linux kernel that the device has only 128MB and its  
working fine.  There is an HDL module that is populating the next 16MB  
with sensor data (0x08000000 - 0x09000000)  I mapped the area into my  
driver via `ioremap()` and also via `mmap / remap_pfn_range()`  It  
works fine.

I know that PPC cache regions work in 128MB blocks.  I assume that the  
kernel bootup is turning on cache in the first 128, because it thinks  
that its the full RAM range, and not cached in the next 128MB.

I know that if I declare the area cached, and invalidate the region  
before I read it,  the reads should be much faster than if it's not  
cached.


How can I control if the area is cached? and then invalidate it when  
new data arrives?

Is there a PPC/Linux API call to declare the region cached and  
invalidate regions before read?





Rob.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help