Re: [gphoto-kodak] Re: Kodak DC-265 overrunning linux serial driver?

brian@worldcontrol.com
Fri, 19 Nov 1999 23:00:18 -0800


> The bottem line when using a 16550A UART in a UNIX-like OS is that the
> system must service the FIFO in the time it takes for 14 or so characters
> to come in. Apparently, this is not happening.
>

On Fri, Nov 19, 1999 at 06:44:57PM -0500, Theodore Y. Ts'o wrote:
> Actually, the UART interrupts when the FIFO is half-full, so the OS has
> 8 character times in which to react.

In the 16550A UARTs I'm used to the FIFO irq threshold was programmable
at 1, 4, 8, or 14. If set to one, it gives the system 14 or 15
character times to respond. The 4.2.7 linux serial driver sets it
to 8, unless you modify the driver yourself as Jim and I have done
to set it to 1.

On Fri, Nov 19, 1999 at 06:44:57PM -0500, Theodore Y. Ts'o wrote:
> Are you using an old IDE controller that does programmed I/O (i.e., no
> DMA?). If so, look at the man page for hdparm's -u option. That should
> make your problem go away. (The explanation for the -u option will also
> explain why this isn't the default.)

top kernel: ide0: BM-DMA at 0xfcd0-0xfcd7, BIOS settings: hda:DMA, hdb:pio
top kernel: hda: TOSHIBA MK6409MAV, 6194MB w/0kB Cache, CHS=839/240/63, UDMA

brian@top brian>hdparm -v /dev/hda
/dev/hda:
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 839/240/63, sectors = 12685680, start = 0

I've always assumed this meant DMA was on and supported. Is this
an adequate assumption? Shall I turn on -u anyways?

On Fri, Nov 19, 1999 at 06:44:57PM -0500, Theodore Y. Ts'o wrote:
> The problem is that certain other device drivers (and the IDE PIO driver
> is the prime example) keeps interrupts off to long,

On Fri, Nov 19, 1999 at 06:44:57PM -0500, Theodore Y. Ts'o wrote:
> The other fix is to use UART's with bigger FIFO's. The Oxford
> Semiconductor has a UART with a 128-byte FIFO, which is quite nice.

I generally don't have these sorts of problems with my Hayes ESP
cards, or Cyclades multiport cards which have real hardware RTS/CTS
handling. It is just hard to get these into my laptop. 8-)

Its nice to have a solid understanding of the problem.

-- 
Brian Litzinger <brian@litzinger.com>

Copyright (c) 1999 By Brian Litzinger, All Rights Reserved

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/