* Cache Inhibit on 860?
@ 2001-02-26 16:12 Steve Ferri
2001-02-26 16:51 ` Dan Malek
0 siblings, 1 reply; 2+ messages in thread
From: Steve Ferri @ 2001-02-26 16:12 UTC (permalink / raw)
To: Linuxppc-Embedded (E-mail)
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/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Cache Inhibit on 860?
2001-02-26 16:12 Cache Inhibit on 860? Steve Ferri
@ 2001-02-26 16:51 ` Dan Malek
0 siblings, 0 replies; 2+ messages in thread
From: Dan Malek @ 2001-02-26 16:51 UTC (permalink / raw)
To: Steve Ferri; +Cc: Linuxppc-Embedded (E-mail)
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/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-02-26 16:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-26 16:12 Cache Inhibit on 860? Steve Ferri
2001-02-26 16:51 ` Dan Malek
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.