<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/tty/serial/imx.c, branch v4.7</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>serial: imx: Use generic uart-has-rtscts DT property</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2016-04-22T15:22:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1006ed7e1b258dac3e85c9fafe9d38b6020c917f'/>
<id>1006ed7e1b258dac3e85c9fafe9d38b6020c917f</id>
<content type='text'>
Convert the Freescale IMX UART driver from using the vendor-specific
"fsl,uart-has-rtscts" to the generic "uart-has-rtscts" DT property, as
documented by the Generic Serial DT Bindings.

The old vendor-specific property is still recognized by the driver for
backwards compatibility, but deprecated.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Acked-by: Rob Herring &lt;robh@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert the Freescale IMX UART driver from using the vendor-specific
"fsl,uart-has-rtscts" to the generic "uart-has-rtscts" DT property, as
documented by the Generic Serial DT Bindings.

The old vendor-specific property is still recognized by the driver for
backwards compatibility, but deprecated.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Acked-by: Rob Herring &lt;robh@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: implement DSR irq handling for DTE mode</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=27e16501052e5341934d3d327d580dc9a90f1212'/>
<id>27e16501052e5341934d3d327d580dc9a90f1212</id>
<content type='text'>
Enable reporting of DSR events (which is named DTR in the registers
because Freescale uses the names as seem from a DCE).

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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable reporting of DSR events (which is named DTR in the registers
because Freescale uses the names as seem from a DCE).

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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: reorder functions to simplify next patch</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=66f95884928bd1b4114531b7a472601acf285130'/>
<id>66f95884928bd1b4114531b7a472601acf285130</id>
<content type='text'>
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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: only count 0-&gt;1 transitions for RNG</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9ec8efe94b5c6a797aa5bceca337373d310f9c2c'/>
<id>9ec8efe94b5c6a797aa5bceca337373d310f9c2c</id>
<content type='text'>
According to tty_ioctl(4) (from man-pages 4.04) the rng member only
counts 0-&gt;1 transitions. For the other signals (DSR, CD, CTS) both edges
are supposed to be counted.

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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to tty_ioctl(4) (from man-pages 4.04) the rng member only
counts 0-&gt;1 transitions. For the other signals (DSR, CD, CTS) both edges
are supposed to be counted.

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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: make sure unhandled irqs are disabled</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=16804d68bfaa7f5f5a73ab4a016ffeba33e87770'/>
<id>16804d68bfaa7f5f5a73ab4a016ffeba33e87770</id>
<content type='text'>
Make sure that events that are not handled in the irq function don't
trigger an interrupt.

When the serial port is operated in DTE mode, the events for DCD and RI
events are enabled after a system reset by default.

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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure that events that are not handled in the irq function don't
trigger an interrupt.

When the serial port is operated in DTE mode, the events for DCD and RI
events are enabled after a system reset by default.

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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: let irq handler return IRQ_NONE if no event was handled</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4d845a62b3f5672a813777b8dbebca0bad456bac'/>
<id>4d845a62b3f5672a813777b8dbebca0bad456bac</id>
<content type='text'>
This gives the irq core a chance to disable the serial interrupt in case
an event isn't cleared in the handler.

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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This gives the irq core a chance to disable the serial interrupt in case
an event isn't cleared in the handler.

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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: fix polarity of RI</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2016-03-24T13:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e881d3f3fafc849356ecd1e3a2f3bf669476ed2d'/>
<id>e881d3f3fafc849356ecd1e3a2f3bf669476ed2d</id>
<content type='text'>
When in DTE mode, the bit USR2_RIIN is active low. So invert the logic
accordingly.

Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking")
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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When in DTE mode, the bit USR2_RIIN is active low. So invert the logic
accordingly.

Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking")
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: support RS-485 Rx disable on Tx</title>
<updated>2016-04-30T16:26:55+00:00</updated>
<author>
<name>Baruch Siach</name>
<email>baruch@tkos.co.il</email>
</author>
<published>2016-02-29T12:34:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7d1cadca957d3c586fe71054ed843565013236d9'/>
<id>7d1cadca957d3c586fe71054ed843565013236d9</id>
<content type='text'>
Some RS-232 to RS-485 transceivers require Rx to be disabled on Tx to
avoid echo of Tx data into the Rx buffer. Specifically, the XR3160E
RS-232/RS-485/RS-422 transceiver behaves this way.

This commit disables Rx on active Tx when SER_RS485_ENABLED is active and
SER_RS485_RX_DURING_TX is disabled.

Note that this is a change in behavior of the driver. Until now
SER_RS485_RX_DURING_TX was enabled unconditionally even when disabled in
the TIOCSRS485 ioctl serial_rs485 flags field.

Cc: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Baruch Siach &lt;baruch@tkos.co.il&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some RS-232 to RS-485 transceivers require Rx to be disabled on Tx to
avoid echo of Tx data into the Rx buffer. Specifically, the XR3160E
RS-232/RS-485/RS-422 transceiver behaves this way.

This commit disables Rx on active Tx when SER_RS485_ENABLED is active and
SER_RS485_RX_DURING_TX is disabled.

Note that this is a change in behavior of the driver. Until now
SER_RS485_RX_DURING_TX was enabled unconditionally even when disabled in
the TIOCSRS485 ioctl serial_rs485 flags field.

Cc: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Baruch Siach &lt;baruch@tkos.co.il&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: Fix suspend / resume.</title>
<updated>2016-02-07T06:53:43+00:00</updated>
<author>
<name>Martin Fuzzey</name>
<email>mfuzzey@parkeon.com</email>
</author>
<published>2016-01-05T15:53:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=29add68d16474b7e8e3eadd94da4e909533b99d2'/>
<id>29add68d16474b7e8e3eadd94da4e909533b99d2</id>
<content type='text'>
When a non console i.MX UART is enabled in the device tree,
system suspend fails due to an unprepared clock:

[  638.794563] PM: Syncing filesystems ... done.
[  638.878902] Freezing user space processes ... (elapsed 0.002 seconds) done.
[  638.888454] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  638.996697] PM: suspend of devices complete after 97.200 msecs
[  639.002611] PM: suspend devices took 0.100 seconds
[  639.013020] PM: late suspend of devices complete after 2.288 msecs
[  639.021486] ------------[ cut here ]------------
[  639.026147] WARNING: CPU: 0 PID: 488 at drivers/clk/clk.c:732 clk_core_enable+0xc0/0x12c()
[  639.034413] Modules linked in:
[  639.037490] CPU: 0 PID: 488 Comm: system_server Tainted: G        W       4.4.0-rc5-pknbsp-svn2214-atag-v4.4-rc5-121-gebfd9cb #1304
[  639.049312] Hardware name: Freescale i.MX53 (Device Tree Support)
[  639.055444] [&lt;c0016d54&gt;] (unwind_backtrace) from [&lt;c00140f8&gt;] (show_stack+0x20/0x24)
[  639.063199] [&lt;c00140f8&gt;] (show_stack) from [&lt;c02c99a0&gt;] (dump_stack+0x20/0x28)
[  639.070442] [&lt;c02c99a0&gt;] (dump_stack) from [&lt;c0024ca8&gt;] (warn_slowpath_common+0x88/0xc0)
[  639.078541] [&lt;c0024ca8&gt;] (warn_slowpath_common) from [&lt;c0024d0c&gt;] (warn_slowpath_null+0x2c/0x34)
[  639.087332] [&lt;c0024d0c&gt;] (warn_slowpath_null) from [&lt;c05171e8&gt;] (clk_core_enable+0xc0/0x12c)
[  639.095777] [&lt;c05171e8&gt;] (clk_core_enable) from [&lt;c05172f8&gt;] (clk_enable+0x2c/0x40)
[  639.103441] [&lt;c05172f8&gt;] (clk_enable) from [&lt;c0349880&gt;] (imx_serial_port_suspend_noirq+0x20/0xe0)
[  639.112336] [&lt;c0349880&gt;] (imx_serial_port_suspend_noirq) from [&lt;c03a26a0&gt;] (dpm_run_callback+0x68/0x16c)
[  639.121825] [&lt;c03a26a0&gt;] (dpm_run_callback) from [&lt;c03a2898&gt;] (__device_suspend_noirq+0xf4/0x22c)
[  639.130705] [&lt;c03a2898&gt;] (__device_suspend_noirq) from [&lt;c03a4b0c&gt;] (dpm_suspend_noirq+0x148/0x30c)
[  639.139764] [&lt;c03a4b0c&gt;] (dpm_suspend_noirq) from [&lt;c00511d4&gt;] (suspend_devices_and_enter+0x2e8/0x6a4)
[  639.149078] [&lt;c00511d4&gt;] (suspend_devices_and_enter) from [&lt;c00518a0&gt;] (pm_suspend+0x310/0x4b8)
[  639.157782] [&lt;c00518a0&gt;] (pm_suspend) from [&lt;c00500ec&gt;] (state_store+0x7c/0xcc)
[  639.165099] [&lt;c00500ec&gt;] (state_store) from [&lt;c02cb6dc&gt;] (kobj_attr_store+0x1c/0x28)
[  639.172858] [&lt;c02cb6dc&gt;] (kobj_attr_store) from [&lt;c01633d4&gt;] (sysfs_kf_write+0x54/0x58)
[  639.180871] [&lt;c01633d4&gt;] (sysfs_kf_write) from [&lt;c01629b4&gt;] (kernfs_fop_write+0x100/0x1c8)
[  639.189152] [&lt;c01629b4&gt;] (kernfs_fop_write) from [&lt;c00fb8b8&gt;] (__vfs_write+0x3c/0xe8)
[  639.196991] [&lt;c00fb8b8&gt;] (__vfs_write) from [&lt;c00fc810&gt;] (vfs_write+0xa4/0x160)
[  639.204307] [&lt;c00fc810&gt;] (vfs_write) from [&lt;c00fcac4&gt;] (SyS_write+0x4c/0x98)
[  639.211363] [&lt;c00fcac4&gt;] (SyS_write) from [&lt;c0010760&gt;] (ret_fast_syscall+0x0/0x3c)

This does not happen for the common case of a single UART used as a console
(since imx_console_setup() already does a prepare)

Signed-off-by: Martin Fuzzey &lt;mfuzzey@parkeon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a non console i.MX UART is enabled in the device tree,
system suspend fails due to an unprepared clock:

[  638.794563] PM: Syncing filesystems ... done.
[  638.878902] Freezing user space processes ... (elapsed 0.002 seconds) done.
[  638.888454] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  638.996697] PM: suspend of devices complete after 97.200 msecs
[  639.002611] PM: suspend devices took 0.100 seconds
[  639.013020] PM: late suspend of devices complete after 2.288 msecs
[  639.021486] ------------[ cut here ]------------
[  639.026147] WARNING: CPU: 0 PID: 488 at drivers/clk/clk.c:732 clk_core_enable+0xc0/0x12c()
[  639.034413] Modules linked in:
[  639.037490] CPU: 0 PID: 488 Comm: system_server Tainted: G        W       4.4.0-rc5-pknbsp-svn2214-atag-v4.4-rc5-121-gebfd9cb #1304
[  639.049312] Hardware name: Freescale i.MX53 (Device Tree Support)
[  639.055444] [&lt;c0016d54&gt;] (unwind_backtrace) from [&lt;c00140f8&gt;] (show_stack+0x20/0x24)
[  639.063199] [&lt;c00140f8&gt;] (show_stack) from [&lt;c02c99a0&gt;] (dump_stack+0x20/0x28)
[  639.070442] [&lt;c02c99a0&gt;] (dump_stack) from [&lt;c0024ca8&gt;] (warn_slowpath_common+0x88/0xc0)
[  639.078541] [&lt;c0024ca8&gt;] (warn_slowpath_common) from [&lt;c0024d0c&gt;] (warn_slowpath_null+0x2c/0x34)
[  639.087332] [&lt;c0024d0c&gt;] (warn_slowpath_null) from [&lt;c05171e8&gt;] (clk_core_enable+0xc0/0x12c)
[  639.095777] [&lt;c05171e8&gt;] (clk_core_enable) from [&lt;c05172f8&gt;] (clk_enable+0x2c/0x40)
[  639.103441] [&lt;c05172f8&gt;] (clk_enable) from [&lt;c0349880&gt;] (imx_serial_port_suspend_noirq+0x20/0xe0)
[  639.112336] [&lt;c0349880&gt;] (imx_serial_port_suspend_noirq) from [&lt;c03a26a0&gt;] (dpm_run_callback+0x68/0x16c)
[  639.121825] [&lt;c03a26a0&gt;] (dpm_run_callback) from [&lt;c03a2898&gt;] (__device_suspend_noirq+0xf4/0x22c)
[  639.130705] [&lt;c03a2898&gt;] (__device_suspend_noirq) from [&lt;c03a4b0c&gt;] (dpm_suspend_noirq+0x148/0x30c)
[  639.139764] [&lt;c03a4b0c&gt;] (dpm_suspend_noirq) from [&lt;c00511d4&gt;] (suspend_devices_and_enter+0x2e8/0x6a4)
[  639.149078] [&lt;c00511d4&gt;] (suspend_devices_and_enter) from [&lt;c00518a0&gt;] (pm_suspend+0x310/0x4b8)
[  639.157782] [&lt;c00518a0&gt;] (pm_suspend) from [&lt;c00500ec&gt;] (state_store+0x7c/0xcc)
[  639.165099] [&lt;c00500ec&gt;] (state_store) from [&lt;c02cb6dc&gt;] (kobj_attr_store+0x1c/0x28)
[  639.172858] [&lt;c02cb6dc&gt;] (kobj_attr_store) from [&lt;c01633d4&gt;] (sysfs_kf_write+0x54/0x58)
[  639.180871] [&lt;c01633d4&gt;] (sysfs_kf_write) from [&lt;c01629b4&gt;] (kernfs_fop_write+0x100/0x1c8)
[  639.189152] [&lt;c01629b4&gt;] (kernfs_fop_write) from [&lt;c00fb8b8&gt;] (__vfs_write+0x3c/0xe8)
[  639.196991] [&lt;c00fb8b8&gt;] (__vfs_write) from [&lt;c00fc810&gt;] (vfs_write+0xa4/0x160)
[  639.204307] [&lt;c00fc810&gt;] (vfs_write) from [&lt;c00fcac4&gt;] (SyS_write+0x4c/0x98)
[  639.211363] [&lt;c00fcac4&gt;] (SyS_write) from [&lt;c0010760&gt;] (ret_fast_syscall+0x0/0x3c)

This does not happen for the common case of a single UART used as a console
(since imx_console_setup() already does a prepare)

Signed-off-by: Martin Fuzzey &lt;mfuzzey@parkeon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: implement handshaking using gpios with the mctrl_gpio helper</title>
<updated>2015-12-14T04:01:47+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2015-12-13T10:30:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=58362d5be35216f196b4a4d16aa2c6ef938087f0'/>
<id>58362d5be35216f196b4a4d16aa2c6ef938087f0</id>
<content type='text'>
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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
</feed>
