linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Finn Thain <fthain@telegraphics.com.au>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Jeff Garzik <jgarzik@pobox.com>,
	Linux/m68k <linux-m68k@vger.kernel.org>,
	Linux/m68k on Mac <linux-mac68k@mac.linux-m68k.org>,
	Linux MIPS <linux-mips@vger.kernel.org>,
	Linux kernel <linux-kernel@vger.kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: [PATCH] Jazzsonic driver updates
Date: Thu, 16 Jun 2005 00:02:33 +1000 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.61.0506152220460.22046@loopy.telegraphics.com.au> (raw)
In-Reply-To: <20050615114158.GA9411@linux-mips.org>



On Wed, 15 Jun 2005, Ralf Baechle wrote:

> On Sun, Jun 12, 2005 at 04:05:30PM +1000, Finn Thain wrote:
> 
> > > Oh funny.  vdma_alloc() was created 10 years ago as an internal API 
> > > for the Jazz machines.  Didn't realize m68k had cloned it :-)  If 
> > > anything it seems this should be converted to the modern DMA API.
> > 
> > I've just started merging my Mac sonic work into 2.6.12-rc6. m68k 
> > doesn't yet implement the modern DMA API, but it is easy to fake it 
> > for a while for macsonic.c.

Roman Zippel has since posted an implementation of that API for m68k, BTW. 
So I'll use that for macsonic, and possibly the driver core as well if I 
can figure out how to do this with jazzsonic.

> > So I don't mind converting macsonic, jazzsonic and the shared sonic 
> > driver core to the new API.
> > 
> > But, I knowing nothing about the Jazz DMA controller. I need some help 
> > from the MIPS people:
> 
> It's a while since I last touched that machine, so remember this is from 
> 10 year old memory ...
> 
> The Jazz DMA hardware is an MMU that translates virtual DMA to physical 
> addresses.  It's virtual DMA address space is 16MB in size, it's page 
> size is 4kB.  That's a set of capabilities that nicely translates into 
> the DMA API.

I gather that someone has already put this hardware under the control of 
the generic DMA API?

> > Would I be right to say that vdma_{alloc,free}() can be changed to 
> > dma_{,un}map_single? The other Jazz specific routine that sonic uses 
> > is vdma_log2phys, and I don't know if that has a better alternative.
> 
> The use of that call should simply be eleminated entirely.  DMA API
> functions such as dma_alloc_coherent or dma_map_single will return a
> dma_handle which along with the virtual address returned is everything
> ever needed to program a DMA engine.

The sonic chip stores packets inside a "receive resource area" at a 
physical address that depends on the packets it previously stored there. 

So the chip determines that address and the driver has to convert it from 
a physical to a virtual address with KSEG1ADDR(vdma_log2phys(x)), in order 
to memcpy the received packet.

>From what code I've looked at, and from what you've told me, I'm guessing 
that bus_to_virt() won't cut it here (?)

-f


> 
>   Ralf
> 

  reply	other threads:[~2005-06-15 14:02 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200503070210.j272ARii023023@hera.kernel.org>
2005-03-22 17:13 ` [PATCH] Jazzsonic driver updates Geert Uytterhoeven
2005-03-23  2:30   ` [PATCH] " Finn Thain
2005-03-23 10:01   ` Ralf Baechle
2005-03-23 10:47     ` Finn Thain
2005-06-12  6:05     ` Finn Thain
2005-06-15 11:41       ` Ralf Baechle
2005-06-15 14:02         ` Finn Thain [this message]
2005-06-15 14:27           ` Ralf Baechle
2005-06-15 16:53             ` Finn Thain
2005-06-15 17:45               ` Finn Thain
2005-06-16  9:22                 ` Ralf Baechle
2005-06-16 12:14                   ` Finn Thain

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=Pine.LNX.4.61.0506152220460.22046@loopy.telegraphics.com.au \
    --to=fthain@telegraphics.com.au \
    --cc=geert@linux-m68k.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=linux-mac68k@mac.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=tsbogend@alpha.franken.de \
    /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;
as well as URLs for NNTP newsgroup(s).