27 Oct, 2011

7 commits

  • FIFO should be flushed before it is enabled for the first time
    This fixes the I/O errors reported by the ASoC core on a fresh boot

    Signed-off-by: Vaibhav Bedia

    Vaibhav Bedia
     
  • This patch adds the machine driver for AM335x EVM in conformance with the new
    ASoC framework.

    Signed-off-by: Hebbar, Gururaja

    Hebbar, Gururaja
     
  • AM33xx uses same McASP IP as the Davinci Platform. This patch adds
    config option to enable the McASP driver for AM335x (Kconfig & Makefile)

    Signed-off-by: Hebbar, Gururaja

    Hebbar, Gururaja
     
  • Few OMAP platform has a new Variant of McASP than those found on Davinci
    Platform.

    This patch adds support for the same.

    Changes
    - Add new MCASP_VERSION_3 to identify new IP
    - The FIFO offsets for the McASP in new platform are different from the
    ones seen on previous varianats. Use version member to identify and
    process accordingly

    This has been tested on DM365 platform to make sure nothing existing
    breaks

    Signed-off-by: Hebbar, Gururaja
    Signed-off-by: Vaibhav Hiremath

    Hebbar, Gururaja
     
  • parameters from isnt used anywhere. Hence removed

    Signed-off-by: Hebbar, Gururaja
    Signed-off-by: Vaibhav Hiremath

    Hebbar, Gururaja
     
  • Davinci McASP IP & its Driver is shared by few OMAP platforms. Moving the
    McASP ddefines to a common place, helps to share the same header file
    across platforms

    This patch moves asp.h from
    arch/arm/mach-davinci/include/mach/asp.h -> arch/arm/include/asm/hardware/asp.h

    Header define check is also updated to reflect hardware name rather than
    platform

    Signed-off-by: Hebbar, Gururaja
    Signed-off-by: Vaibhav Hiremath

    Hebbar, Gururaja
     
  • We have two SoCs using SRAM, both with their own allocation systems,
    and both with their own ways of copying functions into the SRAM.

    Let's unify this before we have additional SoCs re-implementing this
    obviously common functionality themselves.

    For this use the generic allocator and the newly introduce
    gen_pool_add_virt and gen_pool_virt_to_phys

    Uio_pruss should probably take the SRAM pool pointer via
    platform data so that it doesn't have to include Davinci specific
    includes.

    Signed-off-by: Russell King
    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Sekhar Nori
    Cc: Kevin Hilman
    Cc: Tony Lindgren
    Cc: Sascha Hauer

    Signed-off-by: Hebbar, Gururaja

    Jean-Christophe PLAGNIOL-VILLARD
     

03 Oct, 2011

3 commits


27 Sep, 2011

1 commit

  • Currently the the internal oscillator is powered down when entering BIAS_OFF
    state, but not re-enabled when going back to BIAS_STANDBY. As a result the
    CODEC will stop working after suspend if the internal oscillator is used to
    generate the sysclock signal. This patch fixes it by clearing the appropriate
    bit in the power down register when the CODEC is re-enabled.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Lars-Peter Clausen
     

23 Sep, 2011

1 commit

  • Attempt to change McBSP CLKS source while another stream is active is not
    safe after commit d135865 ("OMAP: McBSP: implement functional clock
    switching via clock framework") in 2.6.37.

    CLKS parent clock switching using clock framework have to idle the McBSP
    before switching and then activate it again. This short break can cause a
    DMA transaction error to already running stream which halts and recovers
    only by closing and restarting the stream.

    This goes more fatal after commit e2fa61d ("OMAP3: l3: Introduce
    l3-interconnect error handling driver") in 2.6.39 where l3 driver detects a
    severe timeout error and does BUG_ON().

    Fix this by not changing any configuration in omap_mcbsp_dai_set_dai_sysclk
    if the McBSP is already active. This test should have been here just from
    the beginning anyway.

    Signed-off-by: Jarkko Nikula
    Acked-by: Peter Ujfalusi
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Jarkko Nikula
     

21 Sep, 2011

1 commit

  • Commit 873bd4c (ASoC: Don't set invalid name string to snd_card->driver
    field) broke generation of a driver name for all ASoC cards relying on the
    automatic generation of one. Fix this by using the old default with spaces
    replaced by underscores.

    Signed-off-by: Mark Brown
    Acked-by: Takashi Iwai

    Mark Brown
     

20 Sep, 2011

1 commit


16 Sep, 2011

1 commit


12 Sep, 2011

1 commit


06 Sep, 2011

2 commits


31 Aug, 2011

4 commits


25 Aug, 2011

2 commits


24 Aug, 2011

2 commits

  • Board file support for Ventana is not yet mainlined, and probably won't
    ever be given the move to Device-Tree. Consequently, the Ventana entry
    is being removed from arch/arm/tools/mach-types in the next merge window,
    since it was registered over a year ago.

    This will also remove function machine_is_ventana(), which is used by
    the ASoC Tegra WM8903 machine driver. This will cause compilation
    failures. Drop Ventana support to resolve this.

    Hopefully, in the not-too-distant future, tegra_wm8903.c will be able to
    configure itself from Device-Tree, and hence we'll be able to re-instate
    Ventana support just by creating a .dts file for the board.

    Also note that Aebl support is in a similar boat. However, that board
    isn't scheduled for deprecation for at least another 5 months, and
    perhaps we will have completely removed non-Device-Tree support from
    tegra_wm8903.c by then and/or adjusted mach-types policy.

    Signed-off-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Stephen Warren
     
  • Signed-off-by: Joseph Pentland
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Joseph Pentland
     

23 Aug, 2011

6 commits

  • The first change is to add an of_node_put, since codec_np has previously
    been allocated. The rest of the patch reorganizes the error handling code
    so the only code executed is that which is needed.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != of_node_put(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    of_node_put(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • dma_channel_np has been accessed at this point, so decrease its reference
    count before leaving the function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != of_node_put(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    of_node_put(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • Introduce a new label that includes kfree and jump to that one.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != kfree(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    kfree(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Alexander Sverdlin
    Reviewed-by: H Hartley Sweeten
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • Adjust the goto to jump to the error handling code that includes kfree.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != kfree(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    kfree(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • GFP_ATOMIC is not needed here, use GFP_KERNEL instead.

    Signed-off-by: Axel Lin
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Axel Lin
     
  • of_parse_phandle increments the reference count of np, so this should be
    decremented before trying the next possibility.

    Since we don't actually use np, we can decrement the reference count
    immediately.

    Reported-by: Julia Lawall
    Signed-off-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Timur Tabi
     

22 Aug, 2011

5 commits


19 Aug, 2011

1 commit

  • Fix "error: too few arguments to function 'ams_delta_set_bias_level'"
    build errors in ams-delta.c that were introduced after commit d4c6005 ("ASoC:
    Add context parameter to card DAPM callbacks") by adding dapm context
    to ams_delta_set_bias_level calls.

    Signed-off-by: Jarkko Nikula
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Jarkko Nikula
     

17 Aug, 2011

1 commit

  • The ASoC core tries to not enforce symmetric rates when
    two streams open simultaneously. It does so by checking
    rtd->rate being zero. This works exactly once after booting
    because it is not set to zero again when the streams close.
    Fix this by setting rtd->rate when no active stream is left.

    [This leads to lots of warnings about not enforcing the symmetry in some
    situations as there's a race in the userspace API where we know we've
    got two applications but don't know what rates they want to set.
    -- broonie ]

    Signed-off-by: Sascha Hauer
    Signed-off-by: Mark Brown

    Sascha Hauer
     

15 Aug, 2011

1 commit