Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Grant Grundler <grundler@cup.hp.com>
To: parisc-linux@thepuffingroup.com
Subject: [parisc-linux] U2/Uturn support added
Date: Sat, 5 Aug 2000 00:11:13 -0700 (PDT)	[thread overview]
Message-ID: <200008050711.AAA04887@milano.cup.hp.com> (raw)

Hi all,
I just committed two not-yet-but-almost-working "CCIO" drivers
to support U2 and Uturn "I/O Adapters". FOr those not on the
CVS e-mail list, attached is the CVS commit message.

The sort-of-bad news is I can't spend more time on ccio-dma.c.
I've burned a over week already and I'm afraid I won't have enough time
to get other parisc-linux PCI issues resolved that my empoyer cares about.
If someone else (I nominate John D Anglin and Ryan Bradetich ;^) could
take a look at ccio-dma.c, I'd be quite happy to answer (most likely
not) stupid questions...especially since U2/Uturn documentation still
hasn't been published. <sigh>.

In HP speak, IOA's are more than just bus converters and bus bridges.
(And I don't know what the difference between those are either).
The U2/Uturn IOAs provide coherency between DMA/CPU D-cache and perform
physical address translations between a 32-bit <-> 40-bit bus. For
parisc-linux, we require the I/O MMU to provide I/O coherency on
many platforms.  Follow the e-mail thread that started with
http://puffin.external.hp.com/mailing-lists/parisc-linux/2000/03-Mar/0032.html
if you want to learn the underlying requirements.

One exception is Uturn under PCX-W processors. Here, the IOA is only needed
to provide I/O Coherency since PCX-W follows the coherency model defined
someplace that U2/Uturn also implement.  And ccio-rm-dma.c might work as-is.
I just don't have a C360 to test it on. Philipp Rumpf claims his dma-rm.c
(the original file) works on his C360.

And though I explicitly call-out the older C-class models in my
comments, I expect most of this to apply to equivalent K/D/R/J-class
models which have U2/UTurn in them as well.

enjoy!
grant

CVS: ----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS: 
CVS: Committing in .
CVS: 
CVS: Modified Files:
CVS: 	arch/parisc/config.in arch/parisc/defconfig 
CVS: 	arch/parisc/kernel/Makefile drivers/gsc/gsc.c 
CVS: Added Files:
CVS: 	arch/parisc/kernel/ccio-dma.c arch/parisc/kernel/ccio-rm-dma.c 
CVS: ----------------------------------------------------------------------
Add two versions of U2/Uturn I/O MMU driver : ccio-dma and ccio-rm-dma.

ccio-dma is intended
a) to work on all platforms w/U2 or Uturn (but doesn't yet.)
   (I think it's very close to working but I have to get away from it
    for a while and get back to PCI support issues)
b) once it is working, provide better DMA performance/bus utilization.
c) to only support 1 IOA.
   (Supporting more than one IOA requires tree structure for PA I/O devices.)
d) allow someone else to play with it and maybe see what's wrong.

ccio-rm-dma:
a) only works under PCX-W (ie C360) platforms (not under PCX-U - C180/200/240)
b) is borrowed from prumpf's linux-parisc
c) provides better CPU utilization since it's not really doing anything.
   (Mostly function call overhead)
d) supports any/all IOAs under UTurn since it doesn't need to know
   anything about the heirarchy of the I/O subsystem.

The "switch" is in the parisc/kernel/Makefile since I was too lazy
to figure out a clean way to pick the "right" one. I was thinking
a runtime check might be the right way but it isn't. It also depends
on load characteristics which aren't visible to the CPU (ie type of
DMA transactions - connected or split).

                 reply	other threads:[~2000-08-05  7:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=200008050711.AAA04887@milano.cup.hp.com \
    --to=grundler@cup.hp.com \
    --cc=parisc-linux@thepuffingroup.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox