1. 12 Apr, 2018 5 commits
    • Pierre-Louis Bossart's avatar
      ASoC: Intel: atom: fix ACPI/PCI Kconfig · 90619eb1
      Pierre-Louis Bossart authored
      The split between ACPI and PCI platforms generated issues with randconfig:
      
      with SND_SST_ATOM_HIFI2_PLATFORM_PCI=y and
      SND_SST_ATOM_HIFI2_PLATFORM=m, we get this module link failure:
      
      ERROR: "sst_context_init"
      [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
      
      ERROR: "sst_context_cleanup"
      [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
      
      ERROR: "sst_alloc_drv_context"
      [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
      
      ERROR: "intel_sst_pm" [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko]
      undefined!
      
      ERROR: "sst_configure_runtime_pm"
      [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
      
      To keep things simple, let's expose two configs for
      SND_SST_ATOM_HIFI2_PLATFORM_PCI and SND_SST_ATOM_HIFI2_PLATFORM_ACPI,
      which select a common SND_SST_ATOM_HIFI2_PLATFORM option. To avoid
      breaking existing solutions with the semantics change,
      SND_SST_ATOM_HIFI2_PLATFORM_ACPI uses "default ACPI" so that "make
      oldnoconfig" and "make olddefconfig" still work as expected.
      
      Also remove mentions of Medfield while we are at it since it was
      removed recently.
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 4772c16e ("ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI
      dependencies")
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-By: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      90619eb1
    • Arnd Bergmann's avatar
      ASoC: rsnd: mark PM functions __maybe_unused · 6f542703
      Arnd Bergmann authored
      The suspend/resume callbacks are now optional, leading to a warning
      when they are unused:
      
      sound/soc/sh/rcar/core.c:1548:12: error: 'rsnd_resume' defined but not used [-Werror=unused-function]
       static int rsnd_resume(struct device *dev)
                  ^~~~~~~~~~~
      sound/soc/sh/rcar/core.c:1539:12: error: 'rsnd_suspend' defined but not used [-Werror=unused-function]
       static int rsnd_suspend(struct device *dev)
      
      This marks the as __maybe_unused to avoid the warning.
      
      Fixes: f8a9a29c ("ASoC: rsnd: set pm_ops in hibernate-compatible way")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      6f542703
    • Nicolin Chen's avatar
      ASoC: fsl_ssi: Fix mode setting when changing channel number · fac8a5a5
      Nicolin Chen authored
      This is a partial revert (in a cleaner way) of commit ebf08ae3
      ("ASoC: fsl_ssi: Keep ssi->i2s_net updated") to fix a regression
      at test cases when switching between mono and stereo audio.
      
      The problem is that ssi->i2s_net is initialized in set_dai_fmt()
      only, while this set_dai_fmt() is only called during the dai-link
      probe(). The original patch assumed set_dai_fmt() would be called
      during every playback instance, so it failed at the overriding use
      cases.
      
      This patch adds the local variable i2s_net back to let regular use
      cases still follow the mode settings from the set_dai_fmt().
      
      Meanwhile, the original commit of keeping ssi->i2s_net updated was
      to make set_tdm_slot() clean by checking the ssi->i2s_net directly
      instead of reading SCR register. However, the change itself is not
      necessary (or even harmful) because the set_tdm_slot() might fail
      to check the slot number for Normal-Mode-None-Net settings while
      mono audio cases still need 2 slots. So this patch can also fix it.
      And it adds an extra line of comments to declare ssi->i2s_net does
      not reflect the register value but merely the initial setting from
      the set_dai_fmt().
      Reported-by: default avatarMika Penttilä <mika.penttila@nextfour.com>
      Signed-off-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
      Tested-by: default avatarMika Penttilä <mika.penttila@nextfour.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      fac8a5a5
    • Nicolin Chen's avatar
      ASoC: fsl_esai: Fix divisor calculation failure at lower ratio · c656941d
      Nicolin Chen authored
      When the desired ratio is less than 256, the savesub (tolerance)
      in the calculation would become 0. This will then fail the loop-
      search immediately without reporting any errors.
      
      But if the ratio is smaller enough, there is no need to calculate
      the tolerance because PM divisor alone is enough to get the ratio.
      
      So a simple fix could be just to set PM directly instead of going
      into the loop-search.
      Reported-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
      Tested-by: default avatarMarek Vasut <marex@denx.de>
      Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      c656941d
    • Tero Kristo's avatar
      ASoC: dmic: Fix clock parenting · 573eda59
      Tero Kristo authored
      In 4.16 the clock hierarchy got changed by
      a5c82a09 ARM: dts: omap4: add clkctrl nodes
      
      The fck of dmic is no longer a mux clock, it's parent is.
      Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org # 4.16+
      573eda59
  2. 28 Mar, 2018 35 commits