1. 13 Nov, 2020 7 commits
  2. 12 Nov, 2020 23 commits
  3. 11 Nov, 2020 6 commits
  4. 10 Nov, 2020 4 commits
    • Mark Brown's avatar
      Merge series "Audio Graph Updates" from Sameer Pujar <spujar@nvidia.com>: · 0a142f53
      Mark Brown authored
      This series is a prepraration for using generic graph driver for Tegra210
      audio. Tegra audio graph series will be sent in a separate series because
      it has some dependency over other series for documentation work. This
      series can focus on the generic ASoC driver updates. Below are the summary
      of changes done.
      
       * Support multiple instances of a component. For example there can be
         multiple I2S devices which can use the same component driver.
      
       * Support open platforms with empty Codec endpoint. Customers can plug
         their own HW and can populate codec endpoint.
      
       * In a component model there can be many components which can be
         connected together. In such cases Identify no-pcm DPCM DAI links which
         can be used in BE<->BE connections.
      
       * Expose structures or helpers to be re-used by other similar graph
         drivers.
      
      The series is based on following references where DPCM usgae for Tegra
      Audio and simple-card driver proposal were discussed.
      
       * https://lkml.org/lkml/2020/4/30/519 (DPCM for Tegra)
       * https://lkml.org/lkml/2020/6/27/4 (simple-card driver)
      
      Changelog
      =========
      
      v4 -> v5
      --------
       * No changes in the core/audio-graph driver patches which are
         part of the current series.
       * Dropped Tegra audio patches and doc patches. This will be
         sent separately once the doc depdendencies are resolved.
      
      v3 -> v4
      --------
       * Added new patches to convert graph.txt and audio-graph-card.txt
         to corresponding json-schema files. Later these references
         are used in Tegra audio graph schema.
      
       * AHUB component binding docs are updated to reflect the usage
         of ports/port/endpoint
      
       * More common stuff is moved into graph_parse_of() and this is
         used by both generic and Tegra audio graph.
      
       * DT binding for Tegra audio graph is updated to included "ports { }"
      
       * As per the suggestion 'void *data' member is dropped from
         'asoc_simple_priv' and instead container method is used to
         maintain required custom data internal to Tegra audio graph.
      
      v2 -> v3
      --------
       * Dropped new compatible addition in generic graph driver
         after reviewing it with Morimoto-san. Instead added Tegra
         audio graph driver and new compatibles are added in the same.
       * Added new patches to expose new members for customization
         in audio graph driver.
       * Added new patch for Tegra audio graph driver and related
         documentation.
       * Minor change in below commit where mutex version of helper is used
         "ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM"
       * DT binding is updated to use the newly exposed compatibles
       * No changes in other patches
      
      v1 -> v2
      --------
       * Re-organized ports/endpoints description for ADMAIF and XBAR.
         Updated DT patches accordingly.
       * After above change, multiple Codec endpoint support is not
         required and hence dropped for now. This will be considered
         separately if at all required in future.
       * Re-ordered patches in the series.
      
      Sameer Pujar (7):
        ASoC: soc-core: Fix component name_prefix parsing
        ASoC: soc-pcm: Get all BEs along DAPM path
        ASoC: audio-graph: Use of_node and DAI for DPCM DAI link names
        ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM
        ASoC: audio-graph: Support empty Codec endpoint
        ASoC: audio-graph: Expose new members for asoc_simple_priv
        ASoC: audio-graph: Expose helpers from audio graph
      
       include/sound/graph_card.h           |  16 ++++
       include/sound/simple_card_utils.h    |   3 +
       include/sound/soc.h                  |   1 +
       sound/soc/generic/audio-graph-card.c | 175 ++++++++++++++++++++++++-----------
       sound/soc/soc-core.c                 |   3 +-
       sound/soc/soc-pcm.c                  |   3 +-
       6 files changed, 143 insertions(+), 58 deletions(-)
       create mode 100644 include/sound/graph_card.h
      
      --
      2.7.4
      0a142f53
    • Dan Carpenter's avatar
      ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() · 4e59dd24
      Dan Carpenter authored
      There are two issues in this function.
      
      1) We can't drop the refrences on "cpu", "codec" and "platform" before
         we take the reference.  This doesn't cause a problem on the first
         iteration because those pointers start as NULL so the of_node_put()
         is a no-op.  But on the subsequent iterations, it will lead to a use
         after free.
      
      2) If the devm_kzalloc() allocation failed then the code returned
         directly instead of cleaning up.
      
      Fixes: c1e6414c ("ASoC: qcom: common: Fix refcount imbalance on error")
      Fixes: 1e36ea36 ("ASoC: qcom: common: use modern dai_link style")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Link: https://lore.kernel.org/r/20201105125154.GA176426@mwandaSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      4e59dd24
    • Viorel Suman's avatar
      ASoC: fsl_xcvr: fix break condition · 048751de
      Viorel Suman authored
      The break condition copied by mistake as same
      as loop condition in the previous version, but must
      be the opposite. So fix it.
      Signed-off-by: default avatarViorel Suman <viorel.suman@nxp.com>
      Link: https://lore.kernel.org/r/20201102161810.902464-1-viorel.suman@oss.nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      048751de
    • Sameer Pujar's avatar
      ASoC: audio-graph: Expose helpers from audio graph · e32b100b
      Sameer Pujar authored
      This commit exposes following functions which can be used by a sound
      card driver based on generic audio graph driver. Idea is vendors can
      have a thin driver and re-use common stuff from audio graph driver.
      
       - graph_card_probe()
       - graph_parse_of()
      
      In doing so a new header file is added for above. The graph_probe()
      function is simplified by moving more common stuff to graph_parse_of().
      Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Link: https://lore.kernel.org/r/1604329814-24779-8-git-send-email-spujar@nvidia.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e32b100b