1. 05 Jun, 2018 2 commits
    • Takashi Iwai's avatar
      Merge tag 'asoc-v4.18' of... · d4d5a1cd
      Takashi Iwai authored
      Merge tag 'asoc-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Updates for v4.18
      
      This is a very big update, mainly due to a huge set of new drivers some
      of which are individually very large.  We also have a lot of fixes for
      the topology stuff, several of the users have stepped up and fixed some
      the serious issues there, and continued progress on the transition away
      from CODEC specific drivers to generic component drivers.
      
       - Many fixes for the topology code, including fixes for the half done
         v4 ABI compatibility from Guenter Roeck and other ABI fixes from
         Kirill Marinushkin.
       - Lots of cleanup for Intel platforms based on Realtek CODECs from Hans
         de Goode.
       - More followups on removing legacy CODEC things and transitioning to
         components from Morimoto-san.
       - Conversion of OMAP DMA to the new, more standard SDMA-PCM driver.
       - A series of fixes and updates to the rather elderly Cirrus Logic SoC
         drivers from Alexander Sverdlin.
       - Qualcomm DSP support from Srinivas Kandagatla.
       - New drivers for Analog SSM2305, Atmel I2S controllers, Mediatek
         MT6351, MT6797 and MT7622, Qualcomm DSPs, Realtek RT1305, RT1306 and
         RT5668 and TI TSCS454
      d4d5a1cd
    • Mark Brown's avatar
      aac521e8
  2. 04 Jun, 2018 3 commits
  3. 01 Jun, 2018 8 commits
    • Guenter Roeck's avatar
      ASoC: topology: Move skl-tplg-interface.h to uapi · 0c24fdc0
      Guenter Roeck authored
      skl-tplg-interface.h describes firmware format details for Skylake
      topology files. It is part of the ABI and should reside in the uapi
      directory.
      
      While moving the file, also replace the license boilerplate with
      the SPDX License Identifier.
      
      No functional change.
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      0c24fdc0
    • Guenter Roeck's avatar
      ASoC: topology: Move v4 manifest header data structures to uapi · 348f4822
      Guenter Roeck authored
      Topology manifest v4 is still part of the ABI. Move its data structures
      into the uapi header file.
      
      No functional change.
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      348f4822
    • Guenter Roeck's avatar
      ASoC: topology: Improve backwards compatibility with v4 topology files · ac9391da
      Guenter Roeck authored
      Commit dc31e741 ("ASoC: topology: ABI - Add the types for BE
      DAI") introduced sound topology files version 5. Initially, this
      change made the topology code incompatible with v4 topology files.
      Backwards compatibility with v4 configuration files was
      subsequently added with commit 288b8da7 ("ASoC: topology:
      Support topology file of ABI v4").
      
      Unfortunately, backwards compatibility was never fully implemented.
      
      First, the manifest size in (Skylake) v4 configuration files is set
      to 0, which causes manifest_new_ver() to bail out with error messages
      similar to the following.
      
      snd_soc_skl 0000:00:1f.3: ASoC: invalid manifest size
      snd_soc_skl 0000:00:1f.3: tplg component load failed-22
      snd_soc_skl 0000:00:1f.3: Failed to init topology!
      snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -22
      skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -22
      skl_n88l25_m98357a: probe of skl_n88l25_m98357a failed with error -22
      
      After this problem is fixed, the following error message is seen instead.
      
      snd_soc_skl 0000:00:1f.3: ASoC: old version of manifest
      snd_soc_skl 0000:00:1f.3: Invalid descriptor token 1093938482
      snd_soc_skl 0000:00:1f.3: ASoC: failed to load widget media0_in cpr 0
      snd_soc_skl 0000:00:1f.3: tPlg component load failed-22
      
      This message is seen because backwards compatibility for loading widgets
      was never implemented.
      
      The lack of audio support when running the upstream kernel on recent
      Chromebooks has been reported in various forums, and can be traced back
      to this problem. Attempts to fix the problem, usually by providing v5
      configuration files, were only partially successful.
      
      Let's implement backward compatibility properly to solve the problem
      for good.
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      ac9391da
    • Ben Hutchings's avatar
      ALSA: pci/hda: Remove unused, broken, header file · ceec4684
      Ben Hutchings authored
      sound/pci/hda/local.h seems to be an earlier version of
      sound/hda/local.h; it was added at the same time but doesn't seem to
      have ever been used (within the git history).  Most of its macros
      depend on a hdac_read_parm() function which is not defined anywhere.
      Signed-off-by: default avatarBen Hutchings <ben.hutchings@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ceec4684
    • Steven Eckhoff's avatar
      ASoC: TSCS454: Add Support · 0e725b48
      Steven Eckhoff authored
      Currently there is no support for Tempo Semiconductor's TSCS454 CODEC.
      
      Add support for it.
      Signed-off-by: default avatarSteven Eckhoff <steven.eckhoff.opensource@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      0e725b48
    • Mac Chiang's avatar
      ASoC: Intel: kbl: Move codec sysclk config to codec_init function · 56c3a953
      Mac Chiang authored
      On APL, commit fd0f2375
      ("ASoC: Intel: bxt: Move codec sysclk config to codec_init function")
      fixed an issue related to jack detection.
      
      The MCLK for DA7219 does not change in this platform, but is
      currently being configured everytime as part of the platform_clock
      event handler for DAPM. The upshot of this is that we have
      unnecessary calls to this function, and it also means that if
      a stream hasn't yet been started, DA7219 driver does not have the
      correct MCLK rates programmed and so the HP detection feature does
      not operate as expected.
      
      The same fix is needed on KBL.
      
      This patch rectifies this issue by moving the sysclk call to
      codec_init function so it's only called once at initialisation.
      Signed-off-by: default avatarMac Chiang <mac.chiang@intel.com>
      Acked-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      56c3a953
    • Daniel Mack's avatar
      ASoC: simple-card: set cpu dai clk in hw_params · e9be4ffd
      Daniel Mack authored
      The simple-card driver currently accepts a clock node in the cpu dai
      sub-node and only uses it as an alternative to the
      'system-clock-frequency' property to get the current frequency.
      
      This patch adds another use of the passed clock node. If mclk-fs is
      specified, the clocks in cpu and codec dai sub-nodes will be set to
      the calculated rate (stream rate * mclk_fs) in hw_params.
      
      This allows platforms to pass tuneable clocks as phandle that will
      automatically be set to the right rates.
      Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      e9be4ffd
    • Bo Chen's avatar
      ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream() · a3aa60d5
      Bo Chen authored
      When 'kzalloc()' fails in 'snd_hda_attach_pcm_stream()', a new pcm instance is
      created without setting its operators via 'snd_pcm_set_ops()'. Following
      operations on the new pcm instance can trigger kernel null pointer dereferences
      and cause kernel oops.
      
      This bug was found with my work on building a gray-box fault-injection tool for
      linux-kernel-module binaries. A kernel null pointer dereference was confirmed
      from line 'substream->ops->open()' in function 'snd_pcm_open_substream()' in
      file 'sound/core/pcm_native.c'.
      
      This patch fixes the bug by calling 'snd_device_free()' in the error handling
      path of 'kzalloc()', which removes the new pcm instance from the snd card before
      returns with an error code.
      Signed-off-by: default avatarBo Chen <chenbo@pdx.edu>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a3aa60d5
  4. 31 May, 2018 11 commits
  5. 30 May, 2018 5 commits
  6. 29 May, 2018 11 commits