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
>
next prev parent 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).