Patchwork [Maverick,master,SRU,pull-request] Properly initialize UART 4 at Beagleboard-xM

login
register
mail settings
Submitter Ricardo Salveti de Araujo
Date Dec. 20, 2010, 3:14 a.m.
Message ID <AANLkTiksiO_vXyGDSW1u9h_TF7FWkjcSz0FrMMxHr_yC@mail.gmail.com>
Download mbox
Permalink /patch/76162/
State Accepted
Headers show

Pull-request

git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git fix-uart3-init

Comments

Ricardo Salveti de Araujo - Dec. 20, 2010, 3:14 a.m.
SRU Justification:

Impact: Current omap 3 kernel doesn't handle all the available uarts when
running on a Beagleboard-xM, failining and to initialize uart4 and leading
to a trace warning while booting the kernel.

Fix: The fix is already upstream and the proposed fix is just a backport of the
needed changes. It basically defines the uart 4, set up it's ick/fck and change
the code to correctly use it on a omap 3640.

Testcase: When booting on a Beagleboard-xM the following warning trace appers:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at
/build/buildd/linux-2.6.35/arch/arm/mach-omap2/serial.c:727
omap_serial_init_port+0x88/0x1f8()
[ 0.000000] (null): can't init uart3, no clocks available
[ 0.000000] Modules linked in:
[ 0.000000] [<c004c508>] (unwind_backtrace+0x0/0x100) from
[<c051a2a8>] (dump_stack+0x18/0x1c)
[ 0.000000] [<c00109b4>] (omap_serial_init+0x30/0x3c) from
[<c00125e0>] (omap3_beagle_init+0x6c/0xfc)
[ 0.000000] [<c00125e0>] (omap3_beagle_init+0x6c/0xfc) from
[<c000c660>] (customize_machine+0x24/0x2c)
[ 0.000000] [<c000c660>] (customize_machine+0x24/0x2c) from
[<c00443bc>] (do_one_initcall+0x3c/0x1dc)
[ 0.000000] [<c00443bc>] (do_one_initcall+0x3c/0x1dc) from
[<c00085b4>] (do_basic_setup+0x64/0x74)
[ 0.000000] [<c00085b4>] (do_basic_setup+0x64/0x74) from [<c0008654>]
(kernel_init+0x90/0x120)
[ 0.000000] [<c0008654>] (kernel_init+0x90/0x120) from [<c0045af4>]
(kernel_thread_exit+0x0/0x8)
[ 0.000000] ---[ end trace da227214a82491b7 ]---
After applying these patches this warninig is gone.

Same patches can also be found at the Linaro's 2.6.35 kernel tree.

BugLink: https://bugs.launchpad.net/bugs/688765

The following changes since commit e884768247eb057c5b2111e6c24a7e6e8fc37407:

  UBUNTU: Ubuntu-2.6.35-24.42 (2010-11-30 15:28:39 -0800)

are available in the git repository at:
  git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git fix-uart3-init

Govindraj.R (3):
      OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
      OMAP clock: Add uart4_ick/fck definitions for 3630
      OMAP3: serial: Fix uart4 handling for 3630

Nicolas Pitre (1):
      OMAP: some definitions extracted from commit 046465b76a

Santosh Shilimkar (1):
      omap: serial: Fix the boot-up crash/reboot without CONFIG_PM

Sergio Aguirre (1):
      omap3: Unify omap2_set_globals_3[43,6x]x functions

 arch/arm/mach-omap2/board-3430sdp.c        |    2 +-
 arch/arm/mach-omap2/board-3630sdp.c        |    2 +-
 arch/arm/mach-omap2/board-am3517evm.c      |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c         |    2 +-
 arch/arm/mach-omap2/board-devkit8000.c     |    2 +-
 arch/arm/mach-omap2/board-igep0020.c       |    2 +-
 arch/arm/mach-omap2/board-ldp.c            |    2 +-
 arch/arm/mach-omap2/board-omap3beagle.c    |    2 +-
 arch/arm/mach-omap2/board-omap3evm.c       |    2 +-
 arch/arm/mach-omap2/board-omap3pandora.c   |    2 +-
 arch/arm/mach-omap2/board-omap3stalker.c   |    2 +-
 arch/arm/mach-omap2/board-omap3touchbook.c |    2 +-
 arch/arm/mach-omap2/board-overo.c          |    2 +-
 arch/arm/mach-omap2/board-rx51.c           |    2 +-
 arch/arm/mach-omap2/board-zoom2.c          |    2 +-
 arch/arm/mach-omap2/board-zoom3.c          |    2 +-
 arch/arm/mach-omap2/clock3xxx_data.c       |   22 ++++++++++++++++++++++
 arch/arm/mach-omap2/cm-regbits-34xx.h      |    2 ++
 arch/arm/mach-omap2/pm34xx.c               |   15 +++++++++++++--
 arch/arm/mach-omap2/prcm-common.h          |    5 +++++
 arch/arm/mach-omap2/prm-regbits-34xx.h     |    1 +
 arch/arm/mach-omap2/serial.c               |   11 ++++++++++-
 arch/arm/plat-omap/common.c                |   10 ++--------
 arch/arm/plat-omap/include/plat/common.h   |    3 +--
 arch/arm/plat-omap/include/plat/dma.h      |    2 ++
 arch/arm/plat-omap/include/plat/irqs.h     |    2 ++
 26 files changed, 76 insertions(+), 29 deletions(-)
Tim Gardner - Dec. 22, 2010, 2:04 p.m.
On 12/19/2010 08:14 PM, Ricardo Salveti wrote:
> git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git fix-uart3-init

Looks reasonable.

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Stefan Bader - Jan. 3, 2011, 9:38 a.m.
Patches only change ARM platform specific code and for that architecture it has
been verified.

Acked-by: Stefan Bader <stefan.bader@canonical.com>

On 12/20/2010 04:14 AM, Ricardo Salveti wrote:
> SRU Justification:
> 
> Impact: Current omap 3 kernel doesn't handle all the available uarts when
> running on a Beagleboard-xM, failining and to initialize uart4 and leading
> to a trace warning while booting the kernel.
> 
> Fix: The fix is already upstream and the proposed fix is just a backport of the
> needed changes. It basically defines the uart 4, set up it's ick/fck and change
> the code to correctly use it on a omap 3640.
> 
> Testcase: When booting on a Beagleboard-xM the following warning trace appers:
> [ 0.000000] ------------[ cut here ]------------
> [ 0.000000] WARNING: at
> /build/buildd/linux-2.6.35/arch/arm/mach-omap2/serial.c:727
> omap_serial_init_port+0x88/0x1f8()
> [ 0.000000] (null): can't init uart3, no clocks available
> [ 0.000000] Modules linked in:
> [ 0.000000] [<c004c508>] (unwind_backtrace+0x0/0x100) from
> [<c051a2a8>] (dump_stack+0x18/0x1c)
> [ 0.000000] [<c00109b4>] (omap_serial_init+0x30/0x3c) from
> [<c00125e0>] (omap3_beagle_init+0x6c/0xfc)
> [ 0.000000] [<c00125e0>] (omap3_beagle_init+0x6c/0xfc) from
> [<c000c660>] (customize_machine+0x24/0x2c)
> [ 0.000000] [<c000c660>] (customize_machine+0x24/0x2c) from
> [<c00443bc>] (do_one_initcall+0x3c/0x1dc)
> [ 0.000000] [<c00443bc>] (do_one_initcall+0x3c/0x1dc) from
> [<c00085b4>] (do_basic_setup+0x64/0x74)
> [ 0.000000] [<c00085b4>] (do_basic_setup+0x64/0x74) from [<c0008654>]
> (kernel_init+0x90/0x120)
> [ 0.000000] [<c0008654>] (kernel_init+0x90/0x120) from [<c0045af4>]
> (kernel_thread_exit+0x0/0x8)
> [ 0.000000] ---[ end trace da227214a82491b7 ]---
> After applying these patches this warninig is gone.
> 
> Same patches can also be found at the Linaro's 2.6.35 kernel tree.
> 
> BugLink: https://bugs.launchpad.net/bugs/688765
> 
> The following changes since commit e884768247eb057c5b2111e6c24a7e6e8fc37407:
> 
>   UBUNTU: Ubuntu-2.6.35-24.42 (2010-11-30 15:28:39 -0800)
> 
> are available in the git repository at:
>   git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git fix-uart3-init
> 
> Govindraj.R (3):
>       OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
>       OMAP clock: Add uart4_ick/fck definitions for 3630
>       OMAP3: serial: Fix uart4 handling for 3630
> 
> Nicolas Pitre (1):
>       OMAP: some definitions extracted from commit 046465b76a
> 
> Santosh Shilimkar (1):
>       omap: serial: Fix the boot-up crash/reboot without CONFIG_PM
> 
> Sergio Aguirre (1):
>       omap3: Unify omap2_set_globals_3[43,6x]x functions
> 
>  arch/arm/mach-omap2/board-3430sdp.c        |    2 +-
>  arch/arm/mach-omap2/board-3630sdp.c        |    2 +-
>  arch/arm/mach-omap2/board-am3517evm.c      |    2 +-
>  arch/arm/mach-omap2/board-cm-t35.c         |    2 +-
>  arch/arm/mach-omap2/board-devkit8000.c     |    2 +-
>  arch/arm/mach-omap2/board-igep0020.c       |    2 +-
>  arch/arm/mach-omap2/board-ldp.c            |    2 +-
>  arch/arm/mach-omap2/board-omap3beagle.c    |    2 +-
>  arch/arm/mach-omap2/board-omap3evm.c       |    2 +-
>  arch/arm/mach-omap2/board-omap3pandora.c   |    2 +-
>  arch/arm/mach-omap2/board-omap3stalker.c   |    2 +-
>  arch/arm/mach-omap2/board-omap3touchbook.c |    2 +-
>  arch/arm/mach-omap2/board-overo.c          |    2 +-
>  arch/arm/mach-omap2/board-rx51.c           |    2 +-
>  arch/arm/mach-omap2/board-zoom2.c          |    2 +-
>  arch/arm/mach-omap2/board-zoom3.c          |    2 +-
>  arch/arm/mach-omap2/clock3xxx_data.c       |   22 ++++++++++++++++++++++
>  arch/arm/mach-omap2/cm-regbits-34xx.h      |    2 ++
>  arch/arm/mach-omap2/pm34xx.c               |   15 +++++++++++++--
>  arch/arm/mach-omap2/prcm-common.h          |    5 +++++
>  arch/arm/mach-omap2/prm-regbits-34xx.h     |    1 +
>  arch/arm/mach-omap2/serial.c               |   11 ++++++++++-
>  arch/arm/plat-omap/common.c                |   10 ++--------
>  arch/arm/plat-omap/include/plat/common.h   |    3 +--
>  arch/arm/plat-omap/include/plat/dma.h      |    2 ++
>  arch/arm/plat-omap/include/plat/irqs.h     |    2 ++
>  26 files changed, 76 insertions(+), 29 deletions(-)
Stefan Bader - Jan. 3, 2011, 3:44 p.m.
Waiting for the ARM test build to finish but basically pulled and applied to
master-next in Maverick. I did some administrative changes to the patch headers
(Ricardo, if you could adapt that for the next time that would be awesome).

* Added the BugLink lines to all patches (every patch added to the master
  branch of a released series should have one, it is completely valid to
  have the same bug number/link for several patches that solve one problem).
* Added Ricardo's signed-off-by. This is to document the flow of the patch
  (and also to attribute the work of preparing the set).

Stefan
Ricardo Salveti de Araujo - Jan. 4, 2011, 5:10 p.m.
On Mon, Jan 3, 2011 at 1:44 PM, Stefan Bader <stefan.bader@canonical.com> wrote:
> Waiting for the ARM test build to finish but basically pulled and applied to
> master-next in Maverick. I did some administrative changes to the patch headers
> (Ricardo, if you could adapt that for the next time that would be awesome).
>
> * Added the BugLink lines to all patches (every patch added to the master
>  branch of a released series should have one, it is completely valid to
>  have the same bug number/link for several patches that solve one problem).
> * Added Ricardo's signed-off-by. This is to document the flow of the patch
>  (and also to attribute the work of preparing the set).

Sure, next time will make sure both points are covered.

Thanks!