<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/tty/serial, branch v3.14.9</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>8250_core: Fix unwanted TX chars write</title>
<updated>2014-06-07T17:28:08+00:00</updated>
<author>
<name>Loic Poulain</name>
<email>loic.poulain@intel.com</email>
</author>
<published>2014-04-24T09:38:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6b8279034082d4b6a066041ab5889ff711227160'/>
<id>6b8279034082d4b6a066041ab5889ff711227160</id>
<content type='text'>
commit b08c9c317e3f7764a91d522cd031639ba42b98cc upstream.

On transmit-hold-register empty, serial8250_tx_chars
should be called only if we don't use DMA.
DMA has its own tx cycle.

Signed-off-by: Loic Poulain &lt;loic.poulain@intel.com&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.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>
commit b08c9c317e3f7764a91d522cd031639ba42b98cc upstream.

On transmit-hold-register empty, serial8250_tx_chars
should be called only if we don't use DMA.
DMA has its own tx cycle.

Signed-off-by: Loic Poulain &lt;loic.poulain@intel.com&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>serial: 8250: Fix thread unsafe __dma_tx_complete function</title>
<updated>2014-06-07T17:28:08+00:00</updated>
<author>
<name>Loic Poulain</name>
<email>loic.poulain@intel.com</email>
</author>
<published>2014-04-24T09:34:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7d056f1066bd1d677273e3db285e00f0fd80674d'/>
<id>7d056f1066bd1d677273e3db285e00f0fd80674d</id>
<content type='text'>
commit f8fd1b0350d3a4581125f5eda6528f5a2c5f9183 upstream.

__dma_tx_complete is not protected against concurrent
call of serial8250_tx_dma. it can lead to circular tail
index corruption or parallel call of serial_tx_dma on the
same data portion.

This patch fixes this issue by holding the port lock.

Signed-off-by: Loic Poulain &lt;loic.poulain@intel.com&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.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>
commit f8fd1b0350d3a4581125f5eda6528f5a2c5f9183 upstream.

__dma_tx_complete is not protected against concurrent
call of serial8250_tx_dma. it can lead to circular tail
index corruption or parallel call of serial_tx_dma on the
same data portion.

This patch fixes this issue by holding the port lock.

Signed-off-by: Loic Poulain &lt;loic.poulain@intel.com&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>serial: omap: Fix missing pm_runtime_resume handling by simplifying code</title>
<updated>2014-05-31T20:20:31+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2014-03-25T18:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bee874114a1b87b0860b9cea170536df9d8b2042'/>
<id>bee874114a1b87b0860b9cea170536df9d8b2042</id>
<content type='text'>
commit d758c9c1b36b4d9a141c2146c70398d756167ed1 upstream.

The lack of pm_runtime_resume handling for the device state leads into
device wake-up interrupts not working after a while for runtime PM.

Also, serial-omap is confused about the use of device_may_wakeup.
The checks for device_may_wakeup should only be done for suspend and
resume, not for pm_runtime_suspend and pm_runtime_resume. The wake-up
events for PM runtime should always be enabled.

The lack of pm_runtime_resume handling leads into device wake-up
interrupts not working after a while for runtime PM.

Rather than try to patch over the issue of adding complex tests to
the pm_runtime_resume, let's fix the issues properly:

1. Make serial_omap_enable_wakeup deal with all internal PM state
   handling so we don't need to test for up-&gt;wakeups_enabled elsewhere.

   Later on once omap3 boots in device tree only mode we can also
   remove the up-&gt;wakeups_enabled flag and rely on the wake-up
   interrupt enable/disable state alone.

2. Do the device_may_wakeup checks in suspend and resume only,
   for runtime PM the wake-up events need to be always enabled.

3. Finally just call serial_omap_enable_wakeup and make sure we
   call it also in pm_runtime_resume.

4. Note that we also have to use disable_irq_nosync as serial_omap_irq
   calls pm_runtime_get_sync.

Fixes: 2a0b965cfb6e (serial: omap: Add support for optional wake-up)
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.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>
commit d758c9c1b36b4d9a141c2146c70398d756167ed1 upstream.

The lack of pm_runtime_resume handling for the device state leads into
device wake-up interrupts not working after a while for runtime PM.

Also, serial-omap is confused about the use of device_may_wakeup.
The checks for device_may_wakeup should only be done for suspend and
resume, not for pm_runtime_suspend and pm_runtime_resume. The wake-up
events for PM runtime should always be enabled.

The lack of pm_runtime_resume handling leads into device wake-up
interrupts not working after a while for runtime PM.

Rather than try to patch over the issue of adding complex tests to
the pm_runtime_resume, let's fix the issues properly:

1. Make serial_omap_enable_wakeup deal with all internal PM state
   handling so we don't need to test for up-&gt;wakeups_enabled elsewhere.

   Later on once omap3 boots in device tree only mode we can also
   remove the up-&gt;wakeups_enabled flag and rely on the wake-up
   interrupt enable/disable state alone.

2. Do the device_may_wakeup checks in suspend and resume only,
   for runtime PM the wake-up events need to be always enabled.

3. Finally just call serial_omap_enable_wakeup and make sure we
   call it also in pm_runtime_resume.

4. Note that we also have to use disable_irq_nosync as serial_omap_irq
   calls pm_runtime_get_sync.

Fixes: 2a0b965cfb6e (serial: omap: Add support for optional wake-up)
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>tty: serial: 8250_core.c Bug fix for Exar chips.</title>
<updated>2014-05-13T11:32:47+00:00</updated>
<author>
<name>Michael Welling</name>
<email>mwelling@ieee.org</email>
</author>
<published>2014-04-26T00:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1a68d0fc73ae4e8829224c52af31f182ba57657e'/>
<id>1a68d0fc73ae4e8829224c52af31f182ba57657e</id>
<content type='text'>
commit b790f210fe8423eff881b2a8a93ba5dbc45534d0 upstream.

The sleep function was updated to put the serial port to sleep only when necessary.
This appears to resolve the errant behavior of the driver as described in
Kernel Bug 61961 – "My Exar Corp. XR17C/D152 Dual PCI UART modem does not
work with 3.8.0".

Signed-off-by: Michael Welling &lt;mwelling@ieee.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>
commit b790f210fe8423eff881b2a8a93ba5dbc45534d0 upstream.

The sleep function was updated to put the serial port to sleep only when necessary.
This appears to resolve the errant behavior of the driver as described in
Kernel Bug 61961 – "My Exar Corp. XR17C/D152 Dual PCI UART modem does not
work with 3.8.0".

Signed-off-by: Michael Welling &lt;mwelling@ieee.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>sparc: serial: Clean up the locking for -rt</title>
<updated>2014-03-06T21:32:25+00:00</updated>
<author>
<name>David Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2014-03-04T20:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e58e241c1788856f69d58821e91e5c988905252d'/>
<id>e58e241c1788856f69d58821e91e5c988905252d</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Allen Pais &lt;allen.pais@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Allen Pais &lt;allen.pais@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: 8250: Support XR17V35x fraction divisor</title>
<updated>2014-02-13T18:02:19+00:00</updated>
<author>
<name>Joe Schultz</name>
<email>jschultz@xes-inc.com</email>
</author>
<published>2014-02-12T00:30:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=45a7bd635930baa960b6817674c64bdfb8f39570'/>
<id>45a7bd635930baa960b6817674c64bdfb8f39570</id>
<content type='text'>
The Exar XR17V35x family of UARTs have an additional fractional divisor
register (DLD) which was not being used. Calculate and set this
register for these devices to reduce their baud rate error.

Signed-off-by: Joe Schultz &lt;jschultz@xes-inc.com&gt;
Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.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>
The Exar XR17V35x family of UARTs have an additional fractional divisor
register (DLD) which was not being used. Calculate and set this
register for these devices to reduce their baud rate error.

Signed-off-by: Joe Schultz &lt;jschultz@xes-inc.com&gt;
Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: sirf: fix kernel panic caused by unpaired spinlock</title>
<updated>2014-02-13T18:02:19+00:00</updated>
<author>
<name>Qipan Li</name>
<email>Qipan.Li@csr.com</email>
</author>
<published>2014-01-27T06:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb78b811422cd2d8c8605949cc4cc13618347ad5'/>
<id>fb78b811422cd2d8c8605949cc4cc13618347ad5</id>
<content type='text'>
commit 8b9ade9f74f8a279 coming from Viresh Kumar "tty: serial: sirfsoc: drop
uart_port-&gt;lock before calling tty_flip_buffer_push()" broke sirfsoc uart
driver by knic:

	[    5.129122] BUG: spinlock already unlocked on CPU#0, ip6tables/1331
	[    5.132554]  lock: sirfsoc_uart_ports+0x4/0x8a0, .magic: dead4ead,
	.owner: &lt;none&gt;/-1, .owner_cpu: -1
	[    5.141651] CPU: 0 PID: 1331 Comm: ip6tables Tainted: G
	W  O 3.10.16 #3
	[    5.148866] [&lt;c0013528&gt;] (unwind_backtrace+0x0/0xe0) from
	[&lt;c0010e70&gt;] (show_stack+0x10/0x14)
	[    5.157362] [&lt;c0010e70&gt;] (show_stack+0x10/0x14) from
	[&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8)
	[    5.166125] [&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8) from
	[&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40)
	[    5.175322] [&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40) from
	[&lt;c0203fcc&gt;] (sirfsoc_uart_pio_rx_chars+0xa4/0xc0)
	[    5.185120] [&lt;c0203fcc&gt;]
	(sirfsoc_uart_pio_rx_chars+0xa4/0xc0) from [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0)
	[    5.195875] [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0) from [&lt;c0024b50&gt;]
	(tasklet_action+0x8c/0xec)
	[    5.205673] [&lt;c0024b50&gt;] (tasklet_action+0x8c/0xec) from
	[&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4)
	[    5.214347] [&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4) from
	[&lt;c0024428&gt;] (do_softirq+0x48/0x54)
	[    5.222674] [&lt;c0024428&gt;] (do_softirq+0x48/0x54) from
	[&lt;c0024690&gt;] (irq_exit+0x74/0xc0)
	[    5.230573] [&lt;c0024690&gt;] (irq_exit+0x74/0xc0) from
	[&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90)
	[    5.238465] [&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90) from
	[&lt;c000d500&gt;] (__irq_svc+0x40/0x70)
	[    5.246446] [&lt;c000d500&gt;] (__irq_svc+0x40/0x70) from
	[&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68)
	[    5.255034] [&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68) from
	[&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550)
	[    5.264402] [&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550) from
	[&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54)
	[    5.273164] [&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54) from
	[&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0)
	[    5.281233] [&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0) from
	[&lt;c001bb78&gt;] (mmput+0x3c/0xdc)
	[    5.288868] [&lt;c001bb78&gt;] (mmput+0x3c/0xdc) from [&lt;c0021b0c&gt;]
	(do_exit+0x30c/0x828)
	[    5.296413] [&lt;c0021b0c&gt;] (do_exit+0x30c/0x828) from
	[&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0)
	[    5.304653] [&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0) from
	[&lt;c0022e20&gt;] (__wake_up_parent+0x0/0x18)

Root cause:
the commit dropped uart_port-&gt;lock before calling tty_flip_buffer_push(), but in sirfsoc-uart,
sirfsoc_uart_pio_rx_chars() can be called by sirfsoc_rx_tmo_process_tl(). here uart_port-&gt;lock
has not been taken yet. so that caused unpaired lock/unlock.

Solution:
This patch is doing a quick fix for that, it adds spin_lock/unlock(&amp;port-&gt;lock) protect to
sirfsoc_uart_pio_rx_chars() in sirfsoc_rx_tmo_process_tl() to keep spin_lock/unlock in pair.

Signed-off-by: Qipan Li &lt;Qipan.Li@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.12
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8b9ade9f74f8a279 coming from Viresh Kumar "tty: serial: sirfsoc: drop
uart_port-&gt;lock before calling tty_flip_buffer_push()" broke sirfsoc uart
driver by knic:

	[    5.129122] BUG: spinlock already unlocked on CPU#0, ip6tables/1331
	[    5.132554]  lock: sirfsoc_uart_ports+0x4/0x8a0, .magic: dead4ead,
	.owner: &lt;none&gt;/-1, .owner_cpu: -1
	[    5.141651] CPU: 0 PID: 1331 Comm: ip6tables Tainted: G
	W  O 3.10.16 #3
	[    5.148866] [&lt;c0013528&gt;] (unwind_backtrace+0x0/0xe0) from
	[&lt;c0010e70&gt;] (show_stack+0x10/0x14)
	[    5.157362] [&lt;c0010e70&gt;] (show_stack+0x10/0x14) from
	[&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8)
	[    5.166125] [&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8) from
	[&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40)
	[    5.175322] [&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40) from
	[&lt;c0203fcc&gt;] (sirfsoc_uart_pio_rx_chars+0xa4/0xc0)
	[    5.185120] [&lt;c0203fcc&gt;]
	(sirfsoc_uart_pio_rx_chars+0xa4/0xc0) from [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0)
	[    5.195875] [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0) from [&lt;c0024b50&gt;]
	(tasklet_action+0x8c/0xec)
	[    5.205673] [&lt;c0024b50&gt;] (tasklet_action+0x8c/0xec) from
	[&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4)
	[    5.214347] [&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4) from
	[&lt;c0024428&gt;] (do_softirq+0x48/0x54)
	[    5.222674] [&lt;c0024428&gt;] (do_softirq+0x48/0x54) from
	[&lt;c0024690&gt;] (irq_exit+0x74/0xc0)
	[    5.230573] [&lt;c0024690&gt;] (irq_exit+0x74/0xc0) from
	[&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90)
	[    5.238465] [&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90) from
	[&lt;c000d500&gt;] (__irq_svc+0x40/0x70)
	[    5.246446] [&lt;c000d500&gt;] (__irq_svc+0x40/0x70) from
	[&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68)
	[    5.255034] [&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68) from
	[&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550)
	[    5.264402] [&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550) from
	[&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54)
	[    5.273164] [&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54) from
	[&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0)
	[    5.281233] [&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0) from
	[&lt;c001bb78&gt;] (mmput+0x3c/0xdc)
	[    5.288868] [&lt;c001bb78&gt;] (mmput+0x3c/0xdc) from [&lt;c0021b0c&gt;]
	(do_exit+0x30c/0x828)
	[    5.296413] [&lt;c0021b0c&gt;] (do_exit+0x30c/0x828) from
	[&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0)
	[    5.304653] [&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0) from
	[&lt;c0022e20&gt;] (__wake_up_parent+0x0/0x18)

Root cause:
the commit dropped uart_port-&gt;lock before calling tty_flip_buffer_push(), but in sirfsoc-uart,
sirfsoc_uart_pio_rx_chars() can be called by sirfsoc_rx_tmo_process_tl(). here uart_port-&gt;lock
has not been taken yet. so that caused unpaired lock/unlock.

Solution:
This patch is doing a quick fix for that, it adds spin_lock/unlock(&amp;port-&gt;lock) protect to
sirfsoc_uart_pio_rx_chars() in sirfsoc_rx_tmo_process_tl() to keep spin_lock/unlock in pair.

Signed-off-by: Qipan Li &lt;Qipan.Li@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.12
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: 8250_pci: unbreak last serial ports on NetMos 9865 cards</title>
<updated>2014-02-13T17:57:33+00:00</updated>
<author>
<name>Dmitry Eremin-Solenikov</name>
<email>dbaryshkov@gmail.com</email>
</author>
<published>2014-02-11T10:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=333c085e4b0cd9df04b087d29f87969a4e26dfa9'/>
<id>333c085e4b0cd9df04b087d29f87969a4e26dfa9</id>
<content type='text'>
Aparently 9865 uses standard BAR encoding scheme (unlike 99xx cards).
Current pci_netmos_9900_setup() uses wrong BAR indices for the 9865 PCI
device, function 2. Using standard BAR indices makes all 6 ports work
for me. Thus disable the NetMos 9900 quirk for NetMos 9865 pci device.

For the reference, here is the relevant part of lspci for my device:

02:07.0 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 17
	I/O ports at ac00 [size=8]
	Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffe000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.1 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 18
	I/O ports at a800 [size=8]
	Memory at fcffd000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffc000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.2 Communication controller: MosChip Semiconductor Technology Ltd.
PCI 9865 Multi-I/O Controller
	Subsystem: Device a000:3004
	Flags: bus master, medium devsel, latency 32, IRQ 19
	I/O ports at a400 [size=8]
	I/O ports at a000 [size=8]
	I/O ports at 9c00 [size=8]
	I/O ports at 9800 [size=8]
	Memory at fcffb000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.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>
Aparently 9865 uses standard BAR encoding scheme (unlike 99xx cards).
Current pci_netmos_9900_setup() uses wrong BAR indices for the 9865 PCI
device, function 2. Using standard BAR indices makes all 6 ports work
for me. Thus disable the NetMos 9900 quirk for NetMos 9865 pci device.

For the reference, here is the relevant part of lspci for my device:

02:07.0 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 17
	I/O ports at ac00 [size=8]
	Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffe000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.1 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 18
	I/O ports at a800 [size=8]
	Memory at fcffd000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffc000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.2 Communication controller: MosChip Semiconductor Technology Ltd.
PCI 9865 Multi-I/O Controller
	Subsystem: Device a000:3004
	Flags: bus master, medium devsel, latency 32, IRQ 19
	I/O ports at a400 [size=8]
	I/O ports at a000 [size=8]
	I/O ports at 9c00 [size=8]
	I/O ports at 9800 [size=8]
	Memory at fcffb000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: omap: fix rs485 probe on defered pinctrl</title>
<updated>2014-02-13T17:57:33+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2014-02-13T09:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a64c1a1c755674399da3689499b3f64c2a538120'/>
<id>a64c1a1c755674399da3689499b3f64c2a538120</id>
<content type='text'>
If the gpio is not yet available we better also
defer the probing in the rs485 case.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
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>
If the gpio is not yet available we better also
defer the probing in the rs485 case.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
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: 8250_dw: fix compilation warning when !CONFIG_PM_SLEEP</title>
<updated>2014-02-13T17:57:33+00:00</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2014-01-16T12:55:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=13b949f03e642c5df36ebf5b4770d75f8c4a6b09'/>
<id>13b949f03e642c5df36ebf5b4770d75f8c4a6b09</id>
<content type='text'>
CONFIG_PM will be set if either or both CONFIG_PM_SLEEP and
CONFIG_PM_RUNTIME is set. Compiling the driver with !CONFIG_PM_SLEEP causes
following compilation warnings:

drivers/tty/serial/8250/8250_dw.c:404:12: warning: ‘dw8250_suspend’ defined but not used [-Wunused-function]
drivers/tty/serial/8250/8250_dw.c:413:12: warning: ‘dw8250_resume’ defined but not used [-Wunused-function]

Fix this by using CONFIG_PM_SLEEP instead.

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.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>
CONFIG_PM will be set if either or both CONFIG_PM_SLEEP and
CONFIG_PM_RUNTIME is set. Compiling the driver with !CONFIG_PM_SLEEP causes
following compilation warnings:

drivers/tty/serial/8250/8250_dw.c:404:12: warning: ‘dw8250_suspend’ defined but not used [-Wunused-function]
drivers/tty/serial/8250/8250_dw.c:413:12: warning: ‘dw8250_resume’ defined but not used [-Wunused-function]

Fix this by using CONFIG_PM_SLEEP instead.

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
