[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100817132427.GA17861@linux-mips.org>
Date: Tue, 17 Aug 2010 14:24:27 +0100
From: Ralf Baechle <ralf@...ux-mips.org>
To: Alan Cox <alan@...ux.intel.com>
Cc: Yong Wang <yong.y.wang@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Manuel Lauss <manuel.lauss@...glemail.com>,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org,
Masayuki Ohtake <masa-korg@....okisemi.com>,
"Khor, Andrew Chih Howe" <andrew.chih.howe.khor@...el.com>
Subject: Re: One question about 8250 UART driver
On Tue, Aug 17, 2010 at 09:16:22AM +0100, Alan Cox wrote:
> > We have a PCI based UART controller that is compatible with the
> > existing 8250 serial driver in most aspects. However, one exception
> > is that our UART controller can take advantage of the onboard DMA
> > contoller to achieve higher throughput. Could you please share your
> > insights about what is the proper way to add such DMA support into
> > existing 8250 driver?
>
> I'd say the same as I said to the other folks who asked this - create a
> new driver. All the DMA based 8250 devices have differing DMA engines
> and it'll become unmanagable in the existing driver.
>
> Once we can see which bits of the existing code are useful for the DMA
> 8250-style devices we can then create an 8250-lib.c which contains the
> bits that are useful to 8250 and to non standard 8250-like devices.
An existing example is drivers/serial/ioc3_serial.c. IOC3 is an SGI
custom chip which is only being used in SGI systems. It has a PCI
master and 486-style slave bus to which a SuperIO chip is connected.
The IOC3 can either be configured to use the chip in legacy mode; then
the standard 8250 driver will work fine. It also support a DMA mode
with receive and transmit rings which make it similar to a network chip.
Ralf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists