<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/uart, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC: 364430:</title>
<updated>2020-09-09T22:54:09+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2020-09-09T22:54:09+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=470538bad3cd053a4b9d499f298033f996d0c839'/>
<id>470538bad3cd053a4b9d499f298033f996d0c839</id>
<content type='text'>
r364430 | imp | 2020-08-20 11:19:40 -0600 (Thu, 20 Aug 2020) | 6 lines

Tag pccard drivers with gone in 13.

MFC After: 3 days
Reviewed by: emaste, brooks, adrian (on twitter)
Differential Revision: https://reviews.freebsd.org/D26095
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r364430 | imp | 2020-08-20 11:19:40 -0600 (Thu, 20 Aug 2020) | 6 lines

Tag pccard drivers with gone in 13.

MFC After: 3 days
Reviewed by: emaste, brooks, adrian (on twitter)
Differential Revision: https://reviews.freebsd.org/D26095
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC 359900: Export a sysctl count of RX FIFO overrun events.</title>
<updated>2020-09-08T22:50:24+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-09-08T22:50:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=13ccf661f6633628bf977612b86b6b638f0b5273'/>
<id>13ccf661f6633628bf977612b86b6b638f0b5273</id>
<content type='text'>
uart(4) backends currently detect RX FIFO overrun errors and report
them to the uart(4) core layer.  They are then reported to the generic
TTY layer which promptly ignores them.  As a result, there is
currently no good way to determine if a uart is experiencing RX FIFO
overruns.  One could add a generic per-tty counter, but there did not
appear to be a good way to export those.  Instead, add a sysctl under
the uart(4) sysctl tree to export the count of overruns.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
uart(4) backends currently detect RX FIFO overrun errors and report
them to the uart(4) core layer.  They are then reported to the generic
TTY layer which promptly ignores them.  As a result, there is
currently no good way to determine if a uart is experiencing RX FIFO
overruns.  One could add a generic per-tty counter, but there did not
appear to be a good way to export those.  Instead, add a sysctl under
the uart(4) sysctl tree to export the count of overruns.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC 359899: Correct baud rate error calculation.</title>
<updated>2020-09-08T22:19:06+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-09-08T22:19:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=db246688667a2c3c38030f20b3f85739071d8950'/>
<id>db246688667a2c3c38030f20b3f85739071d8950</id>
<content type='text'>
Shifting right by 1 is not the same as dividing by 2 for signed
values.  In particular, dividing a signed value by 2 gives the integer
ceiling of the (e.g. -5 / 2 == -2) whereas shifting right by 1 always
gives the floor (-5 &gt;&gt; 1 == -3).

An embedded board with a 25 Mhz base clock results in an error of
-30.5% when used with a baud rate of 115200.  Using division, this
truncates to -30% and is permitted.  Using the shift, this fails and
is rejected causing TIOCSETA requests to fail with EINVAL and breaking
getty(8).

Using division gives the same error range for both over and under baud
rates and also makes the code match the behavior documented in the
existing comment about supporting boards with 25 Mhz clocks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Shifting right by 1 is not the same as dividing by 2 for signed
values.  In particular, dividing a signed value by 2 gives the integer
ceiling of the (e.g. -5 / 2 == -2) whereas shifting right by 1 always
gives the floor (-5 &gt;&gt; 1 == -3).

An embedded board with a 25 Mhz base clock results in an error of
-30.5% when used with a baud rate of 115200.  Using division, this
truncates to -30% and is permitted.  Using the shift, this fails and
is rejected causing TIOCSETA requests to fail with EINVAL and breaking
getty(8).

Using division gives the same error range for both over and under baud
rates and also makes the code match the behavior documented in the
existing comment about supporting boards with 25 Mhz clocks.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r358431:</title>
<updated>2020-03-02T16:56:32+00:00</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2020-03-02T16:56:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a37c30de3c00db0e6198f66eaf639f35d933c57e'/>
<id>a37c30de3c00db0e6198f66eaf639f35d933c57e</id>
<content type='text'>
Add Denverton UART PCI ID

Sponsored by:	Juniper Networks, Inc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add Denverton UART PCI ID

Sponsored by:	Juniper Networks, Inc
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r355796-r355797, r355799: kbd: defaults for get_fkeystr/diag</title>
<updated>2019-12-22T17:15:48+00:00</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2019-12-22T17:15:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3869cc6d4906aca2e02ed1b8cff0ace034c72c25'/>
<id>3869cc6d4906aca2e02ed1b8cff0ace034c72c25</id>
<content type='text'>
The genkbd version of these remains exposed for stable branches, but
keyboard drivers that just want to use the defaults can simply not provide
their own. There shouldn't be any unset in the wild.

r355796:
kbd: provide default implementations of get_fkeystr/diag

Most keyboard drivers are using the genkbd implementations as it is;
formally use them for any that aren't set.

r355797:
chrome_kb: remove default get_fkeystr/diag implementations

This file was missed in r355796, but no harm would have come from this.

r355799:
kbd: patch linker set methods, too

This is needed after r355796. Some double-registration of kbd drivers needs
to be sorted out, then this sysinit will simply add these drivers into the
normal list and kill off any other bits in the driver that are aware of the
linker set, for simplicity.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The genkbd version of these remains exposed for stable branches, but
keyboard drivers that just want to use the defaults can simply not provide
their own. There shouldn't be any unset in the wild.

r355796:
kbd: provide default implementations of get_fkeystr/diag

Most keyboard drivers are using the genkbd implementations as it is;
formally use them for any that aren't set.

r355797:
chrome_kb: remove default get_fkeystr/diag implementations

This file was missed in r355796, but no harm would have come from this.

r355799:
kbd: patch linker set methods, too

This is needed after r355796. Some double-registration of kbd drivers needs
to be sorted out, then this sysinit will simply add these drivers into the
normal list and kill off any other bits in the driver that are aware of the
linker set, for simplicity.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r355794: keyboard switch definitions: standardize on c99 initializers</title>
<updated>2019-12-22T16:04:12+00:00</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2019-12-22T16:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=93d368d89c617f5f2010eedb6da9593930fc3694'/>
<id>93d368d89c617f5f2010eedb6da9593930fc3694</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r352369: Relax TX draining in ns8250_bus_transmit().</title>
<updated>2019-09-29T02:55:57+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-09-29T02:55:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=30dc01a762e6f9868e3e69928d266e77e2cad5a4'/>
<id>30dc01a762e6f9868e3e69928d266e77e2cad5a4</id>
<content type='text'>
Since TX interrupt is generated when THRE is set, wait for TEMT set means
wait for full character transmission time.  At low speeds that may take
awhile, burning CPU time while holding sc_hwmtx lock, also congested.

This is partial revert of r317659.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since TX interrupt is generated when THRE is set, wait for TEMT set means
wait for full character transmission time.  At low speeds that may take
awhile, burning CPU time while holding sc_hwmtx lock, also congested.

This is partial revert of r317659.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r345405,345406,346228,346657,348195,348198: UART SPCR fixes.</title>
<updated>2019-05-28T22:22:40+00:00</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2019-05-28T22:22:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=92182fab8a21dc8f5356ffe82a6562b99b8a8516'/>
<id>92182fab8a21dc8f5356ffe82a6562b99b8a8516</id>
<content type='text'>
r345405: Obey SPCR AccessWidth parameter.
r345406: Initialize uart_bus_space_mem on arm64.
r346228: Add quirk to ignore AccessWidth on PL011 UART.
r346657: Handle SPCR BaudRate = 0.
r348195: Extract arm64 SPCR code and make it MI; use on x86 too.
r348198: Fix for r348195.

This unbreaks the console on EC2 a1.* and *.metal instances.

Sponsored by:	https://www.patreon.com/cperciva
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r345405: Obey SPCR AccessWidth parameter.
r345406: Initialize uart_bus_space_mem on arm64.
r346228: Add quirk to ignore AccessWidth on PL011 UART.
r346657: Handle SPCR BaudRate = 0.
r348195: Extract arm64 SPCR code and make it MI; use on x86 too.
r348198: Fix for r348195.

This unbreaks the console on EC2 a1.* and *.metal instances.

Sponsored by:	https://www.patreon.com/cperciva
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for the UART device found in lowRISC system-on-a-chip.</title>
<updated>2018-10-12T15:19:41+00:00</updated>
<author>
<name>Ruslan Bukin</name>
<email>br@FreeBSD.org</email>
</author>
<published>2018-10-12T15:19:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=053ec0508ead63baab9c04a44044fb7f14dfc6ed'/>
<id>053ec0508ead63baab9c04a44044fb7f14dfc6ed</id>
<content type='text'>
The only source of documentation for this device is verilog,
so driver is minimalistic.

Reviewed by:	Dr Jonathan Kimmitt &lt;jrrk2@cam.ac.uk&gt;
Approved by:	re (kib)
Sponsored by:	DARPA, AFRL
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The only source of documentation for this device is verilog,
so driver is minimalistic.

Reviewed by:	Dr Jonathan Kimmitt &lt;jrrk2@cam.ac.uk&gt;
Approved by:	re (kib)
Sponsored by:	DARPA, AFRL
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Armada 38x UART device tree binding</title>
<updated>2018-10-10T10:34:17+00:00</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2018-10-10T10:34:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0693b1d2a93c833c5f2479d33186299fd7e0c438'/>
<id>0693b1d2a93c833c5f2479d33186299fd7e0c438</id>
<content type='text'>
Recent changes in Linux updated Marvell Armada 38x
UART compatible string. As a result the FreeBSD driver
(uart_dev_snps) does not probe. This commit fixes the
situation, however not applying any functional modification
to the driver methods.

Approved by: re (kib)
Obtained from: Semihalf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recent changes in Linux updated Marvell Armada 38x
UART compatible string. As a result the FreeBSD driver
(uart_dev_snps) does not probe. This commit fixes the
situation, however not applying any functional modification
to the driver methods.

Approved by: re (kib)
Obtained from: Semihalf
</pre>
</div>
</content>
</entry>
</feed>
