<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/serial, branch v2.6.25-rc2</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>serial: sh-sci: Fix up SH-5 build.</title>
<updated>2008-02-14T05:22:12+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2008-02-13T11:15:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e8ea024bffcc9e4cb0e72cfdf50a99d05fd95d1c'/>
<id>e8ea024bffcc9e4cb0e72cfdf50a99d05fd95d1c</id>
<content type='text'>
asm/hardware.h doesn't exist any more, and the definitions sh-sci.h
depended on are provided through asm/cpu/addrspace.h these days.
Kill off the bogus include.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
asm/hardware.h doesn't exist any more, and the definitions sh-sci.h
depended on are provided through asm/cpu/addrspace.h these days.
Kill off the bogus include.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: add support for sh7366 processor</title>
<updated>2008-02-14T05:22:10+00:00</updated>
<author>
<name>Magnus Damm</name>
<email>magnus.damm@gmail.com</email>
</author>
<published>2008-02-08T08:31:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9109a30e5a548b39463b5a777943cf103da507af'/>
<id>9109a30e5a548b39463b5a777943cf103da507af</id>
<content type='text'>
This patch adds sh7366 cpu supports. Just the most basic things like interrupt
controller, clocks and serial port are included at this point.

Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds sh7366 cpu supports. Just the most basic things like interrupt
controller, clocks and serial port are included at this point.

Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs/char_dev.c: chrdev_open marked static and removed from fs.h</title>
<updated>2008-02-08T17:22:42+00:00</updated>
<author>
<name>Denis Cheng</name>
<email>crquan@gmail.com</email>
</author>
<published>2008-02-08T12:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=922f9cfa79b52c85b6002d96cb0eefd13437c58c'/>
<id>922f9cfa79b52c85b6002d96cb0eefd13437c58c</id>
<content type='text'>
There is an outdated comment in serial_core.c also fixed.

Signed-off-by: Denis Cheng &lt;crquan@gmail.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>
There is an outdated comment in serial_core.c also fixed.

Signed-off-by: Denis Cheng &lt;crquan@gmail.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>atmel_serial: show tty name in /proc/interrupts</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-08T12:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ae161068756c203ccbeeb9178f4d4f6665d294cf'/>
<id>ae161068756c203ccbeeb9178f4d4f6665d294cf</id>
<content type='text'>
When possible, pass the tty name to request_irq() so that the user can easily
distinguish the different serial ports in /proc/interrupts.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
When possible, pass the tty name to request_irq() so that the user can easily
distinguish the different serial ports in /proc/interrupts.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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: use container_of instead of direct cast</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-08T12:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c811ab8c2daf6bc2b5761937929a62fa84b18b32'/>
<id>c811ab8c2daf6bc2b5761937929a62fa84b18b32</id>
<content type='text'>
As pointed out by David Brownell, we really ought to be using container_of
when converting from "struct uart_port *" to "struct atmel_uart_port *".

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
As pointed out by David Brownell, we really ought to be using container_of
when converting from "struct uart_port *" to "struct atmel_uart_port *".

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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 broken RX buffer allocation</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-08T12:21:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6433471d33c09d69d029b1c4b7bdd1612c492587'/>
<id>6433471d33c09d69d029b1c4b7bdd1612c492587</id>
<content type='text'>
Introduced by atmel_serial-split-the-interrupt-handler.patch.

Thanks to michael &lt;trimarchi@gandalf.sssup.it&gt; for spotting it.

Signed-off-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>
Introduced by atmel_serial-split-the-interrupt-handler.patch.

Thanks to michael &lt;trimarchi@gandalf.sssup.it&gt; for spotting it.

Signed-off-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>atmel_serial: add DMA support</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Chip Coldwell</name>
<email>coldwell@redhat.com</email>
</author>
<published>2008-02-08T12:21:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a66706158d6bc4d9eb29c37852001f78f4c8989c'/>
<id>a66706158d6bc4d9eb29c37852001f78f4c8989c</id>
<content type='text'>
This patch is based on the DMA-patch by Chip Coldwell for the AT91/AT32 serial
USARTS, with some tweaks to make it apply neatly on top of the other patches
in this series.

The RX and TX code has been moved to a tasklet and reworked a bit.  Instead of
depending on the ENDRX and TIMEOUT bits in CSR, we simply grab as much data as
we can from the DMA buffers.  I think this closes a race where the ENDRX bit
is set after we read CSR but before we read RPR, although I haven't confirmed
this.

Similarly, the two TX handlers (ENDTX and TXBUFE) have been combined into one.
 Since the current code only uses a single TX buffer, there's no point in
handling those interrupts separately.

This also fixes a DMA sync bug in the original patch.

[linux@bohmer.net: rebased onto irq-splitup patch]
[hskinnemoen@atmel.com: moved to tasklet, fixed dma bug, misc cleanups]
[hskinnemoen@atmel.com: atmel_serial dma: Misc fixes and cleanups]
Signed-off-by: Remy Bohmer &lt;linux@bohmer.net&gt;
Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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 patch is based on the DMA-patch by Chip Coldwell for the AT91/AT32 serial
USARTS, with some tweaks to make it apply neatly on top of the other patches
in this series.

The RX and TX code has been moved to a tasklet and reworked a bit.  Instead of
depending on the ENDRX and TIMEOUT bits in CSR, we simply grab as much data as
we can from the DMA buffers.  I think this closes a race where the ENDRX bit
is set after we read CSR but before we read RPR, although I haven't confirmed
this.

Similarly, the two TX handlers (ENDTX and TXBUFE) have been combined into one.
 Since the current code only uses a single TX buffer, there's no point in
handling those interrupts separately.

This also fixes a DMA sync bug in the original patch.

[linux@bohmer.net: rebased onto irq-splitup patch]
[hskinnemoen@atmel.com: moved to tasklet, fixed dma bug, misc cleanups]
[hskinnemoen@atmel.com: atmel_serial dma: Misc fixes and cleanups]
Signed-off-by: Remy Bohmer &lt;linux@bohmer.net&gt;
Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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: split the interrupt handler</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Remy Bohmer</name>
<email>linux@bohmer.net</email>
</author>
<published>2008-02-08T12:21:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1ecc26bd2789ddb253f61e182a61c776663fe44c'/>
<id>1ecc26bd2789ddb253f61e182a61c776663fe44c</id>
<content type='text'>
Split up the interrupt handler of the serial port into a interrupt top-half
and a tasklet.

The goal is to get the interrupt top-half as short as possible to minimize
latencies on interrupts.  But the old code also does some calls in the
interrupt handler that are not allowed on preempt-RT in IRQF_NODELAY context.
This handler is executed in this context because of the interrupt sharing with
the timer interrupt.  The timer interrupt on Preempt-RT runs in IRQF_NODELAY
context.

The tasklet takes care of handling control status changes, pushing incoming
characters to the tty layer, handling break and other errors.  It also handles
pushing TX data into the data register.

Reading the complete receive queue is still done in the top-half because we
never want to miss any incoming character.

[hskinnemoen@atmel.com: misc cleanups and simplifications]
Signed-off-by: Remy Bohmer &lt;linux@bohmer.net&gt;
Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
Split up the interrupt handler of the serial port into a interrupt top-half
and a tasklet.

The goal is to get the interrupt top-half as short as possible to minimize
latencies on interrupts.  But the old code also does some calls in the
interrupt handler that are not allowed on preempt-RT in IRQF_NODELAY context.
This handler is executed in this context because of the interrupt sharing with
the timer interrupt.  The timer interrupt on Preempt-RT runs in IRQF_NODELAY
context.

The tasklet takes care of handling control status changes, pushing incoming
characters to the tty layer, handling break and other errors.  It also handles
pushing TX data into the data register.

Reading the complete receive queue is still done in the top-half because we
never want to miss any incoming character.

[hskinnemoen@atmel.com: misc cleanups and simplifications]
Signed-off-by: Remy Bohmer &lt;linux@bohmer.net&gt;
Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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 bugs in probe() error path and remove()</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-08T12:21:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dfa7f343e526f3595d8f1d99807d141ae0c08601'/>
<id>dfa7f343e526f3595d8f1d99807d141ae0c08601</id>
<content type='text'>
When an error happens in probe(), the clocks should be disabled, but
only if the port isn't already used as a console.

In remove(), the port struct shouldn't be freed because it's defined
statically.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
When an error happens in probe(), the clocks should be disabled, but
only if the port isn't already used as a console.

In remove(), the port struct shouldn't be freed because it's defined
statically.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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: use existing console options only if BRG is running</title>
<updated>2008-02-08T17:22:37+00:00</updated>
<author>
<name>Haavard Skinnemoen</name>
<email>hskinnemoen@atmel.com</email>
</author>
<published>2008-02-08T12:21:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1c0fd82f9375b41f880dc9d7fe32920f33dc945b'/>
<id>1c0fd82f9375b41f880dc9d7fe32920f33dc945b</id>
<content type='text'>
If BRGR is zero, the baud rate generator isn't running, so the boot loader
can't have initialized the port.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Acked-by: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
If BRGR is zero, the baud rate generator isn't running, so the boot loader
can't have initialized the port.

Signed-off-by: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Acked-by: Andrew Victor &lt;linux@maxim.org.za&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&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>
