<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/uart/uart_dev_i8251.c, branch release/5.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-06-24T10:07:28Z</updated>
<entry>
<title>Use the new serial port definitions for modemsignals.</title>
<updated>2004-06-24T10:07:28Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-06-24T10:07:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=28710806cbb64a31d7b4afcba9523376bd0ca941'/>
<id>urn:sha1:28710806cbb64a31d7b4afcba9523376bd0ca941</id>
<content type='text'>
</content>
</entry>
<entry>
<title>In uart_intr() loop until all interrupts have been handled. Previously</title>
<updated>2003-09-17T03:11:32Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-09-17T03:11:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=44ed791b92a2d5a5a2ec7dceeaac65e9749a8eda'/>
<id>urn:sha1:44ed791b92a2d5a5a2ec7dceeaac65e9749a8eda</id>
<content type='text'>
an UART interface could get stuck when a new interrupt condition
arose while servicing a previous interrupt. Since an interrupt was
already pending, no new interrupt would be triggered.

Avoid infinite recursion by flushing the Rx FIFO and marking an
overrun condition when we could not move the data from the Rx
FIFO to the receive buffer in toto. Failure to flush the Rx FIFO
would leave the Rx ready condition pending.

Note that the SAB 82532 already did this due to the nature of the
chip.
</content>
</entry>
<entry>
<title>Add locking to the hardware drivers. I intended to figure out more</title>
<updated>2003-09-17T01:41:21Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-09-17T01:41:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=06287620b4f768f18a0874557b1cfa70e35791df'/>
<id>urn:sha1:06287620b4f768f18a0874557b1cfa70e35791df</id>
<content type='text'>
precisely where locking would be needed before adding it, but it
seems uart(4) draws slightly too much attention to have it without
locking for too long.
The lock added is a spinlock that protects access to the underlying
hardware. As a first and obvious stab at this, each method of the
hardware interface grabs the lock. Roughly speaking this serializes
the methods. Exceptions are the probe, attach and detach methods.
</content>
</entry>
<entry>
<title>Better stab at MD code for pc98.  The 8251 stuff is a total lie</title>
<updated>2003-09-07T04:59:15Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2003-09-07T04:59:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=af1af2d2cce18446faaa0e7336b97d98dc39e287'/>
<id>urn:sha1:af1af2d2cce18446faaa0e7336b97d98dc39e287</id>
<content type='text'>
(ns8250 copied and s/ns8250/i8251/g), but there for linkage purposes.
Real code to follow, once I get past some boot issues on my pc98 boxes
with recent current.
</content>
</entry>
</feed>
