summaryrefslogtreecommitdiffstats
path: root/drivers/serial/bfin_5xx.c
Commit message (Collapse)AuthorAgeFilesLines
* tty: Blackin CTS/RTSSonic Zhang2009-04-071-52/+117
| | | | | | | | | | | | | | | Both software emulated and hardware based CTS and RTS are enabled in serial driver. The CTS RTS PIN connection on BF548 UART port is defined as a modem device not as a host device. In order to test it under Linux, please nake a cross UART cable to exchange CTS and RTS signal. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Change hardware flow control from poll to interrupt drivenSonic Zhang2009-04-071-49/+82
| | | | | | | | | | Only the CTS bit is affected. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* blackfin: Subtract ANOMALY_05000230 on quotGraf Yang2009-04-061-1/+1
| | | | | | | | | Fix bug - up arrow key works abnormal for bf561 ezkit board Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Fix DMA rx ring buffer handlingSonic Zhang2009-04-061-1/+3
| | | | | | | | Reported-by: Qian Zhang <zhangq@sansitech.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* blackfin: Fix tty compile error in PIO modeSonic Zhang2009-04-061-2/+2
| | | | | | | | | | | | Fixes this compile issue: drivers/serial/bfin_5xx.c: In function bfin_serial_rx_chars: drivers/serial/bfin_5xx.c:178: error: struct uart_info has no member named tty Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* blackfin: Use unsigned long for flags with irq functionsMike Frysinger2009-04-061-2/+3
| | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Remove BI status for known_good_charSonic Zhang2009-01-021-0/+1
| | | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files ↵Sonic Zhang2009-01-021-3/+8
| | | | | | | | | | | over UART in DMA mode Add spin_lock_irqsave() when receive and transfer data. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Clean serial console and early prink code.Sonic Zhang2009-01-021-12/+4
| | | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: fix bug - SIR driver stop receiving randomlyGraf Yang2009-01-021-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | Bug description: The IRDA receiver may can't receiving any more after processed some signals. To duplicate this issue is put three IRDA devices together, one blackfin, two none blackfin, they will detect each other. Let one none blackfin devices irdaping the blackfin devices, when it stopped print out ping information, it is the time that blackfin stoped receiving, the time is random. The related register bit is OK, the other devices is sending data continuously. But no interrupt come. Fixing: I tried Michael's suggestion that request the UARTx error interrupt, and reset the IRDA when found FE error. This method helps much, but it can't completely avoid stop. Reset the IRDA before every time sending the data is more safe. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb ↵Sonic Zhang2009-01-021-98/+89
| | | | | | | | | framework Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped ↵Sonic Zhang2008-10-131-0/+50
| | | | | | | | | interrupts in PIO mode Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - ircp fails on sir over Blackfin UARTGraf Yang2008-10-131-0/+4
| | | | | | | | | | We now use the sir_dev/irtty_sir/uart/bfin_serial drivers framework to monitor the TX status. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer.Sonic Zhang2008-10-131-1/+5
| | | | | | | | | Disable irq and return immediately. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Remove useless stopSonic Zhang2008-10-131-3/+0
| | | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: move common variables out of serial headers and into ↵Mike Frysinger2008-10-131-7/+10
| | | | | | | | | | | | | the serial driver move common variables out of serial headers and into the serial driver and rename "nr_ports" to "nr_active_ports" so as to easily differentiate between BFIN_UART_NR_PORTS (the # of available) and nr_ports (the # of enabled) Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: trim trailing whitespace -- no functional changesMike Frysinger2008-10-131-4/+4
| | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - should suspend/resume/remove all uart ports.Sonic Zhang2008-10-131-17/+22
| | | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: use __initdata for data, not __initMike Frysinger2008-10-131-1/+1
| | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin arch: move include/asm-blackfin header files to arch/blackfinBryan Wu2008-08-271-1/+1
| | | | | Signed-off-by: Bryan Wu <cooloney@kernel.org>
* blackfin: Fix compile failure in tty codeAlan Cox2008-08-041-1/+1
| | | | | | | | | Blackfin peers into the ldisc in an odd way for IRDA snooping which therefore got missed. Simple enough fix. Closes bug #11233 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Fix compile errors in SGI console drivers (linux-next tree)Takashi Iwai2008-07-201-5/+5
| | | | | | | | | | The below is the patch to replace blindly all possible places, including Jack's fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de> (Reviewed and checked rather than blindly added) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue.Sonic Zhang2008-06-191-22/+18
| | | | | | | | | This allows other threads to run when the serial driver polls the CTS PIN in a loop. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin serial driver: fix up tty core set_ldisc API change breakage bugGraf Yang2008-06-071-5/+5
| | | | | | | | | This is the patch that follows Linus's modification about set_ldisc. Graf has built and tested it on BF537 using Linus's git Tree. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: Clean up BF54x macro in blackfin UART driver.Sonic Zhang2008-06-031-25/+5
| | | | | | | | Hide difference in head file. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: abstract away DLAB differences into headerMike Frysinger2008-05-071-33/+7
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: macro away the IER differences between processorsMike Frysinger2008-05-071-54/+4
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* serial: replace remaining __FUNCTION__ occurrencesHarvey Harrison2008-04-301-2/+2
| | | | | | | | __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer.Sonic Zhang2008-04-251-5/+2
| | | | | | | | | | http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4045 If adding timer in both timer handler and rx interrupt, a timer may be added when it is till in the pending list. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: the uart break anomaly has been given its own ↵Mike Frysinger2008-04-251-6/+3
| | | | | | | | number, so switch to it Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port.Graf Yang2008-04-251-3/+5
| | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on ↵Sonic Zhang2008-04-231-4/+0
| | | | | | | | | | | bf537 when booting u-boot and linux on uart 1 Wait only when this UART is enabled. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3995 Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: punt unused lsr variableMike Frysinger2008-04-241-1/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: Enable IR function when user application (irattach ↵Graf Yang2008-02-291-0/+26
| | | | | | | | /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* serial: fix platform driver hotplug/coldplugKay Sievers2008-04-151-0/+2
| | | | | | | | | | | | | | | | | 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 <kay.sievers@vrfy.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin Serial Driver: Fix bug - Only insert UART rx char in timer task.Sonic Zhang2008-02-291-16/+7
| | | | | | | | http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3910 Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin Serial Driver: Fix bug - update tx dma buffer tail before wake up ↵Sonic Zhang2008-02-251-22/+29
| | | | | | | | | | processes. 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>
* Blackfin Serial Driver: Fix bug - Increase buffer tail immediately before ↵Sonic Zhang2008-02-251-14/+18
| | | | | | | | | | starting tx dma. 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>
* [Blackfin] serial driver: Add flow control support to bf54xSonic Zhang2008-02-021-0/+12
| | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* [Blackfin] serial driver: Fix bug Poll RTS/CTS status in DMA mode as wellSonic Zhang2008-02-021-11/+5
| | | | | | | | 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>
* [Blackfin] serial driver: use simpler comment headers and strip out ↵Mike Frysinger2008-01-111-23/+4
| | | | | | | | 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>
* [Blackfin] serial driver: rework break flood anomaly handling to be more ↵Mike Frysinger2007-12-241-14/+52
| | | | | | | | 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>
* [Blackfin] serial driver: fix bug - cache the bits of the LSR on systems ↵Mike Frysinger2007-12-241-3/+7
| | | | | | | | | | | | | | | 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>
* [Blackfin] serial driver: fix bug - should not wait for the TFI bit, just ↵Sonic Zhang2007-12-231-3/+0
| | | | | | | | clear it when tx stop. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* [Blackfin] serial driver: Fix bug serial driver in DMA mode spams history to ↵Sonic Zhang2007-12-211-3/+4
| | | | | | | | | | | 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>
* [Blackfin] serial driver: Fix bug Free rx dma buffer in shutdown.Sonic Zhang2007-12-211-0/+1
| | | | | | | | | 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>
* [Blackfin] serial driver: Clean up UART DMA code.Sonic Zhang2007-12-211-15/+10
| | | | | | | | 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>
* Blackfin Serial driver: Fix bug - serial driver in PIO mode cant handle ↵Sonic Zhang2007-11-211-48/+14
| | | | | | | | | | | | input very quickly 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>
* [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default ↵Michael Hennerich2008-01-221-2/+4
| | | | | | | | - add argument or option Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin serial driver: pending a unique anomaly id, tie the break flood ↵Mike Frysinger2007-08-051-22/+21
| | | | | | | | | | | issue to ANOMALY_05000230 pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 as when that was fixed, the fallout also fixed the break flood Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
OpenPOWER on IntegriCloud