24 Sep, 2009

1 commit


20 Sep, 2009

1 commit


30 Jul, 2009

1 commit


06 Apr, 2009

2 commits


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

    Xiaotian Feng
     

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
    ...

    Linus Torvalds
     

16 Oct, 2008

1 commit


20 Sep, 2008

1 commit


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

    Laurent Pinchart
     
  • 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

    Laurent Pinchart
     

25 Jul, 2008

1 commit


24 Jul, 2008

1 commit


23 Jul, 2008

1 commit


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

    Laurent Pinchart
     
  • 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

    Rune Torgersen
     

26 Jun, 2008

2 commits


30 Apr, 2008

1 commit


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

    Laurent Pinchart
     

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

    Jeff Garzik
     

28 Jan, 2008

1 commit


24 Jan, 2008

1 commit


14 Dec, 2007

1 commit


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

    Scott Wood
     

04 Oct, 2007

3 commits


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

    Jochen Friedrich
     

10 Jul, 2007

1 commit


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

    Kumar Gala
     
  • This eliminates some warnings.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • 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

    Timur Tabi
     

09 May, 2007

1 commit


16 Feb, 2007

1 commit


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

    Vitaly Bordug
     
  • 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

    Vitaly Bordug
     

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

    Kalle Pokki
     

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

    Kalle Pokki
     
  • 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/ttyCPM1

    puts 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

    Kalle Pokki