08 Apr, 2011

1 commit


31 Mar, 2011

1 commit


28 Mar, 2011

1 commit


25 Mar, 2011

1 commit

  • It's a big no-no to use pgprot_noncached() when mmap'ing such buffers
    into userspace since they are mapped cachable in kernel space.

    This can cause all sort of interesting things ranging from to garbled
    sound to lockups on various architectures. I've observed that usb-audio
    is broken on powerpc 4xx for example because of that.

    Also remove the now unused snd_pcm_lib_mmap_noncached(). It's
    an arch business to know when to use uncached mappings, there's
    already hacks for MIPS inside snd_pcm_default_mmap() and other
    archs are supposed to use dma_mmap_coherent().

    (See my separate patch that adds dma_mmap_coherent() to powerpc)

    Signed-off-by: Benjamin Herrenschmidt
    CC:
    Signed-off-by: Takashi Iwai

    Benjamin Herrenschmidt
     

24 Mar, 2011

1 commit


18 Mar, 2011

1 commit


11 Mar, 2011

1 commit


09 Mar, 2011

3 commits

  • Currently will ignore prefixes when creating DAPM controls. Since currently
    all control creation goes through snd_soc_cnew() we can fix this by factoring
    the prefixing into that function.

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

    Mark Brown
     
  • When multi component systems use DAIless amplifiers which require clocking
    configuration it is at best hard to use the current clocking API as this
    requires a DAI even though the device may not even have one. Address this
    by adding set_sysclk() and set_pll() operations and APIs for CODECs.

    In order to avoid issues with devices which could be used either with or
    without DAIs make the DAI variants call through to their CODEC counterparts
    if there is no DAI specific operation. Converting over entirely would create
    problems for multi-DAI devices which offer per-DAI clocking setup.

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

    Mark Brown
     
  • Allow a slight simplification of CODEC drivers by allowing DAPM routes and
    widgets to be provided in a table. They will be instantiated at the end of
    CODEC probe.

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

    Mark Brown
     

05 Mar, 2011

1 commit


03 Mar, 2011

3 commits

  • This is run after the DAPM widgets and routes are added, allowing setup
    of things like jacks using the routes. The main card probe() is run before
    anything else so can't be used for this purpose.

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

    Mark Brown
     
  • These will be added after all devices are registered and allow most DAI
    init functions in machine drivers to be replaced by simple data.
    Regular controls are not supported as the registration function still
    works in terms of CODECs.

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

    Mark Brown
     
  • This means that rather than adding the board specific DAPM widgets to a
    random CODEC DAPM context they can be added to the card itself which is
    a bit cleaner. Previously there only was one DAPM context and it was
    tied to the single supported CODEC.

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

    Mark Brown
     

02 Mar, 2011

1 commit


19 Feb, 2011

2 commits


18 Feb, 2011

1 commit


15 Feb, 2011

1 commit

  • Change the core code where sparse complains. In most cases, this means
    just adding annotations to confirm that we indeed want to do the dirty
    things we're doing.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

14 Feb, 2011

2 commits


10 Feb, 2011

1 commit


08 Feb, 2011

1 commit


28 Jan, 2011

1 commit

  • Provide driver data for cards within the card structure. To simplify the
    implementation of the PM operations we don't use the struct device driver
    data as this is used by the core to retrieve the card in callbacks from
    the device model and PM core.

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

    Mark Brown
     

27 Jan, 2011

8 commits


26 Jan, 2011

1 commit

  • Current format selection of FSI-codecs depended on platform information for FSI,
    and chip default settings for codecs. It is not understandable/formal method.
    This patch modify FSI and FSI-codecs to use snd_soc_dai_set_fmt.

    But FSI can use I2S/PCM and SPDIF format today.
    It can be selected to I2S/PCM by snd_soc_dai_set_fmt, but can not select SPDIF.
    So, this patch change FSI platform information to have DAI/SPDIF mode.

    If platform selects DAI mode (default),
    FSI-codecs can select I2S/PCM by snd_soc_dai_set_fmt,
    and if it is SPDIF mode, FSI become SPDIF format.

    Signed-off-by: Kuninori Morimoto
    Acked-by: Paul Mundt
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

25 Jan, 2011

2 commits


22 Jan, 2011

3 commits


20 Jan, 2011

1 commit


19 Jan, 2011

1 commit

  • Many modern devices have features such as DC servos which take time to start.
    Currently these are handled by per-widget events but this makes it difficult
    to paralleise operations on multiple widgets, meaning delays can end up
    being needlessly serialised. By providing a callback to drivers when all
    widgets of a given type have been handled during a DAPM sequence the core
    allows drivers to start operations separately and wait for them to complete
    much more simply.

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

    Mark Brown