ff7306cf44
not pre-load the chip's Tx buffer, but instead waits for the Tx Ready interrupt to transmit the first chunk of data. * On the IOP310, set COM_HW_NO_TXPRELOAD, rather than COM_HW_TXFIFO_DISABLE. This solves the "UART hangs" problem on the Npwr in a nicer way (i.e. we get to use the FIFO, whee). The COM_HW_NO_TXPRELOAD happens to match the Linux 16550 driver's Tx algorithm, and the "UART hang" was never observed on the Npwr running Linux. Eventually, we might want to eliminate the COM_HW_NO_TXPRELOAD, and simply always use its algorithm. But it should be tested on more 16x50 variants before we do that. Kudos to Valeriy Ushakov <uwe@netbsd.org> for pointing out this solution (which also happens to fix the stray UART interrupt issue on the Krups Javastation), and to Allen Briggs <briggs@netbsd.org> for experimenting with various methods of fixing this. |
||
---|---|---|
.. | ||
com_obio.c | ||
i80312_mainbus.c | ||
iq80310_7seg.c | ||
iq80310_intr.c | ||
iq80310_machdep.c | ||
iq80310_pci.c | ||
iq80310_start.S | ||
iq80310_timer.c | ||
iq80310reg.h | ||
iq80310var.h | ||
obio_space.c | ||
obio.c | ||
obiovar.h |