<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/tty/serial/imx.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-04-23T07:53:36Z</updated>
<entry>
<title>serial: imx: fix cached UCR2 read on software reset</title>
<updated>2018-04-23T07:53:36Z</updated>
<author>
<name>Stefan Agner</name>
</author>
<published>2018-04-20T12:44:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0aa821d846c0590ad64a00af95a3dcc29263d70f'/>
<id>urn:sha1:0aa821d846c0590ad64a00af95a3dcc29263d70f</id>
<content type='text'>
To reset the UART the SRST needs be cleared (low active). According
to the documentation the bit will remain active for 4 module clocks
until it is cleared (set to 1).

Hence the real register need to be read in case the cached register
indicates that the SRST bit is zero.

This bug lead to wrong baudrate because the baud rate register got
restored before reset completed in imx_flush_buffer.

Fixes: 3a0ab62f43de ("serial: imx: implement shadow registers for UCRx and UFCR")
Signed-off-by: Stefan Agner &lt;stefan@agner.ch&gt;
Reviewed-by: Fabio Estevam &lt;fabio.estevam@nxp.com&gt;
Reviewed-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: warn user when using unsupported configuration</title>
<updated>2018-04-23T07:53:36Z</updated>
<author>
<name>Stefan Agner</name>
</author>
<published>2018-04-19T15:39:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d215f83e5fccb3dd023e97fef1bd0029bfedde9'/>
<id>urn:sha1:6d215f83e5fccb3dd023e97fef1bd0029bfedde9</id>
<content type='text'>
When using half-duplex mode (which disables receiver during txing)
the RTS signal cannot be driven low during transmission when using
i.MX UART RTS/CTS control. This seems to be a limitation of the
i.MX UART IP: The RTS (CTS_B) signal is controlled by the receiver.
When the receiver is disabled, the signal stays in UART logic idle
state which is high...

If SER_RS485_RTS_ON_SEND is used, RTS needs to be high active during
transmission. Since this is the default state of the RTS (CTS_B)
signal when the receiver is off, half-duplex mode in this
configuration works fine.

However, a low-active RTS signal (flag SER_RS485_RTS_ON_SEND not set)
cannot be generated when the receiver is turned off.

Print an error if the user selects this unsupported configuration
(both SER_RS485_RTS_ON_SEND and SER_RS485_RX_DURING_TX unset) and
configure the closest working configuration (set the
SER_RS485_RX_DURING_TX flag).

Signed-off-by: Stefan Agner &lt;stefan@agner.ch&gt;
Acked-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge 4.16-rc6 into tty-next</title>
<updated>2018-03-20T10:27:18Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2018-03-20T10:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4958134df54c2c84e9c22ea042761d439164d26e'/>
<id>urn:sha1:4958134df54c2c84e9c22ea042761d439164d26e</id>
<content type='text'>
We want the serial/tty fixes in here as well.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: consistently use imx_uart_ as prefix for all functions</title>
<updated>2018-03-09T18:21:02Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d1a50a2cceb3a8589531f7a2652f1a478df8907'/>
<id>urn:sha1:9d1a50a2cceb3a8589531f7a2652f1a478df8907</id>
<content type='text'>
Having a fixed prefix helps at several places. It ensures that another
driver doesn't use the same function name which confuses the linker and
tools like ctags. It simplifies working with function tracing and
dynamic printk() support which can filter on function names. And last
but not least it helps the human source code reader to understand if a
given function belongs to a driver or a more general part of the kernel.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: don't prepare to send if no data is available</title>
<updated>2018-03-09T18:21:02Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48669b69e3ecbabbd2936fbbe095901ba83a37f9'/>
<id>urn:sha1:48669b69e3ecbabbd2936fbbe095901ba83a37f9</id>
<content type='text'>
serial_core might call the .start_tx callback without any data being
available to send. In this case return early instead of going through
all the setup needed for sending which might include disabling RX in
RS485 half-duplex mode.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: Fix handling of TC irq in combination with DMA</title>
<updated>2018-03-09T18:21:02Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1866541492641c02874bf51f9d8712b5510f2c64'/>
<id>urn:sha1:1866541492641c02874bf51f9d8712b5510f2c64</id>
<content type='text'>
When using RS485 half duplex the Transmitter Complete irq is needed to
determine the moment when the transmitter can be disabled. When using
DMA this irq must only be enabled when DMA has completed to transfer all
data. Otherwise the CPU might busily trigger this irq which is not
properly handled and so the also pending irq for the DMA transfer cannot
trigger.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: Also enable the aging timer in PIO mode</title>
<updated>2018-03-09T18:21:01Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=81ca8e8286c48df22eb798879d99aabac663b5f1'/>
<id>urn:sha1:81ca8e8286c48df22eb798879d99aabac663b5f1</id>
<content type='text'>
This allows to increase the RX waterlevel which allows to delay the RRDY
irq. The desired effect is that less irqs are needed to handle
characters and so reduce irq count of the system.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: ensure that RX irqs are off if RX is off</title>
<updated>2018-03-09T18:21:01Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76821e222c189b81d553b855ee7054340607eb46'/>
<id>urn:sha1:76821e222c189b81d553b855ee7054340607eb46</id>
<content type='text'>
Make sure that UCR1.RXDMAEN and UCR1.ATDMAEN (for the DMA case) and
UCR1.RRDYEN (for the PIO case) are off iff UCR1.RXEN is disabled. This
ensures that the fifo isn't read with RX disabled which results in an
exception.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: Stop to receive in .stop_rx()</title>
<updated>2018-03-09T18:21:01Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dedc64e02f5da1c7bd0b4ec232341047a8b0142b'/>
<id>urn:sha1:dedc64e02f5da1c7bd0b4ec232341047a8b0142b</id>
<content type='text'>
When the UART is used in DMA mode, .stop_rx() does nothing if the port
isn't suspended. This is wrong as .stop_rx() should stop receiving
characters unconditionally. When the port is about to be closed the DMA
channel is stopped in .shutdown(), so this isn't necessary to be in
.stop_rx() here, too.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: imx: setup fifo waterlevel before enabling aging timer</title>
<updated>2018-03-09T18:21:01Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2018-03-02T10:07:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02b0abd3bb93ea1d9818c5c5b1fcf293f81cee37'/>
<id>urn:sha1:02b0abd3bb93ea1d9818c5c5b1fcf293f81cee37</id>
<content type='text'>
The aging timer fires if there are characters in the RX fifo but the
water level isn't reached yet. Make sure that the waterlevel is
configured before the aging timer is enabled to trigger a DMA request
(UCR1_ATDMAEN).

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
