1. 23 10月, 2017 5 次提交
    • K
      ASoC: snd_soc_component_driver has non_legacy_dai_naming · 69941bab
      Kuninori Morimoto 提交于
      Codec will be replaced into Component, then Codec side
      doesn't use legacy_dai_naming on snd_soc_register_dais().
      
      This patch adds new non_legacy_dai_naming flag on Component driver
      and use converted its value for snd_soc_register_dais().
      
      When Codec is replaced into Component, Codec driver needs
      to have non_legacy_dai_naming = 1 flags.
      Existing CPU side of course doesn't have this flag, thus CPU calls
      it as true.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      69941bab
    • K
      ASoC: snd_soc_component_driver has endianness · 273d778e
      Kuninori Morimoto 提交于
      Codec will be replaced into Component, then Codec side only
      needs to call fixup_codec_formats() at this point.
      
      This patch adds new endianness flag on Component driver
      and call convert_endianness_formats() (= was fixup_codec_format())
      if endianness was true.
      
      When Codec is replaced into Component, Codec driver needs
      to have endianness = 1 flags.
      Existing CPU side of course doesn't have this flag, thus CPU doesn't
      call it.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      273d778e
    • K
      ASoC: snd_soc_component_driver has pmdown_time · fbb16563
      Kuninori Morimoto 提交于
      Current snd_soc_runtime_ignore_pmdown_time() tallys all Codec and
      CPU's "ignore_pmdown_time". Now, CPU (= via compoent)
      ignore_pmdown_time is fixed as "true". Codec's one is copied from Codec
      driver. This means Codec side default is "false".
      
      Current all Codec driver will be replaced into Component, thus, we can
      use for_each_rtdcom() for this totalization. This patch adds new
      "pmdown_time" on Component driver. Its inverted value will be used
      for this "ignore" totalizaton.
      
      Of course all existing Component driver doesn't have its settings now,
      thus, all existing "pmdown_time" is "false". This means all
      Components will ignore pmdown time. This is current CPU behavior.
      To keep compatibility, snd_soc_runtime_ignore_pmdown_time() totalize
      Component's inverted "pmdown_time" (= total will be true) and
      Codec's "ignore_pmdown_time" (= depends on Codec driver settings).
      Because It is using AND operation, its result is based on Codec driver
      settings only.
      This means this operation can keep compatibility and doesn't have
      nonconformity.
      
      When we replace Codec to Component, the driver which has
      ".ignore_pmdown_time = true" will be just removed,
      and the driver which doesn't have it will have new
      ".pmdown_time = true".
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      fbb16563
    • K
      ASoC: snd_soc_component_driver has snd_compr_ops · 9e7e3738
      Kuninori Morimoto 提交于
      Platform will be replaced into Component in the future.
      snd_soc_platform_driver has snd_compr_ops, but snd_soc_component_driver
      doesn't have. To prepare for replacing, this patch adds snd_compr_ops on
      component driver.
      
      platform will be replaced into component, and its code will be removed.
      But during replacing, both platform and component process code exists.
      To keep compatibility, to avoid platform NULL access and to avoid
      platform/component duplicate operation during replacing process, this
      patch has such code. Some of this code will be removed when platform was
      removed.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9e7e3738
    • K
      ASoC: snd_soc_component_driver has snd_pcm_ops · b8135864
      Kuninori Morimoto 提交于
      Platform will be replaced into Component in the future.
      snd_soc_platform_driver has snd_pcm_ops, but snd_soc_component_driver
      doesn't have it. To prepare for replacing, this patch adds snd_pcm_ops
      on component driver.
      
      platform will be replaced into component, and its code will be removed.
      But during replacing, both platform and component process code exists.
      To keep compatibility, to avoid platform NULL access and to avoid
      platform/component duplicate operation during replacing process, this
      patch has such code. Some of this code will be removed when platform was
      removed.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b8135864
  2. 10 10月, 2017 1 次提交
  3. 04 10月, 2017 1 次提交
    • K
      ASoC: soc-core: add component lookup functions · 7dd5d0d9
      Kuninori Morimoto 提交于
      ALSA SoC platform/codec will be replaced to component soon.
      This means 1 device might have multiple components. But current
      unregister component function only checks "dev" to find it.
      This means, unexpected component might be unregistered by current
      function.
      But, it is no problem if driver registered only 1 component.
      
      To prepare avoid this issue, this patch adds new component
      lookup function. it finds component by "dev" and "driver name".
      
      Here, the reason why it uses "driver name" is that "component name"
      was created by fmt_single_name() and difficult to use it from driver.
      Driver of course knows its "driver name", thus, using it is more easy.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      7dd5d0d9
  4. 28 9月, 2017 2 次提交
    • K
      ASoC: add Component level set_bias_level · 7ba236ce
      Kuninori Morimoto 提交于
      In current ALSA SoC, Codec only has set_bias_level feature.
      Codec will be merged into Component in next generation ALSA SoC,
      thus current Codec specific feature need to be merged into it.
      This is glue patch for it.
      
      Codec driver has .idle_bias_off for dapm bias. But Component
      driver doesn't have it, and dapm->idle_bias_off is set as "true".
      To keep compatibility, this patch adds "idle_bias_on" instead of
      ".idle_bias_off" on Component driver.
      dapm->idle_bias_off will be set by inverted idle_bias_on.
      
      When we replace Codec to Component, the driver which has
      ".idle_bias_off = true" is just remove it,
      and the driver which doesn't have it will have new
      ".idle_bias_on = true".
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      7ba236ce
    • K
      ASoC: add Component level pcm_new/pcm_free v2 · f523aceb
      Kuninori Morimoto 提交于
      In current ALSA SoC, Platform only has pcm_new/pcm_free feature,
      but it should be supported on Component level. This patch adds it.
      
      The v1 was added commit 99b04f4c ("ASoC: add Component level
      pcm_new/pcm_free") but it called all "card" connected component's
      pcm_new/free, it was wrong.
      This patch calls "rtd" connected component.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      f523aceb
  5. 20 9月, 2017 1 次提交
  6. 04 9月, 2017 1 次提交
  7. 01 9月, 2017 1 次提交
  8. 31 8月, 2017 4 次提交
  9. 25 8月, 2017 3 次提交
  10. 16 8月, 2017 1 次提交
  11. 10 8月, 2017 2 次提交
  12. 07 8月, 2017 2 次提交
  13. 04 8月, 2017 1 次提交
  14. 02 8月, 2017 1 次提交
  15. 31 7月, 2017 1 次提交
  16. 26 7月, 2017 1 次提交
  17. 19 7月, 2017 1 次提交
  18. 17 7月, 2017 3 次提交
  19. 30 6月, 2017 1 次提交
  20. 29 6月, 2017 3 次提交
  21. 27 6月, 2017 1 次提交
    • T
      ALSA: pcm: Add an ioctl to specify the supported protocol version · 4b671f57
      Takashi Iwai 提交于
      We have an ioctl to inform the PCM protocol version the running kernel
      supports, but there is no way to know which protocol version the
      user-space can understand.  This lack of information caused headaches
      in the past when we tried to extend the ABI.  For example, because we
      couldn't guarantee the validity of the reserved bytes, we had to
      introduce a new ioctl SNDRV_PCM_IOCTL_STATUS_EXT for assigning a few
      new fields in the formerly reserved bits.  If we could know that it's
      a new alsa-lib, we could assume the availability of the new fields,
      thus we could have reused the existing SNDRV_PCM_IOCTL_STATUS.
      
      In order to improve the ABI extensibility, this patch adds a new ioctl
      for user-space to inform its supporting protocol version to the
      kernel.  By reporting the supported protocol from user-space, the
      kernel can judge which feature should be provided and which not.
      
      With the addition of the new ioctl, the PCM protocol version is bumped
      to 2.0.14, too.  User-space checks the kernel protocol version via
      SNDRV_PCM_INFO_PVERSION, then it sets the supported version back via
      SNDRV_PCM_INFO_USER_PVERSION.
      Reviewed-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4b671f57
  22. 17 6月, 2017 1 次提交
  23. 16 6月, 2017 2 次提交