<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/serial/atmel_serial.c, branch v2.6.27.25</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>atmel_serial: update the powersave handler to match serial core</title>
<updated>2008-09-23T15:09:14+00:00</updated>
<author>
<name>Anti Sullin</name>
<email>anti.sullin@artecdesign.ee</email>
</author>
<published>2008-09-22T20:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f05596dbc922276ed675c713519220bae8042e32'/>
<id>f05596dbc922276ed675c713519220bae8042e32</id>
<content type='text'>
This problem seems to be unnoticed so far:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3b708fa2780cd2b5d8266a8f0c3a1cab364d4d2

has changed the serial core behavior to not to suspend the port if the
device is enabled as a wakeup source.  If the AT91 system goes to slow
clock mode, the port should be suspended always and the clocks should be
switched off.  The patch attached updates the atmel_serial driver to match
the changes in serial core.

Also, the interrupts are disabled when the clock is disabled.  If we
disable the clock with interrupts enabled, an interrupt may get stuck.  If
this is the DBGU interrupt, this blocks the OR logic at system controller
and thus all other sysc interrupts.

Signed-off-by: Anti Sullin &lt;anti.sullin@artecdesign.ee&gt;
Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Cc: Michael Trimarchi &lt;trimarchimichael@yahoo.it&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This problem seems to be unnoticed so far:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3b708fa2780cd2b5d8266a8f0c3a1cab364d4d2

has changed the serial core behavior to not to suspend the port if the
device is enabled as a wakeup source.  If the AT91 system goes to slow
clock mode, the port should be suspended always and the clocks should be
switched off.  The patch attached updates the atmel_serial driver to match
the changes in serial core.

Also, the interrupts are disabled when the clock is disabled.  If we
disable the clock with interrupts enabled, an interrupt may get stuck.  If
this is the DBGU interrupt, this blocks the OR logic at system controller
and thus all other sysc interrupts.

Signed-off-by: Anti Sullin &lt;anti.sullin@artecdesign.ee&gt;
Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Cc: Michael Trimarchi &lt;trimarchimichael@yahoo.it&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach</title>
<updated>2008-08-07T08:55:48+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2008-08-05T15:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a09e64fbc0094e3073dbb09c3b4bfe4ab669244b'/>
<id>a09e64fbc0094e3073dbb09c3b4bfe4ab669244b</id>
<content type='text'>
This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: Fix tty_port breakage</title>
<updated>2008-07-21T00:12:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>haavard.skinnemoen@atmel.com</email>
</author>
<published>2008-07-16T20:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b1d1619b4a53072f19e41b1def71fd223fc5d780'/>
<id>b1d1619b4a53072f19e41b1def71fd223fc5d780</id>
<content type='text'>
The tty pointer has been moved into a tty_port field, so we need to use
-&gt;info-&gt;port.tty instead of just -&gt;info-&gt;tty. Fixes these build errors:

David Brownell &lt;david-b@pacbell.net&gt; wrote:
&gt; drivers/serial/atmel_serial.c: In function 'atmel_rx_from_ring':
&gt; drivers/serial/atmel_serial.c:665: error: 'struct uart_info' has no member named 'tty'
&gt; drivers/serial/atmel_serial.c: In function 'atmel_rx_from_dma':
&gt; drivers/serial/atmel_serial.c:672: error: 'struct uart_info' has no member named 'tty'
&gt; drivers/serial/atmel_serial.c: In function 'atmel_startup':
&gt; drivers/serial/atmel_serial.c:797: error: 'struct uart_info' has no member named 'tty'
&gt; make[2]: *** [drivers/serial/atmel_serial.o] Error 1

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The tty pointer has been moved into a tty_port field, so we need to use
-&gt;info-&gt;port.tty instead of just -&gt;info-&gt;tty. Fixes these build errors:

David Brownell &lt;david-b@pacbell.net&gt; wrote:
&gt; drivers/serial/atmel_serial.c: In function 'atmel_rx_from_ring':
&gt; drivers/serial/atmel_serial.c:665: error: 'struct uart_info' has no member named 'tty'
&gt; drivers/serial/atmel_serial.c: In function 'atmel_rx_from_dma':
&gt; drivers/serial/atmel_serial.c:672: error: 'struct uart_info' has no member named 'tty'
&gt; drivers/serial/atmel_serial.c: In function 'atmel_startup':
&gt; drivers/serial/atmel_serial.c:797: error: 'struct uart_info' has no member named 'tty'
&gt; make[2]: *** [drivers/serial/atmel_serial.o] Error 1

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Subject: [PATCH 2/2] atmel_serial: Implement flush_buffer() hook</title>
<updated>2008-07-21T00:12:34+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>haavard.skinnemoen@atmel.com</email>
</author>
<published>2008-07-16T20:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9afd561acabe5059ff16d163a176e2350269aba5'/>
<id>9afd561acabe5059ff16d163a176e2350269aba5</id>
<content type='text'>
Avoid dumping garbage to the serial port when the tty is flushed. This
tends to happen when rebooting from a serial console.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Acked-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid dumping garbage to the serial port when the tty is flushed. This
tends to happen when rebooting from a serial console.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Acked-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: Drain console TX shifter before suspending</title>
<updated>2008-07-02T09:05:00+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>haavard.skinnemoen@atmel.com</email>
</author>
<published>2008-03-14T13:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1c609efbc0333840f2af2d875ca52ed8ee18587'/>
<id>e1c609efbc0333840f2af2d875ca52ed8ee18587</id>
<content type='text'>
Funny things may happen if we stop the USART clock before the shifter is
empty. Prevent this from happening by waiting until the shifter is
completely drained before allowing suspend to continue.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Funny things may happen if we stop the USART clock before the shifter is
empty. Prevent this from happening by waiting until the shifter is
completely drained before allowing suspend to continue.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: Fix build on avr32 with CONFIG_PM enabled</title>
<updated>2008-07-02T09:05:00+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-24T13:34:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f826caa44902ddbe93174f0b642d8abf9698c08e'/>
<id>f826caa44902ddbe93174f0b642d8abf9698c08e</id>
<content type='text'>
AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the
clock will keep running for now.

David has a better solution for this, but this works for now. Leaving
the USART clock running won't prevent the PM code from entering deep
power-down modes anyway.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the
clock will keep running for now.

David has a better solution for this, but this works for now. Leaving
the USART clock running won't prevent the PM code from entering deep
power-down modes anyway.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: filter out FP during baud rate detection</title>
<updated>2008-06-06T18:29:12+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>haavard.skinnemoen@atmel.com</email>
</author>
<published>2008-06-06T05:46:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9c81c5c95c00c35a328e1757ca45a66647105f6c'/>
<id>9c81c5c95c00c35a328e1757ca45a66647105f6c</id>
<content type='text'>
I made a change to u-boot that used the FP (Fractional Part) field of BRGR
to achieve more accurate baud rate generation.  Unfortunately, the
atmel_serial driver looks at the whole BRGR register when trying to detect
the baud rate that the port is currently running at, so setting FP to a
nonzero value breaks the baud rate detection.

I'll sit on the u-boot patch for a while longer, but this is clearly a
bug in the atmel_serial driver which should be fixed.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Acked-by: Andrew Victor &lt;linux@maxim.org.za&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I made a change to u-boot that used the FP (Fractional Part) field of BRGR
to achieve more accurate baud rate generation.  Unfortunately, the
atmel_serial driver looks at the whole BRGR register when trying to detect
the baud rate that the port is currently running at, so setting FP to a
nonzero value breaks the baud rate detection.

I'll sit on the u-boot patch for a while longer, but this is clearly a
bug in the atmel_serial driver which should be fixed.

Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Acked-by: Andrew Victor &lt;linux@maxim.org.za&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: remove duplicated macro definition</title>
<updated>2008-04-28T15:58:30+00:00</updated>
<author>
<name>Michael Trimarchi</name>
<email>trimarchimichael@yahoo.it</email>
</author>
<published>2008-04-28T09:14:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6e10efefaae45989f2f143bacfef75af55068378'/>
<id>6e10efefaae45989f2f143bacfef75af55068378</id>
<content type='text'>
After commit 39d4c922b596633da86878b1a5cc881785b8e5fa (atmel_serial: fix
uart/console concurrent access) the UART_GET_TCR macro got redefined. This
patch removes the duplicated definition.

Signed-off-by: michael trimarchi &lt;trimarchimichael@evidence.eu.com&gt;
Acked-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After commit 39d4c922b596633da86878b1a5cc881785b8e5fa (atmel_serial: fix
uart/console concurrent access) the UART_GET_TCR macro got redefined. This
patch removes the duplicated definition.

Signed-off-by: michael trimarchi &lt;trimarchimichael@evidence.eu.com&gt;
Acked-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: fix platform driver hotplug/coldplug</title>
<updated>2008-04-16T02:35:40+00:00</updated>
<author>
<name>Kay Sievers</name>
<email>kay.sievers@vrfy.org</email>
</author>
<published>2008-04-15T21:34:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e169c139642fb4c682ec12a409725508dbefa520'/>
<id>e169c139642fb4c682ec12a409725508dbefa520</id>
<content type='text'>
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable serial
platform drivers, to re-enable auto loading.

NOTE that Kconfig for some of these drivers doesn't allow modular builds, and
thus doesn't match the driver source's unload support.  Presumably their
unload code is buggy and/or weakly tested...

[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable serial
platform drivers, to re-enable auto loading.

NOTE that Kconfig for some of these drivers doesn't allow modular builds, and
thus doesn't match the driver source's unload support.  Presumably their
unload code is buggy and/or weakly tested...

[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atmel_serial: fix uart/console concurrent access</title>
<updated>2008-04-02T22:28:19+00:00</updated>
<author>
<name>Marc Pignat</name>
<email>marc.pignat@hevs.ch</email>
</author>
<published>2008-04-02T20:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=39d4c922b596633da86878b1a5cc881785b8e5fa'/>
<id>39d4c922b596633da86878b1a5cc881785b8e5fa</id>
<content type='text'>
Strange chars appear on the serial port when a printk and a printf
happens at the same time.  This is caused by the pdc sending chars while
atmel_console_write (called from printk) is executing

Concurent access of uart and console to the same port leads to corrupted
data to be transmitted, so disable tx dma (PDC) while writing to the
console.

Signed-off-by: Marc Pignat &lt;marc.pignat@hevs.ch&gt;
Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Strange chars appear on the serial port when a printk and a printf
happens at the same time.  This is caused by the pdc sending chars while
atmel_console_write (called from printk) is executing

Concurent access of uart and console to the same port leads to corrupted
data to be transmitted, so disable tx dma (PDC) while writing to the
console.

Signed-off-by: Marc Pignat &lt;marc.pignat@hevs.ch&gt;
Signed-off-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
