Cache Inhibit on 860?

2 messages, 2 authors, 2001-02-26 · open the first message on its own page

Cache Inhibit on 860?

From: Steve Ferri <hidden>
Date: 2001-02-26 16:12:32

All:

I am having problems running on an 860 based card when reading and writing
buffers
for drivers and for user space applications.  Currently I am using the
invalidate
and flush cache calls when READING and WRITING from/to the alloc'd memory
during
these situations.

Is there a way to alloc memory and mark it as cache inhibited ?

This would eliminating the need for the invalidate and flush calls.  I am
currently
running a 2.2.14 version of the kernel on an 860 processor.

I've already tried using the m8xx_cpm_hostalloc() function in the
arch/ppc/8xx_io/commproc.c file.  This does not seem to work, as the memory
returned does not seem to be cache inhibited.  I still need to flush
and invalidate these regions.

Any ideas ?

Regards,
Steve


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: Cache Inhibit on 860?

From: Dan Malek <hidden>
Date: 2001-02-26 16:51:02

Steve Ferri wrote:
Is there a way to alloc memory and mark it as cache inhibited ?
In a few minutes :-).  I finally created a common set of 'dma_consistent'
functions for 8xx and 4xx (and anything else that may need them)
based upon implementations from other architectures.  I am now checking
this into the linuxppc_2_5 BitKeeper tree.
This would eliminating the need for the invalidate and flush calls.
But, if you already have this working, it is probably better performance
unless these are tiny, frequently used buffers.
.....  I am
currently
running a 2.2.14 version of the kernel on an 860 processor.
For 2.2.14, look at the arch/ppc/8xx_io/enet.c Ethernet driver as
an example.  It calls __get_free_page(), then tracks down the
page table entry and sets the cache inhibit flag.  Do the same thing
in your driver.  The stuff done in 'commproc.c' is different because
it is called earlier in the kernel.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help