- Feb 25, 2008
-
-
Sonic Zhang authored
Also make rx dma buffer work as a loop. Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <cooloney@kernel.org>
-
Sonic Zhang authored
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2920 Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <cooloney@kernel.org>
-
- Feb 02, 2008
-
-
Sonic Zhang authored
Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
Sonic Zhang authored
https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3858 Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
Michael Hennerich authored
Signed-off-by:
Michael Hennerich <michael.hennerich@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Jan 11, 2008
-
-
Mike Frysinger authored
[Blackfin] serial driver: use simpler comment headers and strip out information that is maintained in the scm's log Signed-off-by:
Mike Frysinger <michael.frysinger@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Dec 24, 2007
-
-
Mike Frysinger authored
[Blackfin] serial driver: rework break flood anomaly handling to be more robust/realistic about what we can actually work around Signed-off-by:
Mike Frysinger <michael.frysinger@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
Mike Frysinger authored
[Blackfin] serial driver: fix bug - cache the bits of the LSR on systems where the LSR is read-to-clear Cache the bits of the LSR on systems where the LSR is read-to-clear so that we can safely read the LSR in random places. this fixes older parts where break/framing/parity/overflow was not being detected at all in PIO mode, and this fixes newer parts where break/framing/parity/overflow was being reported all the time without being cleared. Signed-off-by:
Mike Frysinger <michael.frysinger@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Dec 23, 2007
-
-
Sonic Zhang authored
Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Dec 21, 2007
-
-
Sonic Zhang authored
[Blackfin] serial driver: Fix bug serial driver in DMA mode spams history to console on shell restart http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2920 Fix by increasing buffer tail immediately before starting tx dma. Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
Sonic Zhang authored
Kernel crash for the serial driver in DMA mode: http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3679 Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
Sonic Zhang authored
Start next TX DMA in tx dma handler instead of rx timer handler. Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Nov 21, 2007
-
-
Sonic Zhang authored
Output as many bytes as possible in PIO tx handler. This reduce the number of tx interrupts and shorten the delay to handle rx interrupt. So, rx overrun disappears. Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Bryan Wu <bryan.wu@analog.com>
-
- Feb 24, 2008
-
-
Haavard Skinnemoen authored
We should only return IRQ_HANDLED when we actually found something to handle. This is important since the USART interrupt handler may be shared with the timer interrupt on some chips. Pointed-out-by:
michael <trimarchi@gandalf.sssup.it> Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Feb 14, 2008
-
-
Paul Mundt authored
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 <lethal@linux-sh.org>
-
Magnus Damm authored
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 <damm@igel.co.jp> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- Feb 08, 2008
-
-
Denis Cheng authored
There is an outdated comment in serial_core.c also fixed. Signed-off-by:
Denis Cheng <crquan@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
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 <hskinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
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 <hskinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
Introduced by atmel_serial-split-the-interrupt-handler.patch. Thanks to michael <trimarchi@gandalf.sssup.it> for spotting it. Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Chip Coldwell authored
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 <linux@bohmer.net> Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Remy Bohmer authored
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 <linux@bohmer.net> Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
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 <hskinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
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 <hskinnemoen@atmel.com> Acked-by:
Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Haavard Skinnemoen authored
Replace two instances of barrier() with cpu_relax() since that's the right thing to do when busy-waiting. This does not actually change anything since cpu_relax() is defined as barrier() on both ARM and AVR32. Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Acked-by:
Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Remy Bohmer authored
Clean up the atmel_serial driver to conform the coding rules. It contains no functional change. Signed-off-by:
Remy Bohmer <linux@bohmer.net> Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Acked-by:
Andrew Victor <linux@maxim.org.za> Tested-by:
Marc Pignat <marc.pignat@hevs.ch> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Feb 07, 2008
-
-
Jiri Slaby authored
Signed-off-by:
Jiri Slaby <jirislaby@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Maciej W. Rozycki authored
This is a set of changes to implement proper resource management in the driver, including iomem space reservation and operating on physical addresses ioremap()ped appropriately using accessory functions rather than unportable direct assignments. Some adjustments to code are made to reflect the architecture of the interface, which is a centrally controlled multiport (or, as referred to from DEC documentation, a serial line multiplexer, going up to 8 lines originally) rather than a bundle of separate ports. Types are changed, where applicable, to specify the width of hardware registers explicitly. The interrupt handler is now managed in the ->startup() and ->shutdown() calls for consistency with other drivers and also in preparation to handle the handover from the initial firmware-based console gracefully. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Maciej W. Rozycki authored
Replace all casts from "struct uart_port *" to "struct dz_port *" with a construct based on container_of(). This makes the conversion work irrespective of where the former struct is located within the latter. By popular request I have implemented it as an inline function rather than a macro this time. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Maciej W. Rozycki authored
A set of changes to the way termios settings are propagated to the serial port hardware. The DZ11 only supports a selection of fixed baud settings, so some requests may not be fulfilled. Keep the old setting in such a case and failing that resort to 9600bps. Also add a missing update of the transmit timeout. And remove the explicit encoding of the line selected from writes to the Line Parameters Register as it has been preencoded by the ->set_termios() call already. Finally, remove a duplicate macro for the Receiver Enable bit. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Maciej W. Rozycki authored
Handle the read and ignore status masks correctly. Handle the BREAK condition as expected: a framing error with a null character is a BREAK, any other framing error is a framing error indeed. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Maciej W. Rozycki authored
The ->start_tx(), ->stop_tx() and ->stop_rx() backends are called with the port's lock already taken. Remove locking from within them and wrap around calls as necessary. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-