<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/tty/serial, branch v3.4.37</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.37</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.37'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-03-20T20:04:59+00:00</updated>
<entry>
<title>tty: serial: fix typo "ARCH_S5P6450"</title>
<updated>2013-03-20T20:04:59+00:00</updated>
<author>
<name>Paul Bolle</name>
<email>pebolle@tiscali.nl</email>
</author>
<published>2013-03-09T22:16:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3b11e57876950e7530fc9f6122179525000fda20'/>
<id>urn:sha1:3b11e57876950e7530fc9f6122179525000fda20</id>
<content type='text'>
commit 827aa0d36d486f359808c8fb931cf7a71011a09d upstream.

This could have been either ARCH_S5P64X0 or CPU_S5P6450. Looking at
commit 2555e663b367b8d555e76023f4de3f6338c28d6c ("ARM: S5P64X0: Add UART
serial support for S5P6450") - which added this typo - makes clear this
should be CPU_S5P6450.

Signed-off-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Acked-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: 8250_pci: add support for another kind of NetMos Technology PCI 9835 Multi-I/O Controller</title>
<updated>2013-03-20T20:04:58+00:00</updated>
<author>
<name>Wang YanQing</name>
<email>udknight@gmail.com</email>
</author>
<published>2013-03-01T03:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d91371bb47c16271e8dcb0da255ab1e0b5d15733'/>
<id>urn:sha1:d91371bb47c16271e8dcb0da255ab1e0b5d15733</id>
<content type='text'>
commit 8d2f8cd424ca0b99001f3ff4f5db87c4e525f366 upstream.

01:08.0 Communication controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)
	Subsystem: Device [1000:0012]
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium &gt;TAbort- &lt;TAbort- &lt;MAbort- &gt;SERR- &lt;PERR- INTx-
	Interrupt: pin A routed to IRQ 20
	Region 0: I/O ports at e050 [size=8]
	Region 1: I/O ports at e040 [size=8]
	Region 2: I/O ports at e030 [size=8]
	Region 3: I/O ports at e020 [size=8]
	Region 4: I/O ports at e010 [size=8]
	Region 5: I/O ports at e000 [size=16]

Signed-off-by: Wang YanQing &lt;udknight@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler</title>
<updated>2013-01-21T19:45:26+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2013-01-14T19:09:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f6ffcce2ef152bebaeeed0cd9fd117e23a3c46ff'/>
<id>urn:sha1:f6ffcce2ef152bebaeeed0cd9fd117e23a3c46ff</id>
<content type='text'>
commit 68e56cb3a068f9c30971c6117fbbd1e32918e49e upstream.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial:ifx6x60:Delete SPI timer when shut down port</title>
<updated>2013-01-21T19:45:26+00:00</updated>
<author>
<name>chao bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2012-12-12T03:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=51478116612441b178bc747b445e592586e1f817'/>
<id>urn:sha1:51478116612441b178bc747b445e592586e1f817</id>
<content type='text'>
commit 014b9b4ce84281ccb3d723c792bed19815f3571a upstream.

When shut down SPI port, it's possible that MRDY has been asserted and a SPI
timer was activated waiting for SRDY assert, in the case, it needs to delete
this timer.

Signed-off-by: Chen Jun &lt;jun.d.chen@intel.com&gt;
Signed-off-by: channing &lt;chao.bi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "serial: omap: fix software flow control"</title>
<updated>2012-11-26T19:38:44+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2012-10-16T14:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=51b8318a818623899f9eb24ce697d43301bbe349'/>
<id>urn:sha1:51b8318a818623899f9eb24ce697d43301bbe349</id>
<content type='text'>
commit a4f743851f74fc3e0cc40c13082e65c24139f481 upstream.

This reverts commit 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6
(serial: omap: fix software flow control).

As Russell has pointed out, that commit isn't fixing
Software Flow Control at all, and it actually makes
it even more broken.

It was agreed to revert this commit and use Russell's
latest UART patches instead.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Andreas Bießmann &lt;andreas.devel@googlemail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: set correct baud_base for EXSYS EX-41092 Dual 16950</title>
<updated>2012-10-07T15:32:25+00:00</updated>
<author>
<name>Flavio Leitner</name>
<email>fbl@redhat.com</email>
</author>
<published>2012-09-22T00:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=268b7d491c88845b410b2dfc84af54075db35c4d'/>
<id>urn:sha1:268b7d491c88845b410b2dfc84af54075db35c4d</id>
<content type='text'>
commit 26e8220adb0aec43b7acafa0f1431760eee28522 upstream.

Apparently the same card model has two IDs, so this patch
complements the commit 39aced68d664291db3324d0fcf0985ab5626aac2
adding the missing one.

Signed-off-by: Flavio Leitner &lt;fbl@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: pl011: handle corruption at high clock speeds</title>
<updated>2012-10-07T15:32:25+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2012-09-26T15:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c5500c74ff1414578161b796557b382d5cbaf024'/>
<id>urn:sha1:c5500c74ff1414578161b796557b382d5cbaf024</id>
<content type='text'>
commit c5dd553b9fd069892c9e2de734f4f604e280fa7a upstream.

This works around a few glitches in the ST version of the PL011
serial driver when using very high baud rates, as we do in the
Ux500: 3, 3.25, 4 and 4.05 Mbps.

Problem Observed/rootcause:

When using high baud-rates, and the baudrate*8 is getting close to
the provided clock frequency (so a division factor close to 1), when
using bursts of characters (so they are abutted), then it seems as if
there is not enough time to detect the beginning of the start-bit which
is a timing reference for the entire character, and thus the sampling
moment of character bits is moving towards the end of each bit, instead
of the middle.

Fix:
Increase slightly the RX baud rate of the UART above the theoretical
baudrate by 5%. This will definitely give more margin time to the
UART_RX to correctly sample the data at the middle of the bit period.

Also fix the ages old copy-paste error in the very stressed comment,
it's referencing the registers used in the PL010 driver rather than
the PL011 ones.

Signed-off-by: Guillaume Jaunet &lt;guillaume.jaunet@stericsson.com&gt;
Signed-off-by: Christophe Arnal &lt;christophe.arnal@stericsson.com&gt;
Signed-off-by: Matthias Locher &lt;matthias.locher@stericsson.com&gt;
Signed-off-by: Rajanikanth HV &lt;rajanikanth.hv@stericsson.com&gt;
Cc: Bibek Basu &lt;bibek.basu@stericsson.com&gt;
Cc: Par-Gunnar Hjalmdahl &lt;par-gunnar.hjalmdahl@stericsson.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: omap: fix software flow control</title>
<updated>2012-10-07T15:32:25+00:00</updated>
<author>
<name>Vikram Pandita</name>
<email>vikram.pandita@ti.com</email>
</author>
<published>2012-09-06T12:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bba5a67bba4c56ab0ce632d7a3e1a651d9162b9e'/>
<id>urn:sha1:bba5a67bba4c56ab0ce632d7a3e1a651d9162b9e</id>
<content type='text'>
commit 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6 upstream.

Software flow control register bits were not defined correctly.

Also clarify the IXON and IXOFF logic to reflect what userspace wants.

Tested-by: Shubhrajyoti D &lt;shubhrajyoti@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com&gt;
Signed-off-by: Shubhrajyoti D &lt;shubhrajyoti@ti.com&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pch_uart: Add eg20t_port lock field, avoid recursive spinlocks</title>
<updated>2012-10-02T17:30:37+00:00</updated>
<author>
<name>Darren Hart</name>
<email>dvhart@linux.intel.com</email>
</author>
<published>2012-06-19T21:00:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=61df44523230af4f6aaeb4b0aa8131c74cc47ec3'/>
<id>urn:sha1:61df44523230af4f6aaeb4b0aa8131c74cc47ec3</id>
<content type='text'>
commit 2588aba002d14e938c2f56d299ecf3e7ce1302a5 upstream.

pch_uart_interrupt() takes priv-&gt;port.lock which leads to two recursive
spinlock calls if low_latency==1 or CONFIG_PREEMPT_RT_FULL=y (one
otherwise):

pch_uart_interrupt
  spin_lock_irqsave(priv-&gt;port.lock, flags)
  case PCH_UART_IID_RDR_TO (data ready)
  handle_rx_to
    push_rx
      tty_port_tty_get
        spin_lock_irqsave(&amp;port-&gt;lock, flags) &lt;--- already hold this lock
        ...
      tty_flip_buffer_push
        ...
        flush_to_ldisc
          spin_lock_irqsave(&amp;tty-&gt;buf.lock)
            spin_lock_irqsave(&amp;tty-&gt;buf.lock)
            disc-&gt;ops-&gt;receive_buf(tty, char_buf)
              n_tty_receive_buf
                tty-&gt;ops-&gt;flush_chars()
                uart_flush_chars
                  uart_start
                    spin_lock_irqsave(&amp;port-&gt;lock) &lt;--- already hold this lock

Avoid this by using a dedicated lock to protect the eg20t_port structure
and IO access to its membase. This is more consistent with the 8250
driver.  Ensure priv-&gt;lock is always take prior to priv-&gt;port.lock when
taken at the same time.

V2: Remove inadvertent whitespace change.
V3: Account for oops_in_progress for the private lock in
    pch_console_write().

Note: Like the 8250 driver, if a printk is introduced anywhere inside
      the pch_console_write() critical section, the kernel will hang
      on a recursive spinlock on the private lock. The oops case is
      handled by using a trylock in the oops_in_progress case.

Signed-off-by: Darren Hart &lt;dvhart@linux.intel.com&gt;
CC: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
CC: Feng Tang &lt;feng.tang@intel.com&gt;
CC: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Acked-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pch_uart: Fix parity setting issue</title>
<updated>2012-10-02T17:30:36+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2012-07-06T08:19:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3dcb53637949c288a1ff2a06ee3c0a212ace6ef1'/>
<id>urn:sha1:3dcb53637949c288a1ff2a06ee3c0a212ace6ef1</id>
<content type='text'>
commit 38bd2a1ac736901d1cf4971c78ef952ba92ef78b upstream.

Parity Setting value is reverse.
E.G. In case of setting ODD parity, EVEN value is set.
This patch inverts "if" condition.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Acked-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
