From: Richard Hirst <rhirst@linuxcare.com>
To: Grant Grundler <grundler@cup.hp.com>
Cc: Gunneswara Marripudi <raomg@cup.hp.com>,
parisc-linux@puffin.external.hp.com
Subject: Re: Question on Linux DMA routines
Date: Thu, 30 Nov 2000 20:09:23 +0000 [thread overview]
Message-ID: <20001130200923.Q22285@linuxcare.com> (raw)
In-Reply-To: <200011301801.KAA29413@milano.cup.hp.com>; from grundler@cup.hp.com on Thu, Nov 30, 2000 at 10:01:13AM -0800
On Thu, Nov 30, 2000 at 10:01:13AM -0800, Grant Grundler wrote:
> Grant Grundler wrote:
> ...
> > The HW *is* fully coherent when the CPU doesn't cache the pages.
> > Only systems with PCX-L/L2 CPU (need to) operate this way.
> > All other platforms have an I/O MMU which manages the coherency.
>
> Correction - PCX-T and older platforms are not coherent and U-bit
> isn't available/useable on those machines. Drivers must do their own
> cache flushing. sim700 (LASI SCSI) does this and I think Apricot
> (LASI LAN) too. I'm suspecting this might be part of the 735 problems.
That's right, sim700 and apricot call pci_alloc_consistent() and if
that fails they fall back to get_free_pages() and explicit cache
flushing and invalidating with dma_cache_wback/dma_cache_inv calls.
pci_alloc_consistent() should fail on pcx, pcxs and pcxt according
to setup.c.
When sim700 complains at startup that it "Couldn't get consistent
shared memory", it means pci_alloc_consistent() failed and therefore
you have one of these older CPUs, and it will drop back to doing its
own cache management.
At startup the driver does a test where it writes memory, flushes
it, writes something else to the same location, then gets the scsi chip
to read that location. If the scsi chip gets the old data, the driver
says "WARNING: target data areas are not dma coherent". This is
just for information, it has no effect on how the driver operates.
Richard
prev parent reply other threads:[~2000-11-30 20:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <01c05aac$657dec80$0f0d8421@hpinddm>
2000-11-30 17:31 ` Question on Linux DMA routines Grant Grundler
2000-11-30 18:01 ` Grant Grundler
2000-11-30 20:09 ` Richard Hirst [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20001130200923.Q22285@linuxcare.com \
--to=rhirst@linuxcare.com \
--cc=grundler@cup.hp.com \
--cc=parisc-linux@puffin.external.hp.com \
--cc=raomg@cup.hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.