24 Sep, 2009
1 commit
-
Commit ebd2c8f6d2ec4012c267ecb95e72a57b8355a705 "serial: kill off uart_info"
broke the build of this driver, this fixes it.
Signed-off-by: Benjamin Herrenschmidt
20 Sep, 2009
1 commit
-
We moved this into uart_state, now move the fields out of the separate
structure and kill it off.Signed-off-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
30 Jul, 2009
1 commit
-
This is another alloc_bootmem() -> kzalloc() change, this time to
fix the non-fatal badness caused when booting with a cpm2_uart console.Signed-off-by: Mark Ware
Signed-off-by: Kumar Gala
06 Apr, 2009
2 commits
-
Previously, if udbg was using the CPM uart, and the normal CPM uart driver
was enabled, but the console was directed elsewhere, udbg would not be
stopped prior to initialization. This resulted in udbg hanging forever
waiting for the CPM to process a descriptor.Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala -
Previously, this caused NULL to sometimes be passed as a device
to the DMA code. With recent DMA changes, that now causes a BUG().Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala
10 Mar, 2009
1 commit
-
After UART interrupt handler is installed and rx is enabled, if an rx
interrupt comes before hardware init, rx->cur will be updated. Then the
hardware init will reset BD and make rx->cur out of sync, move the hardware
init code before request_irq.Signed-off-by: Xiaotian Feng
Signed-off-by: Kumar Gala
21 Oct, 2008
1 commit
-
…/git/tip/linux-2.6-tip
This merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu
and x86/uv.The sparseirq branch is just preliminary groundwork: no sparse IRQs are
actually implemented by this tree anymore - just the new APIs are added
while keeping the old way intact as well (the new APIs map 1:1 to
irq_desc[]). The 'real' sparse IRQ support will then be a relatively
small patch ontop of this - with a v2.6.29 merge target.* 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)
genirq: improve include files
intr_remapping: fix typo
io_apic: make irq_mis_count available on 64-bit too
genirq: fix name space collisions of nr_irqs in arch/*
genirq: fix name space collision of nr_irqs in autoprobe.c
genirq: use iterators for irq_desc loops
proc: fixup irq iterator
genirq: add reverse iterator for irq_desc
x86: move ack_bad_irq() to irq.c
x86: unify show_interrupts() and proc helpers
x86: cleanup show_interrupts
genirq: cleanup the sparseirq modifications
genirq: remove artifacts from sparseirq removal
genirq: revert dynarray
genirq: remove irq_to_desc_alloc
genirq: remove sparse irq code
genirq: use inline function for irq_to_desc
genirq: consolidate nr_irqs and for_each_irq_desc()
x86: remove sparse irq from Kconfig
genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n
...
16 Oct, 2008
1 commit
-
Signed-off-by: Yinghai Lu
Signed-off-by: Ingo Molnar
20 Sep, 2008
1 commit
-
We're currently passing NULL, and really shouldn't be.
Signed-off-by: Becky Bruce
Acked-By: Timur Tabi
Signed-off-by: Kumar Gala
28 Jul, 2008
2 commits
-
This patch introduces baudrate setting support via the generic clock API.
When present the optional device tree clock property is used instead of
fsl-cpm-brg. Platforms can then define complex clock schemes, to output
the serial clock on an external pin for instance.Signed-off-by: Laurent Pinchart
Signed-off-by: Kumar Gala -
This patch replaces the get_mctrl/set_mctrl stubs with modem control line
read/write access through the GPIO lib.Available modem control lines are described in the device tree using GPIO
bindings. The driver expect a GPIO pin for each of the CTS, RTS, DCD, DSR,
DTR and RI signals. Unused control lines can be left out.Signed-off-by: Laurent Pinchart
Signed-off-by: Kumar Gala
25 Jul, 2008
1 commit
-
Before setting STOP_TX, set _brkcr to 0 so the SMC does not send a break
character. The driver appears to properly re-initialize _brkcr when the
SMC is restarted.Do not interrupt RX/TX when the termios is being adjusted; it results in
corrupted characters appearing on the line.Cc: Vitaly Bordug
Cc: Scott Wood
Cc: Paul Mackerras
Cc: Kumar Gala
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
24 Jul, 2008
1 commit
-
Add in console polling hooks for the cpm uart for use with kgdb and
kgdboc.Signed-off-by: Jason Wessel
CC: galak@kernel.crashing.org
23 Jul, 2008
1 commit
-
I missed the cpm_uart one. Thanks to Kumar Gala for reporting it. A double
check found samsung also needed fixing up.Signed-off-by: Alan Cox
Signed-off-by: Linus Torvalds
14 Jul, 2008
2 commits
-
Set port->fifosize to the software FIFO size, and update the port timeout
when the baud rate is modified. SCC ports have an optional 32 byte hardware
FIFO which is currently not taken into account, as there is no documented way
to check when the FIFO becomes empty.Signed-off-by: Laurent Pinchart
Signed-off-by: Kumar Gala -
Fix CPM serial port corruption when running with CONFIG_PREEMPT_RT.
Userland usage of console, and kernel printf's were stepping on each others toes.
Also only take lock if not in an oops.Signed-off-by: Rune Torgersen
Signed-off-by: Kumar Gala
26 Jun, 2008
2 commits
-
Now that arch/ppc is gone we always define CONFIG_PPC_CPM_NEW_BINDING so
we can remove all the code associated with !CONFIG_PPC_CPM_NEW_BINDING.Signed-off-by: Kumar Gala
-
Signed-off-by: Kumar Gala
30 Apr, 2008
1 commit
-
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Apr, 2008
1 commit
-
This patch allocates parameter RAM for SMC serial ports without relying on
previous initialisation by a boot loader or a wrapper layer.SMC parameter RAM on CPM2-based platforms can be allocated anywhere in the
general-purpose areas of the dual-port RAM. The current code relies on the
boot loader to allocate a section of general-purpose CPM RAM and gets the
section address from the device tree.This patch modifies the device tree address usage to reference the SMC
parameter RAM base pointer instead of a pre-allocated RAM section and
allocates memory from the CPM dual-port RAM when initialising the SMC port.
CPM1-based platforms are not affected.Signed-off-by: Laurent Pinchart
Acked-by: Scott Wood
Signed-off-by: Kumar Gala
07 Feb, 2008
1 commit
-
Mostly in and around irq handlers.
Signed-off-by: Jeff Garzik
Cc: Russell King
Cc: "Luck Tony"
Cc: Roman Zippel
Cc: Geert Uytterhoeven
Cc: Paul Mackerras
Cc: Benjamin Herrenschmidt
Acked-by: Dmitry Torokhov
Cc: Karsten Keil
Acked-by: "John W. Linville"
Cc: James Bottomley
Cc: David Brownell
Cc: "Antonino A. Daplas"
Acked-by: Josh Boyer
Acked-by: Holger Schurig
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
28 Jan, 2008
1 commit
-
Rename commproc.[ch] to cpm1.[ch] to be more consistent with cpm2. Also
rename cpm2_common.c to cpm2.c as suggested by Scott Wood. Adjust the
includes accordingly.Signed-off-by: Jochen Friedrich
Signed-off-by: Kumar Gala
24 Jan, 2008
1 commit
-
cpmux is need in all cases, having wrapped by the ifndef CONFIG_STX_GP3
was causing a compile error.Signed-off-by: Kumar Gala
14 Dec, 2007
1 commit
-
This patch moves the CPM command handling into commproc.c
for CPM1 and cpm2_common.c. This is yet another preparation
to get rid of drivers accessing the CPM via the global cpmp.Signed-off-by: Jochen Friedrich
Acked-by: Scott Wood
Acked-by: Arnd Bergmann
Signed-off-by: Vitaly Bordug
05 Oct, 2007
1 commit
-
The way the current CPM binding describes available multi-user (a.k.a.
dual-ported) RAM doesn't work well when there are multiple free regions,
and it doesn't work at all if the region doesn't begin at the start of
the muram area (as the hardware needs to be programmed with offsets into
this area). The latter situation can happen with SMC UARTs on CPM2, as its
parameter RAM is relocatable, u-boot puts it at zero, and the kernel doesn't
support moving it.It is now described with a muram node, similar to QE. The current CPM
binding is sufficiently recent (i.e. never appeared in an official release)
that compatibility with existing device trees is not an issue.The code supporting the new binding is shared between cpm1 and cpm2, rather
than remain separated. QE should be able to use this code as well, once
minor fixes are made to its device trees.Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala
04 Oct, 2007
3 commits
-
This prevents some bootloader/bootwrapper characters from being lost.
Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala -
Mostly a bunch of direct access to in/out conversions, plus a few
cast removals, __iomem annotations, and miscellaneous cleanup.Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala -
The existing OF glue code was crufty and broken. Rather than fix it,
it has been removed, and the serial driver now talks to the device tree
directly.The non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM platforms
are dropped from arch/ppc (which will hopefully be soon), and existing
arch/powerpc boards that I wasn't able to test on for this patchset get
converted (which should be even sooner).Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala
28 Sep, 2007
1 commit
-
in cpm_uart_cpm1.h, DPRAM_BASE is assigned an address derived from cpmp.
On ARC=ppc, this is a physical address with 1:1 DMA mapping which can't
be used for arithmetric compare operations with virtual addresses
returned by cpm_dpram_addr. This patch changes the assignment to use
cpm_dpram_addr as well, like in cpm_uart_cpm2.h.Signed-off-by: Jochen Friedrich
Signed-off-by: Kumar Gala
10 Jul, 2007
1 commit
-
Signed-off-by: Kumar Gala
10 May, 2007
3 commits
-
cpm_uart_init_portdesc is referenced from non-init code and thus we were
getting the following warning:WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:cpm_uart_init_portdesc from .text between 'cpm_uart_init' (at offset 0x18020) and 'cpm_uart_drv_remove'
Signed-off-by: Kumar Gala
-
This eliminates some warnings.
Signed-off-by: Scott Wood
Signed-off-by: Kumar Gala -
The rheap allocation functions return a pointer, but the actual value is based
on how the heap was initialized, and so it can be anything, e.g. an offset
into a buffer. A ulong is a better representation of the value returned by
the allocation functions.This patch changes all of the relevant rheap functions to use a unsigned long
integers instead of a pointer. In case of an error, the value returned is
a negative error code that has been cast to an unsigned long. The caller can
use the IS_ERR_VALUE() macro to check for this.All code which calls the rheap functions is updated accordingly. Macros
IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().Also added error checking to rh_attach_region().
Signed-off-by: Timur Tabi
Signed-off-by: Kumar Gala
09 May, 2007
1 commit
-
SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead
Signed-off-by: Milind Arun Choudhary
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
16 Feb, 2007
1 commit
-
Fix bug that exists in kernel.org since 2.6.17rc4 - compiles fail if
CONFIG_SERIAL_CPM_SMC is defined. Tested on a board using SMC1 console.Signed-off-by: Paul Gortmaker
Signed-off-by: Paul Mackerras
07 Feb, 2007
2 commits
-
Recent update of asm-powerpc/io.h caused cpm-related stuff to break in the
current kernel. Current patch fixes it, as well as other inconsistencies
expressed, that do not permit targets from working properly:- Updated dts with a chosen node with interrupt controller,
- fixed messed device IDs among CPM2 SoC devices,
- corrected odd header name and fixed type in defines,
- Added 82xx subdir to the powerpc/platforms Makefile, missed during
initial commit,
- new solely-powerpc header file for 8260 family (was using one from
arch/ppc, this one cleaned up from the extra stuff), in fact for now
a placeholder to get the board-specific includes for stuff not yet
capable to live with devicetree peeks only
- Fixed couple of misprints in reference mpc8272 dts.Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras -
This makes cpm uart able to work using OF-passed parameters
in case of CPM stuff (found on most mpc8xx reference and custom
boards). The idea is to keep ppc stuff working yet making it able to be
used for powerpc.Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras
04 Dec, 2006
1 commit
-
The below hunk was missed from the recent patch, and now, there are somewhat
inconsistent definitions:in cpm_uart.h:
int __init cpm_uart_init_portdesc(void);in cpm_uart_cpm1.c:
int __init cpm_uart_init_portdesc(void)
{
}in cpm_uart_cpm2.c:
int cpm_uart_init_portdesc(void)
{
}Signed-off-by: Kalle Pokki
Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras
10 Nov, 2006
2 commits
-
The cpm_uart driver is initialised incorrectly, if there is a frame buffer
console, and CONFIG_SERIAL_CPM_CONSOLE is defined. The driver fails to
call cpm_uart_init_portdesc() and set_lineif() in this case.Signed-off-by: Kalle Pokki
Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras -
The SMC and SCC hardware transmitter is enabled at the wrong
place. Simply writing twice to the non-console port, like$ echo asdf > /dev/ttyCPM1
$ echo asdf > /dev/ttyCPM1puts the shell into endless uninterruptible sleep, since the
transmitter is stopped after the first write, and is not enabled
before the shutdown function of the second write. Thus the transmit
buffers are never emptied.Signed-off-by: Kalle Pokki
Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras