1. 02 6月, 2018 1 次提交
    • G
      ASoC: topology: Improve backwards compatibility with v4 topology files · ac9391da
      Guenter Roeck 提交于
      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: NGuenter Roeck <groeck@chromium.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      ac9391da
  2. 18 4月, 2018 2 次提交
  3. 02 3月, 2018 2 次提交
  4. 12 2月, 2018 1 次提交
  5. 17 1月, 2018 1 次提交
  6. 09 12月, 2017 1 次提交
  7. 07 12月, 2017 1 次提交
  8. 09 11月, 2017 2 次提交
  9. 25 10月, 2017 1 次提交
  10. 14 10月, 2017 1 次提交
  11. 25 9月, 2017 1 次提交
  12. 25 8月, 2017 4 次提交
  13. 03 8月, 2017 1 次提交
  14. 01 8月, 2017 1 次提交
  15. 30 6月, 2017 1 次提交
  16. 19 6月, 2017 1 次提交
  17. 07 6月, 2017 1 次提交
  18. 25 5月, 2017 2 次提交
  19. 14 5月, 2017 1 次提交
  20. 30 4月, 2017 1 次提交
  21. 22 4月, 2017 1 次提交
  22. 12 4月, 2017 1 次提交
    • J
      ASoC: Intel: Skylake: Add support for deferred DSP module bind · b8c722dd
      Jeeja KP 提交于
      Module at the end of DSP pipeline that needs to be connected to a module
      in another pipeline are represented as a PGA(leaf node) and in PGA event
      handler these modules are bound/unbounded. Modules other than PGA leaf
      can be connected directly or via switch to a module in another pipeline.
      Example: reference path.
      
      To support the deferred DSP module bind, following changes are done:
      o When the path is enabled, the destination module that needs to be
      bound may not be initialized. If the module is not initialized, add
      these modules in a deferred bind list.
      o When the destination module is initialized, check for these modules
      in deferred bind list. If found, bind them.
      o When the destination module is deleted, Unbind the modules.
      o When the source module is deleted, remove the entry from the deferred
      bind list.
      Signed-off-by: NJeeja KP <jeeja.kp@intel.com>
      Acked-by: NVinod Koul <vinod.koul@intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b8c722dd
  23. 29 3月, 2017 4 次提交
  24. 16 3月, 2017 2 次提交
  25. 14 3月, 2017 1 次提交
  26. 08 3月, 2017 1 次提交
  27. 07 3月, 2017 1 次提交
    • T
      ASoC: Intel: Skylake: fix invalid memory access due to wrong reference of pointer · d1a6fe41
      Takashi Sakamoto 提交于
      In 'skl_tplg_set_module_init_data()', a pointer to 'params' member of
      'struct skl_algo_data' is calculated, then casted to (u32 *) and assigned
      to a member of configuration data. The configuration data is passed to the
      other functions and used to process intel IPC. In this processing, the
      value of member is used to get message data, however this can bring invalid
      memory access in 'skl_set_module_params()' as a result of calculation of
      a pointer for actual message data.
      
      (sound/soc/intel/skylake/skl-topology.c)
      skl_tplg_init_pipe_modules()
      ->skl_tplg_set_module_init_data() (has this bug)
      ->skl_tplg_set_module_params()
        (sound/soc/intel/skylake/skl-messages.c)
        ->skl_set_module_params()
          ((char *)param) + data_offset
      
      This commit fixes the bug.
      
      Fixes: abb74003 ("ASoC: Intel: Skylake: Add support to configure module params")
      Signed-off-by: NTakashi Sakamoto <takashi.sakamoto@miraclelinux.com>
      Acked-by: NVinod Koul <vinod.koul@intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Cc: <stable@vger.kernel.org> # v4.5+
      d1a6fe41
  28. 17 2月, 2017 1 次提交
  29. 07 1月, 2017 1 次提交