16 Jun, 2020

1 commit

  • soc-io.c has snd_soc_component_xxx() functions for I/O.
    We have soc-componennt.c for it.
    Let's merge soc-io.c into soc-component.c

    By this patch, original soc-io.c functions start to use
    soc_component_err() when error case.

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Ranjani Sridharan
    Link: https://lore.kernel.org/r/87h7vrw8ws.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

30 May, 2020

1 commit

  • Current ALSA SoC has some snd_soc_card_xxx() functions,
    and card->xxx() callbacks.
    But, it is implemented randomly at random place.

    To collect all card related functions into one place,
    this patch creats new soc-card.c.

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Ranjani Sridharan
    Link: https://lore.kernel.org/r/87blm825kt.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

25 May, 2020

1 commit

  • Current ALSA SoC has many dai_link->xxx() functions.
    But, it is implemented randomly at random place.

    This patch creats new soc-link.c and collect dai_link related
    operation into it.

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Ranjani Sridharan
    Reviewed-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/871rn84ys5.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

12 Aug, 2019

1 commit


05 Aug, 2019

1 commit

  • ALSA SoC has many snd_soc_component_xxx(), but these are randomly
    located in many files. Because of it, code is difficult to read.
    This patch creates new soc-component.c, and moves existing
    snd_soc_component_xxx() into it.
    But not yet fully. We need more cleanup it.

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87imrp5roa.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

24 Jul, 2019

1 commit

  • Current ALSA SoC has many snd_soc_dai_xxx() function which is
    using dai->driver->ops->xxx.
    But, some of them are implemented as snd_soc_dai_xxx(),
    but others are directly using dai->driver->ops->xxx.
    Because of it, the code is not easy to read.

    This patch creats new soc-dai.c and moves snd_soc_dai_xxx()
    functions into it.
    One exception is snd_soc_dai_is_dummy() which is based on
    soc-utils local variable. We need to keep it as-is there.

    Others which is directly using dai->driver->ops->xxx will be
    implemented at soc-dai.c by incremental patches.

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/871ryij1r6.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

28 Apr, 2019

1 commit


30 Jan, 2019

1 commit


18 Dec, 2018

1 commit

  • Create new directory to contain all Texas Instruments specific DAI,
    platform and machine drivers instead of scattering them under davinci and
    omap directories.

    There is already inter dependency between the two directories becasue of
    McASP (on dra7x it is serviced by sDMA, not EDMA).

    With the upcoming AM654 we will need to introduce new platform driver for
    UDMA and it does not fit under davinci, nor under omap.

    With the move I have restructured the Kconfig to be more usable in the era
    of simple-sound-card:
    CPU DAIs can be selected individually and they will select the platform
    driver they can be served with.

    To avoid breakage, I have moved over deprecated Kconfig options so
    defconfig builds will work without regression.

    Signed-off-by: Peter Ujfalusi
    For sound/soc/{omap => ti}:
    Tested-by: Jarkko Nikula
    Acked-by: Jarkko Nikula
    Acked-by: Tony Lindgren
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     

13 Dec, 2018

1 commit


18 Jul, 2018

1 commit

  • Amlogic's axg SoCs have two types of fifos which are the memory
    interfaces of the audio subsystem. FRDDR provides the playback
    interface while TODDR provides the capture interface.

    The way these fifos operate is very similar. Only a few settings
    are specific to each.

    They implement the same pcm driver here and the specifics of each
    will be dealt with the related DAI driver.

    Signed-off-by: Jerome Brunet
    Signed-off-by: Mark Brown

    Jerome Brunet
     

09 May, 2018

1 commit

  • Codec reg_cache is legacy feature, almost all driver are now using
    common regmap, and very few driver had been used this legacy feature.
    Because of this background, it is now implemented on each
    driver internally now.
    So now, no one is using codec reg_cache. Let's remove it.

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Charles Keepax
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

15 Mar, 2018

1 commit


05 Dec, 2017

1 commit


11 Nov, 2017

1 commit


02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

21 Oct, 2017

1 commit

  • ACPI support is not specific to the Intel/SST driver. Move the enumeration
    and matching code which is not hardware-dependent to sound/soc and rename
    relevant sst_acpi_ structures and functions with snd_soc_acpi_ prefix

    soc-acpi.h is protected by a #ifndef __LINUX_SND_SOC_ACPI_H for
    consistency with all other SoC .h files:

    grep -L __LINUX include/sound/soc* | wc -l
    0
    grep __LINUX include/sound/soc* | wc -l
    14

    Signed-off-by: Pierre-Louis Bossart
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     

30 Apr, 2017

1 commit


26 Apr, 2017

1 commit


11 Apr, 2017

1 commit


11 Jan, 2016

1 commit


10 Jan, 2016

1 commit

  • ACP IP has internal DMA controller with multiple channels which
    can be programmed in cyclic/non cyclic manner. ACP can generate
    interrupt upon completion of DMA transfer, if required.
    The PCM driver provides the platform DMA component to ALSA core.

    Signed-off-by: Maruthi Bayyavarapu
    Reviewed-by: Alex Deucher
    Reviewed-by: Murali Krishna Vemuri
    Signed-off-by: Alex Deucher
    Signed-off-by: Mark Brown

    Maruthi Srinivas Bayyavarapu
     

16 Nov, 2015

1 commit


26 Oct, 2015

1 commit


22 Oct, 2015

1 commit


17 Sep, 2015

1 commit

  • The sun4i, sun5i and sun7i SoC families have a built-in codec, capable
    of both audio capture and playback.

    While this is called a codec by Allwinner, it really is an in-SoC
    combination of a codec and a DAI, with its own DAC/ADC and amplifiers
    in a single memory-mapped controller.

    The capture part has been left out for now, and will be added eventually.

    Signed-off-by: Emilio López
    Signed-off-by: Maxime Ripard
    Signed-off-by: Mark Brown

    Emilio López
     

30 Aug, 2015

1 commit


18 Aug, 2015

1 commit

  • Allow the topology code to be compiled out so that users who don't need
    topology don't need to havve the code compiled in, saving them some
    memory.

    Some more configuration could be added to remove some of the hooks into
    the core data structures but that is probably best done with some
    refactoring to use functions to do the updates of the data structures
    rather than ifdefing in the code as we'd need to do at the minute.

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

    Mark Brown
     

17 Jul, 2015

1 commit


22 Jun, 2015

1 commit


16 Jun, 2015

1 commit


06 Jun, 2015

1 commit


04 Jun, 2015

2 commits

  • Add driver for zx296702 SPDIF controller

    Signed-off-by: Jun Nie
    Signed-off-by: Mark Brown

    Jun Nie
     
  • The topology core parses the FW topology file for known block types and
    instanciates any common ALSA/ASoC objects that it discovers. The core
    also passes any block that is does not understand to client component
    drivers for enumeration.

    The core exports some APIs to client drivers in order to load and unload
    firmware topology data as use case require.

    Currently the core deals with the following object types :-

    o kcontrols. This includes TLV, enumerated and bytes controls.
    o DAPM widgets. All types with any associated kcontrol.
    o DAPM graph.
    o FE PCM. FE PCM capabilities and configuration can be defined.
    o BE DAI Link. BE DAI link capabilities and configuration can be defined.
    o Codec codec style links capabilities and configuration.

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

    Liam Girdwood
     

16 Mar, 2015

1 commit


09 Jan, 2015

1 commit

  • XTFPGA boards provides an audio subsystem that consists of TI CDCE706
    clock synthesizer, I2S transmitter and TLV320AIC23 audio codec.

    I2S transmitter has MMIO-based interface that resembles that of the
    OpenCores I2S transmitter. I2S transmitter is always a master on I2S
    bus. There's no specialized audio DMA, sample data are transferred to
    I2S transmitter FIFO by CPU through memory-mapped queue interface.

    Signed-off-by: Max Filippov
    Signed-off-by: Mark Brown

    Max Filippov
     

08 Dec, 2014

2 commits


18 Nov, 2014

1 commit

  • Currently the AC'97 support is splattered all throughout soc-core.c. Some
    parts are #ifdef'd some parts are not. This patch moves the AC'97 support to
    its own file, this should make the code a bit more clearer and also makes it
    possible to easily not compile it into the kernel when not needed.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

29 Oct, 2014

1 commit