1. 23 4月, 2020 2 次提交
  2. 22 4月, 2020 3 次提交
  3. 21 4月, 2020 3 次提交
  4. 20 4月, 2020 10 次提交
    • Y
      ASoC: wm89xx: Add missing dependency · 9bff3d30
      YueHaibing 提交于
      sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
      wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
      sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
      wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
      sound/soc/codecs/wm8900.o: In function `wm8900_exit':
      wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
      sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
      wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
      sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
      wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
      sound/soc/codecs/wm8988.o: In function `wm8988_exit':
      wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
      sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
      wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
      sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
      wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
      sound/soc/codecs/wm8995.o: In function `wm8995_exit':
      wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
      
      Add SND_SOC_I2C_AND_SPI dependency to fix this.
      
      Fixes: ea00d952 ("ASoC: Use imply for SND_SOC_ALL_CODECS")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Acked-by: NCharles Keepax <ckeepax@opensource.cirrus.com>
      Link: https://lore.kernel.org/r/20200420125343.20920-1-yuehaibing@huawei.comSigned-off-by: NMark Brown <broonie@kernel.org>
      9bff3d30
    • M
      Merge series "ASoC: rsnd: multi-SSI setup fixes" from Matthias Blankertz... · bce32169
      Mark Brown 提交于
      Merge series "ASoC: rsnd: multi-SSI setup fixes" from Matthias Blankertz <matthias.blankertz@cetitec.com>:
      
      Fix rsnd_dai_call() operations being performed twice for the master SSI
      in multi-SSI setups, and fix the rsnd_ssi_stop operation for multi-SSI
      setups.
      The only visible effect of these issues was some "status check failed"
      spam when the rsnd_ssi_stop was called, but overall the code is cleaner
      now, and some questionable writes to the SSICR register which did not
      lead to any observable misbehaviour but were contrary to the datasheet
      are fixed.
      
      Mark:
      The first patch kind of reverts my "ASoC: rsnd: Fix parent SSI
      start/stop in multi-SSI mode" from a few days ago and achieves the same
      effect in a simpler fashion, if you would prefer a clean patch series
      based on v5.6 drop me a note.
      
      Greetings,
      	Matthias
      
      Matthias Blankertz (2):
        ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent
        ASoC: rsnd: Fix "status check failed" spam for multi-SSI
      
       sound/soc/sh/rcar/ssi.c | 18 +++++++++++++-----
       1 file changed, 13 insertions(+), 5 deletions(-)
      
      base-commit: 15a5760c
      --
      2.26.1
      bce32169
    • M
      Merge series "ASoC: meson: fix codec-to-codec link setup" from Jerome Brunet... · 036889b2
      Mark Brown 提交于
      Merge series "ASoC: meson: fix codec-to-codec link setup" from Jerome Brunet <jbrunet@baylibre.com>:
      
      This patchset fixes the problem reported by Marc in this thread [0]
      The problem was due to an error in the meson card drivers which had
      the "no_pcm" dai_link property set on codec-to-codec links
      
      [0]: https://lore.kernel.org/r/20200417122732.GC5315@sirena.org.uk
      
      Jerome Brunet (2):
        ASoC: meson: axg-card: fix codec-to-codec link setup
        ASoC: meson: gx-card: fix codec-to-codec link setup
      
       sound/soc/meson/axg-card.c | 4 +++-
       sound/soc/meson/gx-card.c  | 4 +++-
       2 files changed, 6 insertions(+), 2 deletions(-)
      
      --
      2.25.2
      036889b2
    • G
      ASoC: dapm: fixup dapm kcontrol widget · ebf14747
      Gyeongtaek Lee 提交于
      snd_soc_dapm_kcontrol widget which is created by autodisable control
      should contain correct on_val, mask and shift because it is set when the
      widget is powered and changed value is applied on registers by following
      code in dapm_seq_run_coalesced().
      
      		mask |= w->mask << w->shift;
      		if (w->power)
      			value |= w->on_val << w->shift;
      		else
      			value |= w->off_val << w->shift;
      
      Shift on the mask in dapm_kcontrol_data_alloc() is removed to prevent
      double shift.
      And, on_val in dapm_kcontrol_set_value() is modified to get correct
      value in the dapm_seq_run_coalesced().
      Signed-off-by: NGyeongtaek Lee <gt82.lee@samsung.com>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/000001d61537$b212f620$1638e260$@samsung.comSigned-off-by: NMark Brown <broonie@kernel.org>
      ebf14747
    • M
      ASoC: rsnd: Fix "status check failed" spam for multi-SSI · 54cb6221
      Matthias Blankertz 提交于
      Fix the rsnd_ssi_stop function to skip disabling the individual SSIs of
      a multi-SSI setup, as the actual stop is performed by rsnd_ssiu_stop_gen2
      - the same logic as in rsnd_ssi_start. The attempt to disable these SSIs
      was harmless, but caused a "status check failed" message to be printed
      for every SSI in the multi-SSI setup.
      The disabling of interrupts is still performed, as they are enabled for
      all SSIs in rsnd_ssi_init, but care is taken to not accidentally set the
      EN bit for an SSI where it was not set by rsnd_ssi_start.
      Signed-off-by: NMatthias Blankertz <matthias.blankertz@cetitec.com>
      Acked-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Link: https://lore.kernel.org/r/20200417153017.1744454-3-matthias.blankertz@cetitec.comSigned-off-by: NMark Brown <broonie@kernel.org>
      54cb6221
    • M
      ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent · 0c258657
      Matthias Blankertz 提交于
      The master SSI of a multi-SSI setup was attached both to the
      RSND_MOD_SSI slot and the RSND_MOD_SSIP slot of the rsnd_dai_stream.
      This is not correct wrt. the meaning of being "parent" in the rest of
      the SSI code, where it seems to indicate an SSI that provides clock and
      word sync but is not transmitting/receiving audio data.
      
      Not treating the multi-SSI master as parent allows removal of various
      special cases to the rsnd_ssi_is_parent conditions introduced in commit
      a09fb3f2 ("ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode").
      It also fixes the issue that operations performed via rsnd_dai_call()
      were performed twice for the master SSI. This caused some "status check
      failed" spam when stopping a multi-SSI stream as the driver attempted to
      stop the master SSI twice.
      Signed-off-by: NMatthias Blankertz <matthias.blankertz@cetitec.com>
      Acked-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Link: https://lore.kernel.org/r/20200417153017.1744454-2-matthias.blankertz@cetitec.comSigned-off-by: NMark Brown <broonie@kernel.org>
      0c258657
    • J
      ASoC: meson: gx-card: fix codec-to-codec link setup · de911b4e
      Jerome Brunet 提交于
      Since the addition of commit 9b5db059 ("ASoC: soc-pcm: dpcm: Only allow
      playback/capture if supported"), meson-axg cards which have codec-to-codec
      links fail to init and Oops.
      
        Unable to handle kernel NULL pointer dereference at virtual address 0000000000000128
        Internal error: Oops: 96000044 [#1] PREEMPT SMP
        CPU: 3 PID: 1582 Comm: arecord Not tainted 5.7.0-rc1
        pc : invalidate_paths_ep+0x30/0xe0
        lr : snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
        Call trace:
         invalidate_paths_ep+0x30/0xe0
         snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
         dpcm_path_get+0x38/0xd0
         dpcm_fe_dai_open+0x70/0x920
         snd_pcm_open_substream+0x564/0x840
         snd_pcm_open+0xfc/0x228
         snd_pcm_capture_open+0x4c/0x78
         snd_open+0xac/0x1a8
         ...
      
      While this error was initially reported the axg-card type, it also applies
      to the gx-card type.
      
      While initiliazing the links, ASoC treats the codec-to-codec links of this
      card type as a DPCM backend. This error eventually leads to the Oops.
      
      Most of the card driver code is shared between DPCM backends and
      codec-to-codec links. The property "no_pcm" marking DCPM BE was left set on
      codec-to-codec links, leading to this problem. This commit fixes that.
      
      Fixes: e37a0c31 ("ASoC: meson: gx: add sound card support")
      Signed-off-by: NJerome Brunet <jbrunet@baylibre.com>
      Link: https://lore.kernel.org/r/20200420114511.450560-3-jbrunet@baylibre.comSigned-off-by: NMark Brown <broonie@kernel.org>
      de911b4e
    • J
      ASoC: meson: axg-card: fix codec-to-codec link setup · 11642842
      Jerome Brunet 提交于
      Since the addition of commit 9b5db059 ("ASoC: soc-pcm: dpcm: Only allow
      playback/capture if supported"), meson-axg cards which have codec-to-codec
      links fail to init and Oops:
      
        Unable to handle kernel NULL pointer dereference at virtual address 0000000000000128
        Internal error: Oops: 96000044 [#1] PREEMPT SMP
        CPU: 3 PID: 1582 Comm: arecord Not tainted 5.7.0-rc1
        pc : invalidate_paths_ep+0x30/0xe0
        lr : snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
        Call trace:
         invalidate_paths_ep+0x30/0xe0
         snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
         dpcm_path_get+0x38/0xd0
         dpcm_fe_dai_open+0x70/0x920
         snd_pcm_open_substream+0x564/0x840
         snd_pcm_open+0xfc/0x228
         snd_pcm_capture_open+0x4c/0x78
         snd_open+0xac/0x1a8
         ...
      
      While initiliazing the links, ASoC treats the codec-to-codec links of this
      card type as a DPCM backend. This error eventually leads to the Oops.
      
      Most of the card driver code is shared between DPCM backends and
      codec-to-codec links. The property "no_pcm" marking DCPM BE was left set on
      codec-to-codec links, leading to this problem. This commit fixes that.
      
      Fixes: 0a8f1117 ("ASoC: meson: axg-card: add basic codec-to-codec link support")
      Signed-off-by: NJerome Brunet <jbrunet@baylibre.com>
      Link: https://lore.kernel.org/r/20200420114511.450560-2-jbrunet@baylibre.comSigned-off-by: NMark Brown <broonie@kernel.org>
      11642842
    • T
      ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos · a43c1c41
      Takashi Iwai 提交于
      TRX40 mobos from MSI and others with ALC1220-VB USB-audio device need
      yet more quirks for the proper control names.
      
      This patch provides the mapping table for those boards, correcting the
      FU names for volume and mute controls as well as the terminal names
      for jack controls.  It also improves build_connector_control() not to
      add the directional suffix blindly if the string is given from the
      mapping table.
      
      With this patch applied, the new UCM profiles will be effective.
      
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206873
      Link: https://lore.kernel.org/r/20200420062036.28567-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      a43c1c41
    • T
      ALSA: hda: Remove ASUS ROG Zenith from the blacklist · a8cf44f0
      Takashi Iwai 提交于
      The commit 3c6fd1f0 ("ALSA: hda: Add driver blacklist") added a
      new blacklist for the devices that are known to have empty codecs, and
      one of the entries was ASUS ROG Zenith II (PCI SSID 1043:874f).
      However, it turned out that the very same PCI SSID is used for the
      previous model that does have the valid HD-audio codecs and the change
      broke the sound on it.
      
      This patch reverts the corresponding entry as a temporary solution.
      Although Zenith II and co will see get the empty HD-audio bus again,
      it'd be merely resource wastes and won't affect the functionality,
      so it's no end of the world.  We'll need to address this later,
      e.g. by either switching to DMI string matching or using PCI ID &
      SSID pairs.
      
      Fixes: 3c6fd1f0 ("ALSA: hda: Add driver blacklist")
      Reported-by: NJohnathan Smithinovic <johnathan.smithinovic@gmx.at>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20200419071926.22683-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      a8cf44f0
  5. 19 4月, 2020 2 次提交
  6. 18 4月, 2020 2 次提交
  7. 17 4月, 2020 1 次提交
  8. 16 4月, 2020 7 次提交
  9. 15 4月, 2020 2 次提交
    • S
      ASoC: soc-pcm: dpcm: Only allow playback/capture if supported · 9b5db059
      Stephan Gerhold 提交于
      At the moment, PCM devices for DPCM are only created based on the
      dpcm_playback/capture parameters of the DAI link, without considering
      if the CPU/FE DAI is actually capable of playback/capture.
      
      Normally the dpcm_playback/capture parameter should match the
      capabilities of the CPU DAI. However, there is no way to set that
      parameter from the device tree (e.g. with simple-audio-card or
      qcom sound cards). dpcm_playback/capture are always both set to 1.
      
      This causes problems when the CPU DAI does only support playback
      or capture. Attemting to open that PCM device with an unsupported
      stream type then results in a null pointer dereference:
      
          Unable to handle kernel NULL pointer dereference at virtual address 0000000000000128
          Internal error: Oops: 96000044 [#1] PREEMPT SMP
          CPU: 3 PID: 1582 Comm: arecord Not tainted 5.7.0-rc1
          pc : invalidate_paths_ep+0x30/0xe0
          lr : snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
          Call trace:
           invalidate_paths_ep+0x30/0xe0
           snd_soc_dapm_dai_get_connected_widgets+0x170/0x1a8
           dpcm_path_get+0x38/0xd0
           dpcm_fe_dai_open+0x70/0x920
           snd_pcm_open_substream+0x564/0x840
           snd_pcm_open+0xfc/0x228
           snd_pcm_capture_open+0x4c/0x78
           snd_open+0xac/0x1a8
           ...
      
      ... because the DAI playback/capture_widget is not set in that case.
      
      We could add checks there to fix the problem (maybe we should
      anyway), but much easier is to not expose the device as
      playback/capture in the first place. Attemting to use that
      device would always fail later anyway.
      
      Add checks for snd_soc_dai_stream_valid() to the DPCM case
      to avoid exposing playback/capture if it is not supported.
      Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
      Link: https://lore.kernel.org/r/20200415104928.86091-1-stephan@gerhold.netSigned-off-by: NMark Brown <broonie@kernel.org>
      9b5db059
    • S
      ASoC: sgtl5000: Fix VAG power-on handling · aa781273
      Sebastian Reichel 提交于
      As mentioned slightly out of patch context in the code, there
      is no reset routine for the chip. On boards where the chip is
      supplied by a fixed regulator, it might not even be resetted
      during (e.g. watchdog) reboot and can be in any state.
      
      If the device is probed with VAG enabled, the driver's probe
      routine will generate a loud pop sound when ANA_POWER is
      being programmed. Avoid this by properly disabling just the
      VAG bit and waiting the required power down time.
      Signed-off-by: NSebastian Reichel <sebastian.reichel@collabora.com>
      Reviewed-by: NFabio Estevam <festivem@gmail.com>
      Link: https://lore.kernel.org/r/20200414181140.145825-1-sebastian.reichel@collabora.comSigned-off-by: NMark Brown <broonie@kernel.org>
      aa781273
  10. 14 4月, 2020 8 次提交