<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/uart/uart_tty.c, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2018-05-29T16:16:24Z</updated>
<entry>
<title>add support for console resuming, implement it for uart, use on x86</title>
<updated>2018-05-29T16:16:24Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2018-05-29T16:16:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ec6faf94c489e4217207bb2cbc1c36d73f07b522'/>
<id>urn:sha1:ec6faf94c489e4217207bb2cbc1c36d73f07b522</id>
<content type='text'>
This change adds a new optional console method cn_resume and a kernel
console interface cnresume.  Consoles that may need to re-initialize
their hardware after suspend (e.g., because firmware does not care to do
it) will implement cn_resume.  Note that it is called in rather early
environment not unlike early boot, so the same restrictions apply.
Platform specific code, for platforms that support hardware suspend,
should call cnresume early after resume, before any console output is
expected.

This change fixes a problem with a system of mine failing to resume when
a serial console is used.  I found that the serial port was in a strange
configuration and an attempt to write to it likely resulted in an
infinite loop.

To avoid adding cn_resume method to every console driver, CONSOLE_DRIVER
macro has been extended to support optional methods.

Reviewed by:	imp, mav
MFC after:	3 weeks
Differential Revision: https://reviews.freebsd.org/D15552
</content>
</entry>
<entry>
<title>sys/dev: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T14:52:40Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T14:52:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=718cf2ccb9956613756ab15d7a0e28f2c8e91cab'/>
<id>urn:sha1:718cf2ccb9956613756ab15d7a0e28f2c8e91cab</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>- Make the code consistent with itself style-wise and bring it closer</title>
<updated>2016-01-25T22:58:06Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2016-01-25T22:58:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=57169cea64fa5fc82057b63149d56395665dd490'/>
<id>urn:sha1:57169cea64fa5fc82057b63149d56395665dd490</id>
<content type='text'>
  to style(9).
- Mark unused arguments as such.
- Make the ttystates table const.
</content>
</entry>
<entry>
<title>Fix tty_drain() and, thus, TIOCDRAIN of the current tty(4) incarnation</title>
<updated>2016-01-19T23:34:27Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2016-01-19T23:34:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9750d9e5b6f011a99da26a6f1e57c65545d26473'/>
<id>urn:sha1:9750d9e5b6f011a99da26a6f1e57c65545d26473</id>
<content type='text'>
to actually wait until the TX FIFOs of UARTs have be drained before
returning. This is done by bringing the equivalent of the TS_BUSY flag
found in the previous implementation back in an ABI-preserving way.
Reported and tested by: Patrick Powell

Most likely, drivers for USB-serial-adapters likewise incorporating
TX FIFOs as well as other terminal devices that buffer output in some
form should also provide implementations of tsw_busy.

MFC after:	3 days
</content>
</entry>
<entry>
<title>Provide the tty-layer mutex when initializing the pps api.  This allows</title>
<updated>2015-08-08T20:11:47Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2015-08-08T20:11:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b59236ceceb2864cedcb2a4c9b9db58f63be9eea'/>
<id>urn:sha1:b59236ceceb2864cedcb2a4c9b9db58f63be9eea</id>
<content type='text'>
time_pps_fetch() to be used in blocking mode.

Also, don't init the pps api for system devices (consoles) that provide a
custom attach routine.  The device may actually be a keyboard or other non-
tty device.  If it wants to do pps processing (unlikely) it must handle
everything for itself.  (In reality, only a sun keyboard uses a custom
attach routine, and it doesn't make a good pps device.)
</content>
</entry>
<entry>
<title>Do not prevent processes from making changes to the baudrate or the</title>
<updated>2014-04-05T22:25:10Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2014-04-05T22:25:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4c710b6756bbf8fdca97a8b6ed40f69bec8ab291'/>
<id>urn:sha1:4c710b6756bbf8fdca97a8b6ed40f69bec8ab291</id>
<content type='text'>
CLOCAL and HUPCL control flags. There are legit reasons for allowing
those to be changed. When /etc/ttys has the "3wire" type (without a
baudrate) for the serial port that is the low-level console, then
this change has no effect.

Obtained from:	Juniper Networks, Inc.
</content>
</entry>
<entry>
<title>Pass the actual baudrate to tty_init_console(). This defines the initial</title>
<updated>2014-03-11T03:20:10Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2014-03-11T03:20:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f725b213a7a290f8eb75be893c14f554e80f7821'/>
<id>urn:sha1:f725b213a7a290f8eb75be893c14f554e80f7821</id>
<content type='text'>
baudrate of the device special file, and makes sure that on open(2) the
UART is programmed with the correct baudrate. This then eliminates the
need in uart_tty_param() to override the speed setting.
</content>
</entry>
<entry>
<title>Plumb the cn_grab and cn_ungrab routines down into the uart</title>
<updated>2013-12-21T16:23:31Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2013-12-21T16:23:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f83ed22cb62fd8e1b665924e673e01e586ee204f'/>
<id>urn:sha1:f83ed22cb62fd8e1b665924e673e01e586ee204f</id>
<content type='text'>
clients. Mask RX interrupts while grabbed on the atmel serial
driver. This UART interrupts every character. When interrupts are
enabled at the mountroot&gt; prompt, this means the ISR eats the
characters. Rather than try to create a cooperative buffering system
for the low level kernel console, instead just mask out the ISR. For
NS8250 and decsendents this isn't needed, since interrupts only happen
after 14 or more characters (depending on the fifo settings). Plumb
such that these are optional so there's no change in behavior for all
the other UART clients. ddb worked on this platform because all
interrupts were disabled while it was running, so this problem wasn't
noticed. The mountroot&gt; issue has been around for a very very long
time.

MFC after:	3 days
</content>
</entry>
<entry>
<title>kern cons: introduce infrastructure for console grabbing by kernel</title>
<updated>2011-12-17T15:08:43Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2011-12-17T15:08:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9976156f12f1be7cb85c90e9ef54be06690bc955'/>
<id>urn:sha1:9976156f12f1be7cb85c90e9ef54be06690bc955</id>
<content type='text'>
At the moment grab and ungrab methods of all console drivers are no-ops.

Current intended meaning of the calls is that the kernel takes control of
console input.  In the future the semantics may be extended to mean that
the calling thread takes full ownership of the console (e.g. console
output from other threads could be suspended).

Inspired by:	bde
MFC after:	2 months
</content>
</entry>
<entry>
<title>In uart_tty_outwakeup(), check CTS/RTS flow control settings and</title>
<updated>2011-01-24T18:34:16Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-01-24T18:34:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f1fb96475a9ccfa8c7e5f3c52cb6b3a7908ae31f'/>
<id>urn:sha1:f1fb96475a9ccfa8c7e5f3c52cb6b3a7908ae31f</id>
<content type='text'>
prevent sending data when CTS is de-asserted.
In uart_tty_intr(), call uart_tty_outwakeup() when the CTS signal
changed, knowing that uart_tty_outwakeup() will do the right
thing for flow control. This avoids redundant conditionals.

PR:		kern/148644
Submitted by:	John Wehle &lt;john@feith.com&gt;
MFC after:	3 days
</content>
</entry>
</feed>
