Re: TL16C752B DUART: MCR_OUT2 disables interrupts

From: Paul Fulghum
Date: Tue Jun 20 2006 - 16:26:01 EST


Shaun Jackman wrote:
The datasheet I have for the TL16C752B labels the MCR_OUT1 bit as
`FIFO Rdy enable' and the MCR_OUT2 bit as `IRQ enable'. The latter bit
concerns me. The 8250.c driver sets MCR_OUT2 by default; however, if
the user space clears MCR_OUT2 (through an ioctl TIOCMSET operation or
similar), it seems to me that interrupts for that UART will stop
working. Can someone confirm my suspicion?

I'd expect that clearing/setting the OUT1 and OUT2 pins from user
space should be an innocuous operation. Disabling interrupts is a
fairly nasty side effect.

The old 16550 OUT2 output (MCR:3) used to be a truly
independant control output that was commonly used
with an external gate to connect/disconnect the
interrupt request to the ISA bus.

Reading the TL16C752B datasheet, it seems pretty clear
that this gating is performed internal to the device.
MCR:3 is no longer an independant, general purpose I/O.

The result is the same though: If you dink around with
MCR:3 you could disable interrupts in either case.

So I don't see this as more or less of a problem than
other 16550 type devices.

--
Paul Fulghum
Microgate Systems, Ltd.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/