Subject: Re: 8600 serial support

From: Benjamin Herrenschmidt <[email-masked]>
Date: Thu, 09 Oct 2008 07:45:11 +1100

On Wed, 2008-10-08 at 12:51 -0700, Kevin Diggs wrote:
> Hi,
> 
> 	I thought I might take a whack at fixing the 2.6 serial driver
> for my 8600. At the top of pmac_zilog.c (2.6.26) there is a todo for DMA.
> A quick glance at macserial.c (2.4.31) suggests it has dbdma support for
> receive. Anyone know of any pitfalls for adding dbdma support for
> pmac_zilog.c?

Yes, it's not totally trivial and I wouldn't recommend using the weirdo
code in macserial (it does things that I don't understand how they work
with the dbdma engine).

The best way I see is to start from scratch with two different
mechanisms:

 - For Tx, that's the easiest, the fire off DMA's for outgoing chars,
maybe queue up a few descriptors to let data accumulate.

 - For Rx, one descriptor per byte. That sucks but I think that's also
what Apple does. No need to have a huge Rx buffer anyway. That gives you
precise Rx status to the byte.

Ben.